diff options
| author | hachem <im@hachem.wtf> | 2026-08-23 22:39:47 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-08-23 22:39:47 +0200 |
| commit | 4a72c63f74bc055c29f397f54fca8e9613f4474d (patch) | |
| tree | 5b6f96f22a67f4e303ae72b6e9763d25a6dadd16 /src/ui/workspace.h | |
| parent | 6ee03a2ea3c764f0364b2e61beb6812226facd4c (diff) | |
feat: wire the scene into the simulation engine
Diffstat (limited to 'src/ui/workspace.h')
| -rw-r--r-- | src/ui/workspace.h | 12 |
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 |
