20 HWND win32Window =
nullptr;
27 int windowProc(
unsigned int uMsg, uint64_t wParam, int64_t lParam)
noexcept;
33 [[nodiscard]] aarectangle fullscreen_rectangle() const noexcept override;
35 void open_system_menu() override;
36 void set_window_size(extent2 extent) override;
37 [[nodiscard]]
std::optional<
gstring> get_text_from_clipboard() const noexcept override;
38 void put_text_on_clipboard(gstring_view str) const noexcept override;
41 static constexpr UINT_PTR move_and_resize_timer_id = 2;
43 notifier<>::callback_token _setting_change_cbt;
44 observer<
std::
string>::callback_token _selected_theme_cbt;
46 TRACKMOUSEEVENT track_mouse_leave_event_parameters;
47 bool tracking_mouse_leave_event = false;
48 char32_t high_surrogate = 0;
49 gui_event mouse_button_event;
50 utc_nanoseconds multi_click_time_point;
51 point2 multi_click_position;
52 uint8_t multi_click_count;
54 bool keymenu_pressed = false;
56 void setOSWindowRectangleFromRECT(RECT aarectangle) noexcept;
58 [[nodiscard]] keyboard_state get_keyboard_state() noexcept;
61 [[nodiscard]]
char32_t handle_suragates(
char32_t c) noexcept;
62 [[nodiscard]] gui_event create_mouse_event(
unsigned int uMsg, uint64_t wParam, int64_t lParam) noexcept;
64 friend LRESULT CALLBACK _WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) noexcept;