diff options
Diffstat (limited to 'source/application')
-rw-r--r-- | source/application/StarApplicationController.hpp | 2 | ||||
-rw-r--r-- | source/application/StarMainApplication_sdl.cpp | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/source/application/StarApplicationController.hpp b/source/application/StarApplicationController.hpp index 9ae8a87..09ca086 100644 --- a/source/application/StarApplicationController.hpp +++ b/source/application/StarApplicationController.hpp @@ -59,6 +59,8 @@ public: virtual void setClipboard(String text) = 0; virtual Maybe<String> getClipboard() = 0; + virtual bool isFocused() const = 0; + // Returns the latest actual measured update and render rate, which may be // different than the target update rate. virtual float updateRate() const = 0; diff --git a/source/application/StarMainApplication_sdl.cpp b/source/application/StarMainApplication_sdl.cpp index 557e02d..e0dfd37 100644 --- a/source/application/StarMainApplication_sdl.cpp +++ b/source/application/StarMainApplication_sdl.cpp @@ -521,6 +521,10 @@ private: SDL_SetClipboardText(text.utf8Ptr()); } + bool isFocused() const override { + return (SDL_GetWindowFlags(parent->m_sdlWindow) & (SDL_WINDOW_INPUT_FOCUS | SDL_WINDOW_MOUSE_FOCUS)) != 0; + } + void setTargetUpdateRate(float targetUpdateRate) override { parent->m_updateTicker.setTargetTickRate(targetUpdateRate); } |