aboutsummaryrefslogtreecommitdiff
path: root/include/cru/platform/gui/sdl/Window.h
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-11-29 23:03:02 +0800
committerYuqian Yang <crupest@crupest.life>2025-11-29 23:03:02 +0800
commit7d20efa165289db22c7ff620f1c59f422a025820 (patch)
tree13ac01b68878f83eade98937ffb462f9394d23c5 /include/cru/platform/gui/sdl/Window.h
parentc9a461c52b37156f14944caa085bb794c184e5e3 (diff)
downloadcru-7d20efa165289db22c7ff620f1c59f422a025820.tar.gz
cru-7d20efa165289db22c7ff620f1c59f422a025820.tar.bz2
cru-7d20efa165289db22c7ff620f1c59f422a025820.zip
Impl sdl input method context.
Diffstat (limited to 'include/cru/platform/gui/sdl/Window.h')
-rw-r--r--include/cru/platform/gui/sdl/Window.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/cru/platform/gui/sdl/Window.h b/include/cru/platform/gui/sdl/Window.h
index 58dd9785..aaa0c725 100644
--- a/include/cru/platform/gui/sdl/Window.h
+++ b/include/cru/platform/gui/sdl/Window.h
@@ -6,10 +6,10 @@
#include <SDL3/SDL_events.h>
#include <SDL3/SDL_video.h>
-#include <optional>
namespace cru::platform::gui::sdl {
class SdlUiApplication;
+class SdlInputMethodContext;
class SdlWindow : public SdlResource, public virtual INativeWindow {
CRU_DEFINE_CLASS_LOG_TAG("cru::platform::gui::xcb::SdlWindow")
@@ -79,7 +79,8 @@ class SdlWindow : public SdlResource, public virtual INativeWindow {
IInputMethodContext* GetInputMethodContext() override;
public:
- std::optional<SDL_Window*> GetSdlWindow();
+ SDL_Window* GetSdlWindow();
+ SDL_WindowID GetSdlWindowId();
SdlUiApplication* GetSdlUiApplication();
float GetDisplayScale();
Thickness GetBorderThickness();
@@ -104,5 +105,7 @@ class SdlWindow : public SdlResource, public virtual INativeWindow {
WindowStyleFlag style_;
std::string title_;
std::shared_ptr<ICursor> cursor_;
+
+ std::unique_ptr<SdlInputMethodContext> input_context_;
};
} // namespace cru::platform::gui::sdl