Files
Renderive/web_server/app/Gallery_Session_Control.h
T
2026-08-12 01:44:13 +08:00

44 lines
1.0 KiB
C++

#pragma once
#include "render_2D/plot/Plot_Core.h"
#include "render_2D/plottable/Performance_Overlay.h"
#include "render_2D/renderable/Renderable.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;
};
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 <class T>
friend struct ::adminive::Type_Descriptor;
};
} // namespace renderive::web