aboutsummaryrefslogtreecommitdiff
path: root/include/cru/platform
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/platform')
-rw-r--r--include/cru/platform/native/base.hpp1
-rw-r--r--include/cru/platform/native/input_method.hpp6
-rw-r--r--include/cru/platform/native/ui_application.hpp1
3 files changed, 5 insertions, 3 deletions
diff --git a/include/cru/platform/native/base.hpp b/include/cru/platform/native/base.hpp
index 883a9450..3cbf77c5 100644
--- a/include/cru/platform/native/base.hpp
+++ b/include/cru/platform/native/base.hpp
@@ -11,6 +11,7 @@ struct IUiApplication;
struct INativeWindow;
struct INativeWindowResolver;
struct IInputMethodManager;
+struct IInputMethodContextRef;
struct Dpi {
float x;
diff --git a/include/cru/platform/native/input_method.hpp b/include/cru/platform/native/input_method.hpp
index 6ca85852..cce10d93 100644
--- a/include/cru/platform/native/input_method.hpp
+++ b/include/cru/platform/native/input_method.hpp
@@ -8,7 +8,7 @@
namespace cru::platform::native {
// It is a reference, so there is a ref count, remember to destroy it to release
// the ref after use.
-struct IInputMethodContextRef : INativeResource {
+struct IInputMethodContextRef : virtual INativeResource {
// Return true if you should draw composition text manually. Return false if
// system will take care of that for you.
virtual bool ShouldManuallyDrawCompositionText() = 0;
@@ -17,7 +17,7 @@ struct IInputMethodContextRef : INativeResource {
// Get the composition string.
virtual std::string GetCompositionText() = 0;
// Set the candidate window lefttop. Use this method to prepare typing.
- virtual void SetCandidateWindowPosition(const Point& point);
+ virtual void SetCandidateWindowPosition(const Point& point) = 0;
// Triggered when user starts composition.
virtual IEvent<std::nullptr_t>* CompositionStartEvent() = 0;
// Triggered when user stops composition.
@@ -27,7 +27,7 @@ struct IInputMethodContextRef : INativeResource {
virtual IEvent<std::string>* CompositionTextChangeEvent() = 0;
};
-struct IInputMethodManager : INativeResource {
+struct IInputMethodManager : virtual INativeResource {
// Get a reference of context of a window.
virtual std::unique_ptr<IInputMethodContextRef> GetContext(
INativeWindow* window) = 0;
diff --git a/include/cru/platform/native/ui_application.hpp b/include/cru/platform/native/ui_application.hpp
index 0825251e..92222929 100644
--- a/include/cru/platform/native/ui_application.hpp
+++ b/include/cru/platform/native/ui_application.hpp
@@ -45,5 +45,6 @@ struct IUiApplication : public virtual INativeResource {
virtual cru::platform::graph::IGraphFactory* GetGraphFactory() = 0;
virtual ICursorManager* GetCursorManager() = 0;
+ virtual IInputMethodManager* GetInputMethodManager() = 0;
};
} // namespace cru::platform::native