18 DWORD GetWindowStyleForRegular(
bool resizable) {
19 DWORD style = WS_OVERLAPPEDWINDOW;
21 style &= ~(WS_THICKFRAME | WS_MAXIMIZEBOX);
31 const BoxConstraints& constraints,
33 bool sized_to_content,
37 DWORD
const window_style = GetWindowStyleForRegular(resizable);
40 .window_style = window_style,
41 .extended_window_style = 0,
42 .box_constraints = constraints,
43 .initial_window_rect = GetInitialRect(engine, preferred_size, constraints,
44 sized_to_content, resizable),
46 .owner_window = std::optional<HWND>(),
48 .is_sized_to_content = sized_to_content,
61 const BoxConstraints& constraints,
62 bool sized_to_content,
66 if (sized_to_content) {
69 client_width = std::max(1.0, constraints.smallest().width());
70 client_height = std::max(1.0, constraints.smallest().height());
76 std::optional<Size>
const window_size =
79 constraints.smallest(), constraints.biggest(),
80 GetWindowStyleForRegular(resizable), 0,
nullptr);
81 return {{CW_USEDEFAULT, CW_USEDEFAULT},
82 window_size ? *window_size : Size{CW_USEDEFAULT, CW_USEDEFAULT}};
std::shared_ptr< WindowsProcTable > windows_proc_table()
void InitializeFlutterView(HostWindowInitializationParams const ¶ms)
std::unique_ptr< FlutterWindowsViewController > view_controller_
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)
~HostWindowRegular() override
HostWindowRegular(WindowManager *window_manager, FlutterWindowsEngine *engine, const WindowSizeRequest &preferred_size, const BoxConstraints &constraints, LPCWSTR title, bool sized_to_content, bool resizable)
FlutterWindowsViewSizingDelegate * AsSizingDelegate()
WindowArchetype archetype
double preferred_view_height
double preferred_view_width
bool has_preferred_view_size