HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Public Types | Static Public Member Functions
v1::os_settings Class Reference

Public Types

using notifier_type = notifier<>
 
using callback_token = notifier_type::callback_token
 
using callback_proto = notifier_type::callback_proto
 

Static Public Member Functions

static std::vector< language_taglanguage_tags () noexcept
 Get the language tags for the configured languages.
 
static language_tag language_tag () noexcept
 Get the primary language_tag.
 
static bool left_to_right () noexcept
 Check if the configured writing direction is left-to-right.
 
static bool right_to_left () noexcept
 Check if the configured writing direction is right-to-left.
 
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 int minimum_window_width () noexcept
 The minimum width a window is allowed to be.
 
static int minimum_window_height () noexcept
 The minimum height a window is allowed to be.
 
static int maximum_window_width () noexcept
 The maximum width a window is allowed to be.
 
static int maximum_window_height () noexcept
 The maximum height a window is allowed to be.
 
static aarectanglei 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 aarectanglei desktop_rectangle () noexcept
 Get the rectangle describing the desktop.
 
static void gather () noexcept
 Gather the settings from the operating system now.
 
static callback_token subscribe (forward_of< callback_proto > auto &&callback, callback_flags flags=callback_flags::synchronous) noexcept
 
static bool start_subsystem () noexcept
 Get the global os_settings instance.
 

Member Function Documentation

◆ cursor_blink_delay()

static std::chrono::milliseconds v1::os_settings::cursor_blink_delay ( )
inlinestaticnoexcept

Get the cursor blink delay.

Note
This delay is used to determine when to blink after cursor movement.

◆ cursor_blink_interval()

static std::chrono::milliseconds v1::os_settings::cursor_blink_interval ( )
inlinestaticnoexcept

Get the cursor blink interval.

Note
The interval is the complete period of the cursor blink, from on-to-on.
Returns
The cursor blink interval, or std::chrono::milliseconds::max() when blinking is turned off.

◆ desktop_rectangle()

static aarectanglei v1::os_settings::desktop_rectangle ( )
inlinestaticnoexcept

Get the rectangle describing the desktop.

Returns
The bounding rectangle around the desktop. With the origin being equal to the origin of the primary monitor.

◆ double_click_distance()

static float v1::os_settings::double_click_distance ( )
inlinestaticnoexcept

Get the distance from the previous mouse position to detect double click.

◆ double_click_interval()

static std::chrono::milliseconds v1::os_settings::double_click_interval ( )
inlinestaticnoexcept

Get the mouse double click interval.

◆ gather()

static void v1::os_settings::gather ( )
staticnoexcept

Gather the settings from the operating system now.

◆ keyboard_repeat_delay()

static std::chrono::milliseconds v1::os_settings::keyboard_repeat_delay ( )
inlinestaticnoexcept

Get the delay before the keyboard starts repeating.

Note
Also used to determine the scroll delay when selecting text.

◆ keyboard_repeat_interval()

static std::chrono::milliseconds v1::os_settings::keyboard_repeat_interval ( )
inlinestaticnoexcept

Get the keyboard repeat interval.

Note
Also used to determine the scroll speed when selecting text.

◆ language_tag()

static language_tag v1::os_settings::language_tag ( )
inlinestaticnoexcept

Get the primary language_tag.

Returns
The expanded primary language-tag; this includes the script and region.

◆ language_tags()

static std::vector< language_tag > v1::os_settings::language_tags ( )
inlinestaticnoexcept

Get the language tags for the configured languages.

Returns
A list of language tags in order of priority.

◆ left_to_right()

static bool v1::os_settings::left_to_right ( )
inlinestaticnoexcept

Check if the configured writing direction is left-to-right.

Return values
trueIf the writing direction is left-to-right.

◆ maximum_window_height()

static int v1::os_settings::maximum_window_height ( )
inlinestaticnoexcept

The maximum height a window is allowed to be.

Returns
The maximum window height.

◆ maximum_window_width()

static int v1::os_settings::maximum_window_width ( )
inlinestaticnoexcept

The maximum width a window is allowed to be.

Returns
The maximum window width.

◆ minimum_window_height()

static int v1::os_settings::minimum_window_height ( )
inlinestaticnoexcept

The minimum height a window is allowed to be.

Returns
The minimum window height.

◆ minimum_window_width()

static int v1::os_settings::minimum_window_width ( )
inlinestaticnoexcept

The minimum width a window is allowed to be.

Returns
The minimum window width.

◆ primary_monitor_id()

static uintptr_t v1::os_settings::primary_monitor_id ( )
inlinestaticnoexcept

Get an opaque id of the primary monitor.

◆ primary_monitor_rectangle()

static aarectanglei v1::os_settings::primary_monitor_rectangle ( )
inlinestaticnoexcept

Get the rectangle of the primary monitor.

Returns
The rectangle describing the size and location inside the desktop.

◆ right_to_left()

static bool v1::os_settings::right_to_left ( )
inlinestaticnoexcept

Check if the configured writing direction is right-to-left.

Return values
trueIf the writing direction is right-to-left.

◆ start_subsystem()

static bool v1::os_settings::start_subsystem ( )
inlinestaticnoexcept

Get the global os_settings instance.

Returns
True on success.

◆ subpixel_orientation()

static hi::subpixel_orientation v1::os_settings::subpixel_orientation ( )
inlinestaticnoexcept

Get the configured light/dark theme mode.

◆ theme_mode()

static hi::theme_mode v1::os_settings::theme_mode ( )
inlinestaticnoexcept

Get the configured light/dark theme mode.

◆ uniform_HDR()

static bool v1::os_settings::uniform_HDR ( )
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.


The documentation for this class was generated from the following file: