33 lines
976 B
C++
33 lines
976 B
C++
#pragma once
|
|
#include "render_2D/plottable/Performance_Overlay.h"
|
|
#include "render_2D/renderable/Renderable.h"
|
|
#include "render_2D/scene/Plot_Scene.h"
|
|
#include <memory>
|
|
#include <string>
|
|
namespace adminive {
|
|
template <class T>
|
|
struct Type_Descriptor;
|
|
}
|
|
namespace renderive::web {
|
|
struct Gallery_Feedback_Policy {
|
|
bool enabled{true};
|
|
bool pixel{};
|
|
bool presentation{true};
|
|
bool manual{};
|
|
double manual_fps{60.0};
|
|
friend bool operator==(const Gallery_Feedback_Policy&, const Gallery_Feedback_Policy&) = default;
|
|
};
|
|
template <class Scene_Type>
|
|
class Gallery_Session_Control final {
|
|
public:
|
|
Gallery_Session_Control(Scene_Type& scene, Renderable& renderable, Gallery_Feedback_Policy& feedback) noexcept
|
|
: scene_(scene), renderable_(renderable), feedback_(feedback) {}
|
|
private:
|
|
Scene_Type& scene_;
|
|
Renderable& renderable_;
|
|
Gallery_Feedback_Policy& feedback_;
|
|
template <class T>
|
|
friend struct ::adminive::Type_Descriptor;
|
|
};
|
|
}
|