#pragma once #include "Web_Event.h" #include #include #include namespace renderive::web { enum class Web_Response_Type : std::uint8_t { Pixels, Json }; struct Web_Response { Web_Response_Type type = Web_Response_Type::Pixels; std::string payload; }; class Web_Plot_Session final { public: Web_Plot_Session(); ~Web_Plot_Session(); Web_Plot_Session(const Web_Plot_Session&) = delete; Web_Plot_Session& operator=(const Web_Plot_Session&) = delete; [[nodiscard]] std::optional handle(const Web_Event& event); private: struct Impl; std::unique_ptr impl_; }; } // namespace renderive::web