5 #ifndef FLUTTER_SHELL_PLATFORM_WINDOWS_HOST_WINDOW_H_
6 #define FLUTTER_SHELL_PLATFORM_WINDOWS_HOST_WINDOW_H_
10 #include <wrl/client.h>
15 #include "flutter/fml/macros.h"
16 #include "flutter/shell/geometry/geometry.h"
23 class WindowsProcTable;
24 class FlutterWindowsView;
25 class FlutterWindowsViewSizingDelegate;
26 class FlutterWindowsViewController;
73 bool is_sized_to_content,
101 std::optional<FlutterEngineDisplayId> display_id);
169 Size
const& client_size,
170 std::optional<Size> smallest,
171 std::optional<Size> biggest,
173 DWORD extended_window_style,
174 std::optional<HWND>
const& owner_hwnd);
206 static LRESULT
WndProc(HWND hwnd, UINT
message, WPARAM wparam, LPARAM lparam);
Microsoft::WRL::ComPtr< ITaskbarList2 > task_bar_list_
HWND GetWindowHandle() const
BoxConstraints box_constraints_
WindowArchetype archetype_
void InitializeFlutterView(HostWindowInitializationParams const ¶ms)
SavedWindowInfo saved_window_info_
FML_DISALLOW_COPY_AND_ASSIGN(HostWindow)
std::unique_ptr< FlutterWindowsViewController > view_controller_
void DisableRecursively()
static LRESULT WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
HostWindow * GetOwnerWindow() const
static ActualWindowSize GetWindowContentSize(HWND hwnd)
void EnableRecursively(bool enable)
void SetContentSize(const WindowSizeRequest &size)
void UpdateModalStateLayer()
static void FocusRootViewOf(HostWindow *window)
HWND GetFlutterViewWindowHandle() const
FlutterWindowsEngine * engine_
static HostWindow * GetThisFromHandle(HWND hwnd)
HostWindow(WindowManager *window_manager, FlutterWindowsEngine *engine)
std::vector< HostWindow * > GetOwnedWindows() const
virtual bool GetFullscreen() const
void SetConstraints(const WindowConstraints &constraints)
static std::unique_ptr< HostWindow > CreateTooltipWindow(WindowManager *window_manager, FlutterWindowsEngine *engine, const WindowConstraints &preferred_constraints, bool is_sized_to_content, GetWindowPositionCallback get_position_callback, HWND parent)
virtual void SetFullscreen(bool fullscreen, std::optional< FlutterEngineDisplayId > display_id)
virtual LRESULT HandleMessage(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
static std::unique_ptr< HostWindow > CreateDialogWindow(WindowManager *window_manager, FlutterWindowsEngine *engine, const WindowSizeRequest &preferred_size, const WindowConstraints &preferred_constraints, LPCWSTR title, HWND parent)
static std::optional< Size > GetWindowSizeForClientSize(WindowsProcTable const &win32, Size const &client_size, std::optional< Size > smallest, std::optional< Size > biggest, DWORD window_style, DWORD extended_window_style, std::optional< HWND > const &owner_hwnd)
static std::unique_ptr< HostWindow > CreateRegularWindow(WindowManager *window_manager, FlutterWindowsEngine *engine, const WindowSizeRequest &preferred_size, const WindowConstraints &preferred_constraints, LPCWSTR title)
HostWindow * FindFirstEnabledDescendant() const
WindowManager *const window_manager_
WindowRect *(* GetWindowPositionCallback)(const WindowSize &child_size, const WindowRect &parent_rect, const WindowRect &output_rect)
DWORD extended_window_style
WindowArchetype archetype
std::optional< HWND > const & owner_window
Rect const initial_window_rect
FlutterWindowsViewSizingDelegate * sizing_delegate
const BoxConstraints & box_constraints
ActualWindowSize client_size