HikoGUI
A low latency retained GUI
|
Static Public Member Functions | |
static device_type | device_type () noexcept |
Get the device this application is running on. | |
static std::vector< language_tag > | language_tags () noexcept |
Get the language tags for the configured languages. | |
static std::locale | locale () noexcept |
Get the current local. | |
static bool | left_to_right () noexcept |
Check if the configured writing direction is left-to-right. | |
static hi::alignment | alignment (hi::alignment rhs) noexcept |
Get the alignment based on the writing direction. | |
static hi::horizontal_alignment | alignment (hi::horizontal_alignment rhs) noexcept |
Get the alignment based on the writing direction. | |
static hi::theme_mode | theme_mode () noexcept |
Get the configured light/dark theme mode. | |
static hi::subpixel_orientation | subpixel_orientation () noexcept |
Get the configured light/dark theme mode. | |
static bool | uniform_HDR () noexcept |
Whether SDR and HDR application can coexists on the same display. | |
static std::chrono::milliseconds | double_click_interval () noexcept |
Get the mouse double click interval. | |
static float | double_click_distance () noexcept |
Get the distance from the previous mouse position to detect double click. | |
static std::chrono::milliseconds | keyboard_repeat_delay () noexcept |
Get the delay before the keyboard starts repeating. | |
static std::chrono::milliseconds | keyboard_repeat_interval () noexcept |
Get the keyboard repeat interval. | |
static std::chrono::milliseconds | cursor_blink_delay () noexcept |
Get the cursor blink delay. | |
static std::chrono::milliseconds | cursor_blink_interval () noexcept |
Get the cursor blink interval. | |
static float | minimum_window_width () noexcept |
The minimum width a window is allowed to be. | |
static float | minimum_window_height () noexcept |
The minimum height a window is allowed to be. | |
static float | maximum_window_width () noexcept |
The maximum width a window is allowed to be. | |
static float | maximum_window_height () noexcept |
The maximum height a window is allowed to be. | |
static aarectangle | primary_monitor_rectangle () noexcept |
Get the rectangle of the primary monitor. | |
static uintptr_t | primary_monitor_id () noexcept |
Get an opaque id of the primary monitor. | |
static aarectangle | desktop_rectangle () noexcept |
Get the rectangle describing the desktop. | |
static hi::policy | policy () noexcept |
Get the global performance policy. | |
static hi::policy | gpu_policy () noexcept |
Get the policy for selecting a GPU. | |
static std::vector< uuid > | preferred_gpus (hi::policy performance_policy) noexcept |
Get a list of GPUs ordered best to worst. | |
template<forward_of< void()> Func> | |
static callback< void()> | subscribe (Func &&func, callback_flags flags=callback_flags::synchronous) noexcept |
static bool | start_subsystem () noexcept |
Get the global os_settings instance. | |
static void | gather () noexcept |
Gather the settings from the operating system now. | |
|
inlinestaticnoexcept |
Get the alignment based on the writing direction.
rhs | The alignment that may need to be flipped to match the writing direction. |
The | alignment, possibly flipped. |
|
inlinestaticnoexcept |
Get the alignment based on the writing direction.
rhs | The alignment that may need to be flipped to match the writing direction. |
The | alignment, possibly flipped. |
|
inlinestaticnoexcept |
Get the cursor blink delay.
|
inlinestaticnoexcept |
Get the cursor blink interval.
std::chrono::milliseconds::max()
when blinking is turned off.
|
inlinestaticnoexcept |
Get the rectangle describing the desktop.
|
inlinestaticnoexcept |
Get the device this application is running on.
This is used to detect the viewing distance from the screen and combined with the screen's DPI to determine how device independent pixels (dips) are scaled.
If you need to know how to layout the application based on the device type use device_mode()
; as some operating systems allow emulation or switching of device-mode during run-time.
|
inlinestaticnoexcept |
Get the distance from the previous mouse position to detect double click.
|
inlinestaticnoexcept |
Get the mouse double click interval.
|
inlinestaticnoexcept |
Gather the settings from the operating system now.
|
inlinestaticnoexcept |
Get the policy for selecting a GPU.
|
inlinestaticnoexcept |
Get the delay before the keyboard starts repeating.
|
inlinestaticnoexcept |
Get the keyboard repeat interval.
|
inlinestaticnoexcept |
Get the language tags for the configured languages.
|
inlinestaticnoexcept |
Check if the configured writing direction is left-to-right.
true | If the writing direction is left-to-right. |
|
inlinestaticnoexcept |
Get the current local.
|
inlinestaticnoexcept |
The maximum height a window is allowed to be.
|
inlinestaticnoexcept |
The maximum width a window is allowed to be.
|
inlinestaticnoexcept |
The minimum height a window is allowed to be.
|
inlinestaticnoexcept |
The minimum width a window is allowed to be.
|
inlinestaticnoexcept |
Get the global performance policy.
|
inlinestaticnoexcept |
Get a list of GPUs ordered best to worst.
The performance policy is calculated from several sources, in order from high priority to low priority:
On win32 the GPU identifiers returned are LUIDs which are smaller then UUIDs. Vulkan specifically includes VkPhysicalDeviceIDProperties::deviceLUID to match with these return values.
On other operating systems the return value here is a UUID which will match with VkPhysicalDeviceIDProperties::deviceUUID.
Use VkPhysicalDeviceIDProperties::deviceLUIDValid to know which one to match and VK_LUID_SIZE for the size of the comparison.
performance_policy | The performance policy of the application. |
|
inlinestaticnoexcept |
Get an opaque id of the primary monitor.
|
inlinestaticnoexcept |
Get the rectangle of the primary monitor.
|
inlinestaticnoexcept |
Get the global os_settings instance.
|
inlinestaticnoexcept |
Get the configured light/dark theme mode.
|
inlinestaticnoexcept |
Get the configured light/dark theme mode.
|
inlinestaticnoexcept |
Whether SDR and HDR application can coexists on the same display.
Microsoft Windows 10 and at least early versions of Windows 11 will have set this to false, because if an application opens a HDR surface it will switch the display mode to HDR, this switching may cause a significant change in color and brightness of the display, including other (SDR) applications that where already running. This would be surprising for most users and we can not expect users to have calibrated colors to match HDR with SDR.