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 | 90ff03c2fdffc09ddb26bdc7e32c3968a6d274fb (patch) | |
| tree | 2fdb1b6f54c4e380af43c75f1051935587a87faa /src/core/application.h | |
| parent | 5ea6c14c0e14bacee766ce1280ab2c71564e05ec (diff) | |
[feat]: wire in scene into the simulation engine
Diffstat (limited to 'src/core/application.h')
| -rw-r--r-- | src/core/application.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/core/application.h b/src/core/application.h index cbd741d..10a375f 100644 --- a/src/core/application.h +++ b/src/core/application.h @@ -19,7 +19,7 @@ namespace Donut // RenderPath (device-side rendering) and the UILayer (tabbed workspaces), and // runs the frame loop that wires them together. All the rendering lives in the // RHI + shared renderers; all the editing lives in the Scene + workspaces. - class Application + class Application : public AppActions { public: Application(const std::string& name = "Donut", @@ -32,6 +32,14 @@ namespace Donut auto get_window() -> Window& { return *m_window; } static auto get() -> Application& { return *s_instance; } + // AppActions — window/device changes requested by the Setup workspace. + auto set_resolution(int w, int h) -> void override; + auto set_fullscreen(bool on) -> void override; + auto set_vsync(bool on) -> void override; + auto set_ui_scale(float scale) -> void override; + auto get_window_size(int& w, int& h) const -> void override; + auto is_fullscreen() const -> bool override; + private: auto on_init() -> void; auto on_shutdown() -> void; @@ -54,6 +62,9 @@ namespace Donut double m_start_time = 0.0; bool m_user_moving = false; + // windowed-mode geometry saved across a fullscreen toggle + int m_windowed_x = 100, m_windowed_y = 100, m_windowed_w = 1280, m_windowed_h = 720; + bool m_running = true; bool m_minimized = false; |
