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 std::vector< language * > languages () noexcept
 Get the configured languages.
 
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 extent2 minimum_window_size () noexcept
 Get the minimum window size supported by the operating system.
 
static extent2 maximum_window_size () noexcept
 Get the maximum window size supported by the operating system.
 
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 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
 

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 aarectangle 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_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.

◆ languages()

static std::vector< language * > v1::os_settings::languages ( )
inlinestaticnoexcept

Get the configured languages.

Note
The list of languages include both the configured region-specific-languages and the generic-languages.
Returns
A list of languages in order of priority.

◆ maximum_window_size()

static extent2 v1::os_settings::maximum_window_size ( )
inlinestaticnoexcept

Get the maximum window size supported by the operating system.

◆ minimum_window_size()

static extent2 v1::os_settings::minimum_window_size ( )
inlinestaticnoexcept

Get the minimum window size supported by the operating system.

◆ 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 aarectangle 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.

◆ 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: