From 37bb421e963662e8203acbe3a03bdbd5d1f5858e Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 5 Apr 2020 00:04:05 +0800 Subject: ... --- include/cru/platform/native/input_method.hpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'include/cru/platform/native/input_method.hpp') 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* CompositionStartEvent() = 0; + // Triggered when user stops composition. + virtual IEvent* CompositionEndEvent() = 0; + // Triggered every time composition text changes, event args is the new // composition text. virtual IEvent* CompositionTextChangeEvent() = 0; - // User comfirmed compostition. Use this method to get the final input text. - virtual IEvent* CharEvent() = 0; }; struct IInputMethodManager : INativeResource { -- cgit v1.2.3