5#ifndef FLUTTER_SHELL_PLATFORM_WINDOWS_TEXT_INPUT_PLUGIN_H_
6#define FLUTTER_SHELL_PLATFORM_WINDOWS_TEXT_INPUT_PLUGIN_H_
12#include "flutter/fml/macros.h"
13#include "flutter/shell/platform/common/client_wrapper/include/flutter/binary_messenger.h"
14#include "flutter/shell/platform/common/client_wrapper/include/flutter/method_channel.h"
15#include "flutter/shell/platform/common/geometry.h"
16#include "flutter/shell/platform/common/json_method_codec.h"
17#include "flutter/shell/platform/common/text_editing_delta.h"
18#include "flutter/shell/platform/common/text_input_model.h"
19#include "flutter/shell/platform/windows/keyboard_handler_base.h"
23class FlutterWindowsEngine;
28class TextInputPlugin {
31 FlutterWindowsEngine*
engine);
84 void HandleMethodCall(
90 Rect GetCursorRect()
const;
93 std::unique_ptr<flutter::MethodChannel<rapidjson::Document>> channel_;
102 std::unique_ptr<TextInputModel> active_model_;
108 bool enable_delta_model =
false;
112 std::string input_type_;
116 std::string input_action_;
122 Rect composing_rect_;
126 std::array<std::array<double, 4>, 4> editabletext_transform_ = {
void KeyboardHook(GLFWwindow *window, int key, int scancode, int action, int mods) override
virtual void ComposeCommitHook()
TextInputPlugin(flutter::BinaryMessenger *messenger)
virtual void ComposeChangeHook(const std::u16string &text, int cursor_pos)
virtual void TextHook(const std::u16string &text)
virtual ~TextInputPlugin()
virtual void ComposeEndHook()
virtual void ComposeBeginHook()
G_BEGIN_DECLS G_MODULE_EXPORT FlMethodCall * method_call
A change in the state of an input field.