5 #ifndef FLUTTER_SHELL_PLATFORM_WINDOWS_HOST_WINDOW_H_
6 #define FLUTTER_SHELL_PLATFORM_WINDOWS_HOST_WINDOW_H_
10 #include <wrl/client.h>
14 #include "flutter/fml/macros.h"
15 #include "flutter/shell/geometry/geometry.h"
22 class FlutterWindowsView;
23 class FlutterWindowsViewController;
64 std::optional<FlutterEngineDisplayId> display_id);
78 struct SavedWindowInfo {
85 MONITORINFO monitor_info;
91 std::unique_ptr<FlutterWindowsViewController> view_controller,
92 const BoxConstraints& constraints,
102 static LRESULT WndProc(HWND hwnd, UINT
message, WPARAM wparam, LPARAM lparam);
107 LRESULT HandleMessage(HWND hwnd, UINT
message, WPARAM wparam, LPARAM lparam);
118 std::unique_ptr<FlutterWindowsViewController> view_controller_;
124 HWND window_handle_ =
nullptr;
127 BoxConstraints box_constraints_;
130 bool is_fullscreen_ =
false;
133 SavedWindowInfo saved_window_info_;
136 Microsoft::WRL::ComPtr<ITaskbarList2> task_bar_list_;
HWND GetWindowHandle() const
static std::unique_ptr< HostWindow > CreateRegularWindow(WindowManager *controller, FlutterWindowsEngine *engine, const WindowSizeRequest &preferred_size, const WindowConstraints &preferred_constraints, LPCWSTR title)
static ActualWindowSize GetWindowContentSize(HWND hwnd)
void SetContentSize(const WindowSizeRequest &size)
static HostWindow * GetThisFromHandle(HWND hwnd)
bool GetFullscreen() const
void SetConstraints(const WindowConstraints &constraints)
void SetFullscreen(bool fullscreen, std::optional< FlutterEngineDisplayId > display_id)