5 #ifndef FLUTTER_SHELL_PLATFORM_WINDOWS_PLATFORM_HANDLER_H_
6 #define FLUTTER_SHELL_PLATFORM_WINDOWS_PLATFORM_HANDLER_H_
15 #include "flutter/fml/macros.h"
18 #include "rapidjson/document.h"
22 class FlutterWindowsEngine;
23 class ScopedClipboardInterface;
38 std::optional<std::function<std::unique_ptr<ScopedClipboardInterface>()>>
39 scoped_clipboard_provider = std::nullopt);
52 std::optional<WPARAM> wparam,
53 std::optional<LPARAM> lparam,
62 std::string_view
key);
72 const std::string&
text,
76 const std::string& sound_type,
89 std::optional<WPARAM> wparam,
90 std::optional<LPARAM> lparam,
98 std::optional<WPARAM> wparam,
99 std::optional<LPARAM> lparam,
100 const rapidjson::Document* result,
111 WNDCLASS RegisterWindowClass();
114 void HandleMethodCall(
118 static LRESULT CALLBACK WndProc(HWND
const window,
121 LPARAM
const lparam) noexcept;
124 std::unique_ptr<MethodChannel<rapidjson::Document>> channel_;
129 HWND window_handle_ =
nullptr;
134 std::function<std::unique_ptr<ScopedClipboardInterface>()>
135 scoped_clipboard_provider_;
148 virtual int Open(HWND window) = 0;
158 virtual std::variant<std::wstring, int>
GetString() = 0;
virtual std::variant< std::wstring, int > GetString()=0
virtual int SetString(const std::wstring string)=0
virtual bool HasString()=0
virtual int Open(HWND window)=0
virtual ~ScopedClipboardInterface()