diff options
Diffstat (limited to 'include/cru/platform/native/input_method.hpp')
-rw-r--r-- | include/cru/platform/native/input_method.hpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/cru/platform/native/input_method.hpp b/include/cru/platform/native/input_method.hpp index 48895f84..4034be4e 100644 --- a/include/cru/platform/native/input_method.hpp +++ b/include/cru/platform/native/input_method.hpp @@ -1,8 +1,10 @@ #pragma once #include "../resource.hpp" #include "base.hpp" + #include "cru/common/event.hpp" +#include <iostream> #include <memory> #include <vector> @@ -21,6 +23,23 @@ struct CompositionText { TextRange selection; }; +inline std::ostream& operator<<(std::ostream& stream, + const CompositionText& composition_text) { + stream << "text: " << composition_text.text << "\n" + << "clauses:\n"; + for (int i = 0; i < composition_text.clauses.size(); i++) { + const auto& clause = composition_text.clauses[i]; + stream << "\t" << i << ". start:" << clause.start << " end:" << clause.end; + if (clause.target) { + stream << " target"; + } + stream << "\n"; + } + stream << "selection: position:" << composition_text.selection.position + << " count:" << composition_text.selection.count; + return stream; +} + struct IInputMethodContext : virtual INativeResource { // Return true if you should draw composition text manually. Return false if // system will take care of that for you. |