7#include "../GFX/gfx_surface_vulkan.hpp"
8#include "gui_window.hpp"
9#include <unordered_map>
14namespace hi::inline v1 {
21 HWND win32Window =
nullptr;
28 int windowProc(
unsigned int uMsg, uint64_t wParam, int64_t lParam)
noexcept;
34 [[nodiscard]]
aarectangle fullscreen_rectangle() const noexcept override;
36 void open_system_menu() override;
37 void set_window_size(
extent2 extent) override;
38 [[nodiscard]]
std::
string get_text_from_clipboard() const noexcept override;
39 void set_text_on_clipboard(
std::
string str) noexcept override;
42 static constexpr UINT_PTR move_and_resize_timer_id = 2;
44 TRACKMOUSEEVENT trackMouseLeaveEventParameters;
45 bool trackingMouseLeaveEvent = false;
46 char32_t highSurrogate = 0;
48 utc_nanoseconds multi_click_time_point;
49 point2 multi_click_position;
50 int multi_click_count;
52 void setOSWindowRectangleFromRECT(RECT
aarectangle) noexcept;
54 [[nodiscard]] KeyboardState getKeyboardState() noexcept;
55 [[nodiscard]] keyboard_modifiers getkeyboard_modifiers() noexcept;
57 [[nodiscard]]
char32_t handle_suragates(
char32_t c) noexcept;
58 [[nodiscard]]
mouse_event createmouse_event(
unsigned int uMsg, uint64_t wParam, int64_t lParam) noexcept;
60 friend LRESULT CALLBACK _WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) noexcept;
subpixel_orientation
The orientation of the RGB sub-pixels of and LCD/LED panel.
Definition subpixel_orientation.hpp:18
Class which represents an axis-aligned rectangle.
Definition axis_aligned_rectangle.hpp:20
Graphics system.
Definition gui_system.hpp:30
Definition gui_window.hpp:40
Definition gui_window_delegate.hpp:12
Definition gui_window_win32.hpp:16
aarectangle workspace_rectangle() const noexcept override
The rectangle of the workspace of the screen where the window is currently located.
void close_window() override
Ask the operating system to close this window.
void create_window(extent2 new_size) override
Let the operating system create the actual window.
void set_size_state(gui_window_size state) noexcept override
Set the size-state of the window.
void set_cursor(mouse_cursor cursor) noexcept override
Set the mouse cursor icon.
Definition mouse_event.hpp:15
A label consisting of localizable text and an icon.
Definition label.hpp:27