diff options
Diffstat (limited to 'include/cru/platform/native/input_method.hpp')
-rw-r--r-- | include/cru/platform/native/input_method.hpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/include/cru/platform/native/input_method.hpp b/include/cru/platform/native/input_method.hpp index ecc47fd8..6ca85852 100644 --- a/include/cru/platform/native/input_method.hpp +++ b/include/cru/platform/native/input_method.hpp @@ -9,17 +9,22 @@ 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 { + // Return true if you should draw composition text manually. Return false if + // system will take care of that for you. + virtual bool ShouldManuallyDrawCompositionText() = 0; // Reset composition string. Use this method to prepare typing. virtual void Reset() = 0; // Get the composition string. - virtual std::string GetCompositionString() = 0; + virtual std::string GetCompositionText() = 0; // Set the candidate window lefttop. Use this method to prepare typing. virtual void SetCandidateWindowPosition(const Point& point); - // Triggered every time composition text changes, evet args is the new + // Triggered when user starts composition. + virtual IEvent<std::nullptr_t>* CompositionStartEvent() = 0; + // Triggered when user stops composition. + virtual IEvent<std::nullptr_t>* CompositionEndEvent() = 0; + // Triggered every time composition text changes, event args is the new // composition text. virtual IEvent<std::string>* CompositionTextChangeEvent() = 0; - // User comfirmed compostition. Use this method to get the final input text. - virtual IEvent<std::string>* CharEvent() = 0; }; struct IInputMethodManager : INativeResource { |