#ifndef FLUTTER_SHELL_PLATFORM_WINDOWS_FLUTTER_WINDOW_STATE_H_
#define FLUTTER_SHELL_PLATFORM_WINDOWS_FLUTTER_WINDOW_STATE_H_
#include "flutter/shell/platform/common/cpp/client_wrapper/include/flutter/plugin_registrar.h"
#include "flutter/shell/platform/common/cpp/incoming_message_dispatcher.h"
#include "flutter/shell/platform/embedder/embedder.h"
#include "flutter/shell/platform/windows/key_event_handler.h"
#include "flutter/shell/platform/windows/keyboard_hook_handler.h"
#include "flutter/shell/platform/windows/platform_handler.h"
#include "flutter/shell/platform/windows/text_input_plugin.h"
struct flutter::Win32FlutterWindow;
struct FlutterDesktopWindowControllerState {
std::unique_ptr<flutter::Win32FlutterWindow> window;
FLUTTER_API_SYMBOL(FlutterEngine) engine;
std::unique_ptr<FlutterDesktopWindow> window_wrapper;
};
struct FlutterDesktopWindow {
flutter::Win32FlutterWindow* window;
};
struct FlutterDesktopEngineState {
FLUTTER_API_SYMBOL(FlutterEngine) engine;
};
struct FlutterDesktopPluginRegistrar {
std::unique_ptr<FlutterDesktopMessenger> messenger;
FlutterDesktopWindow* window;
};
struct FlutterDesktopMessenger {
FLUTTER_API_SYMBOL(FlutterEngine) engine;
flutter::IncomingMessageDispatcher* dispatcher;
};
#endif