hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/src/ui/workspace.h
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-08-23 22:39:47 +0200
committerhachem <im@hachem.wtf>2026-08-23 22:39:47 +0200
commit4a72c63f74bc055c29f397f54fca8e9613f4474d (patch)
tree5b6f96f22a67f4e303ae72b6e9763d25a6dadd16 /src/ui/workspace.h
parent6ee03a2ea3c764f0364b2e61beb6812226facd4c (diff)
feat: wire the scene into the simulation engine
Diffstat (limited to 'src/ui/workspace.h')
-rw-r--r--src/ui/workspace.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/ui/workspace.h b/src/ui/workspace.h
index 7806f5c..04cc5db 100644
--- a/src/ui/workspace.h
+++ b/src/ui/workspace.h
@@ -7,10 +7,22 @@ namespace Donut
{
class Scene;
+ struct AppActions
+ {
+ virtual ~AppActions() = default;
+ virtual auto set_resolution(int w, int h) -> void = 0;
+ virtual auto set_fullscreen(bool on) -> void = 0;
+ virtual auto set_vsync(bool on) -> void = 0;
+ virtual auto set_ui_scale(float scale) -> void = 0;
+ virtual auto get_window_size(int& w, int& h) const -> void = 0;
+ virtual auto is_fullscreen() const -> bool = 0;
+ };
+
struct UIContext
{
Scene& scene;
std::string device_name;
+ AppActions& actions;
};
class Workspace