#pragma once #include "render_2D/plot/Plot_Core.h" #include "render_2D/plottable/Performance_Overlay.h" #include "render_2D/renderable/Renderable.h" #include #include namespace adminive { template 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; }; class Gallery_Session_Control final { public: Gallery_Session_Control(Plot_Core& plot, Renderable& renderable, Gallery_Feedback_Policy& feedback) noexcept : plot_(plot), renderable_(renderable), feedback_(feedback) {} private: Plot_Core& plot_; Renderable& renderable_; Gallery_Feedback_Policy& feedback_; template friend struct ::adminive::Type_Descriptor; }; } // namespace renderive::web