|
HikoGUI
A low latency retained GUI
|
Namespaces | |
| namespace | geo |
| HikoGUI geometry types. | |
| namespace | v1 |
| The HikoGUI API version 1. | |
Data Structures | |
| class | abstract_button_widget |
| Base class for implementing button widgets. More... | |
| class | audio_device_widget |
| Audio device configuration widget. More... | |
| struct | box_constraints |
| 2D constraints. More... | |
| struct | box_shape |
| class | button_delegate |
| A button delegate controls the state of a button widget. More... | |
| class | cache |
| class | cancel_error |
| Cancel error is caused by user pressing cancel. More... | |
| struct | char_converter |
| A converter between character encodings. More... | |
| struct | char_map |
| Character encoder/decoder template. More... | |
| struct | char_map<"ascii"> |
| ASCII (7-bit) character map. More... | |
| struct | char_map<"cp-1252"> |
| CP-1252 / Windows-1252 character map. More... | |
| struct | char_map<"iso-8859-1"> |
| ISO-8859-1 / Latin-1 character map. More... | |
| struct | char_map<"utf-16"> |
| Unicode UTF-16 encoding. More... | |
| struct | char_map<"utf-32"> |
| Unicode UTF-32 encoding. More... | |
| struct | char_map<"utf-8"> |
| Unicode UTF-8 encoding. More... | |
| struct | character |
| The standard HikoGUI character type. More... | |
| class | character_attributes |
| class | checkbox_widget |
| A GUI widget that permits the user to make a binary choice. More... | |
| class | circle |
| A type defining a 2D circle. More... | |
| class | color |
| This is a RGBA floating point color. More... | |
| class | const_resource_view |
| A read-only view of a resource. More... | |
| struct | convertible_to_any |
| A type that can be implicitly converted to any type. More... | |
| class | cpu_id |
| class | dead_lock_detector |
| Dead lock detector. More... | |
| class | default_radio_button_delegate |
| A default radio button delegate. More... | |
| class | default_selection_delegate |
| A delegate that control the state of a selection_widget. More... | |
| class | default_tab_delegate |
| A delegate that control the state of a tab_widget. More... | |
| class | default_text_delegate |
| A default text delegate. More... | |
| class | default_text_delegate< text > |
A default text delegate specialization for gstring. More... | |
| class | default_text_delegate< text_variant > |
A default text delegate specialization for text. More... | |
| class | default_text_delegate< translate > |
A default text delegate specialization for translate. More... | |
| class | default_text_field_delegate |
| A default text delegate. More... | |
| class | default_text_field_delegate< T > |
A default text delegate specialization for std::integral<T>. More... | |
| class | default_toggle_button_delegate |
| A default toggle button delegate. More... | |
| struct | draw_attributes |
| The draw attributes used to draw shaped into the draw context. More... | |
| struct | em_length_tag |
| class | file |
| A File object. More... | |
| class | file_view |
| Map a file into virtual memory. More... | |
| class | font_char_map |
| Character map of a font. More... | |
| struct | gfx_draw_context |
| class | glob_pattern |
| A glob pattern. More... | |
| class | grid_layout |
| Grid layout algorithm. More... | |
| class | grid_widget |
| A GUI widget that lays out child-widgets in a grid with variable sized cells. More... | |
| class | gui_error |
| class | gui_event |
| A user interface event. More... | |
| class | icon_widget |
| An simple GUI widget that displays an icon. More... | |
| struct | intrinsic_t |
| Tag used in constructors to set the intrinsic value of that object. More... | |
| class | io_error |
| Exception thrown during I/O on an error. More... | |
| class | key_error |
| struct | keyboard_target_data |
| class | label_widget |
| The GUI widget displays and lays out text together with an icon. More... | |
| class | lean_vector |
| Lean-vector with (SVO) short-vector-optimization. More... | |
| struct | lexer_config |
| class | line_segment |
| Line segment. More... | |
| class | log |
| class | lookahead_iterator |
| Lookahead iterator. More... | |
| class | menu_button_widget |
| A button that is part of a menu. More... | |
| class | momentary_button_widget |
| A momentary button widget. More... | |
| struct | mouse_event_data |
| Information for a mouse event. More... | |
| struct | native_simd |
| A native-SIMD type. More... | |
| class | not_found_error |
| Exception thrown when an item was not found. More... | |
| struct | number_of_data_members |
| class | operation_error |
| Exception thrown during execution of a dynamic operation. More... | |
| class | os_error |
| Exception thrown during an operating system call. More... | |
| struct | otype_fbyte_buf_t |
| Open-type for 8 signed integer that must be scaled by the EM-scale. More... | |
| struct | otype_fixed15_16_buf_t |
| Open-type 16.16 signed fixed point, range between -32768.0 and 32767.999. More... | |
| struct | otype_fixed1_14_buf_t |
| Open-type 16-bit signed fraction, range between -2.0 and 1.999. More... | |
| struct | otype_fuword_buf_t |
| Open-type for 16 unsigned integer that must be scaled by the EM-scale. More... | |
| struct | otype_fword_buf_t |
| Open-type for 16 signed integer that must be scaled by the EM-scale. More... | |
| struct | otype_glyf_component |
| class | overlay_widget |
| A GUI widget which may exist anywhere on a window overlaid above any other widget. More... | |
| struct | override_t |
| Tag used for special functions or constructions to do a override compared to another function of the same name. More... | |
| class | parse_error |
| Exception thrown during parsing on an error. More... | |
| class | pixmap |
| A 2D pixel-based image. More... | |
| class | pixmap_span |
| A non-owning 2D pixel-based image. More... | |
| struct | plurality |
| Plurality of a number. More... | |
| struct | px_length_tag |
| class | quad_color |
| A color for each corner of a quad. More... | |
| class | radio_button_widget |
| A graphical control element that allows the user to choose only one of a predefined set of mutually exclusive options. More... | |
| class | recursive_iterator |
| An iterator which recursively iterates through nested containers. More... | |
| class | row_column_layout |
| class | row_column_widget |
| A row/column widget lays out child widgets along a row or column. More... | |
| class | scroll_aperture_widget |
| A scroll aperture widget. More... | |
| class | scroll_bar_widget |
Scroll bar widget This widget is used in a pair of a vertical and horizontal scrollbar as a child of the scroll_widget. More... | |
| class | scroll_widget |
| The scroll widget allows a content widget to be shown in less space than is required. More... | |
| class | selection_delegate |
| A delegate that controls the state of a selection_widget. More... | |
| class | selection_widget |
| A graphical control element that allows the user to choose only one of a predefined set of mutually exclusive options. More... | |
| struct | si_length_tag |
| class | spacer_widget |
| This GUI widget is used as a spacer between other widget for layout purposes. More... | |
| class | spell_errors |
| struct | style_sheet |
| struct | style_sheet_declaration |
| struct | style_sheet_pattern |
| struct | style_sheet_rule_set |
| struct | style_sheet_selector |
| struct | style_sheet_value |
| struct | sub_theme_selector_type |
| class | system_menu_widget |
| The system menu widget. More... | |
| class | tab_delegate |
| A delegate that controls the state of a tab_widget. More... | |
| class | tab_widget |
| A graphical element that shows only one of a predefined set of mutually exclusive child widgets. More... | |
| class | text_delegate |
| A delegate that controls the state of a text_widget. More... | |
| class | text_field_delegate |
| A delegate that controls the state of a text_field_widget. More... | |
| class | text_field_widget |
| A single line text field. More... | |
| struct | text_style |
| class | text_widget |
| A text widget. More... | |
| struct | theme_length |
| class | theme_model |
| class | theme_model_base |
| The theme models for all states for a specific widget component. More... | |
| class | theme_model_length |
| A length in pixels or dips (device independent pixels), optimized for read performance. More... | |
| struct | theme_sub_model |
| All the data of a theme for a specific widget-component at a specific state. More... | |
| struct | three_way_comparison |
| A functor to safely compare two arithmetic values. More... | |
| struct | three_way_comparison< Lhs, Rhs > |
| class | toggle_widget |
| A GUI widget that permits the user to make a binary choice. More... | |
| struct | token |
| class | toolbar_button_widget |
| A momentary button used as a child in the toolbar. More... | |
| class | toolbar_tab_button_widget |
A graphical control element that allows the user to choose only one of a predefined set of mutually exclusive views of a tab_widget. More... | |
| class | toolbar_widget |
| A toolbar widget is located at the top of a window and lays out its children horizontally. More... | |
| struct | ucd_decomposition_info |
| The decomposition info is used to determine how to decompose a code-point. More... | |
| class | unfair_mutex_impl |
| An unfair mutex This is a fast implementation of a mutex which does not fairly arbitrate between multiple blocking threads. More... | |
| class | unfair_recursive_mutex |
| An unfair recursive-mutex This is a fast implementation of a recursive-mutex which does not fairly arbitrate between multiple blocking threads. More... | |
| class | unit |
| struct | unusable_t |
| A type that can not be constructed, copied, moved or destructed. More... | |
| class | URI |
| A Uniform Resource Identifier. More... | |
| class | uri_error |
| class | URL |
| Universal Resource Locator. More... | |
| class | url_error |
| class | widget |
| class | widget_draw_context |
| Draw context for drawing using the HikoGUI shaders. More... | |
| class | widget_layout |
| The layout of a widget. More... | |
| class | window_traffic_lights_widget |
| Window control button widget. More... | |
| class | window_widget |
| The top-level window widget. More... | |
Typedefs | |
| using | thread_id = uint32_t |
| using | unfair_mutex = unfair_mutex_impl<true> |
| using | aarectangle = geo::axis_aligned_rectangle<float> |
| using | aarectanglei = geo::axis_aligned_rectangle<int> |
| using | corner_radii = geo::corner_radii<float> |
| using | corner_radiii = geo::corner_radii<int> |
| using | extent2 = geo::extent<float, 2> |
| A 2D extent. | |
| using | extent3 = geo::extent<float, 3> |
| A 3D extent. | |
| using | extent2i = geo::extent<int, 2> |
| A 2D extent. | |
| using | extent3i = geo::extent<int, 3> |
| A 3D extent. | |
| using | identity2 = geo::identity |
| 2D identity transform. | |
| using | identity3 = geo::identity |
| 2D identity transform. | |
| using | lookat3 = geo::lookat |
| using | margins = geo::margins<float> |
| using | marginsi = geo::margins<int> |
| using | matrix2 = geo::matrix<2> |
| A 2D homogenious transformation matrix. | |
| using | matrix3 = geo::matrix<3> |
| A 3D homogenious transformation matrix. | |
| using | perspective3 = geo::perspective |
| using | widget_id = tagged_id<uint32_t, "widget"> |
| template<typename T > | |
| using | row_layout = row_column_layout<axis::x, T> |
| template<typename T > | |
| using | column_layout = row_column_layout<axis::y, T> |
| using | text = std::basic_string<character> |
| using | text_view = std::basic_string_view<character> |
| using | kilometers = unit<si_length_tag, double, std::kilo> |
| using | meters = unit<si_length_tag, double> |
| using | centimeters = unit<si_length_tag, double, std::centi> |
| using | decimeters = unit<si_length_tag, double, std::deci> |
| using | millimeters = unit<si_length_tag, double, std::milli> |
| using | points = unit<si_length_tag, double, std::ratio<254, 720'000>::type> |
| Points: 1/72 inch. | |
| using | inches = unit<si_length_tag, double, std::ratio<254, 10'000>::type> |
| Inch: 254 mm. | |
| using | feet = unit<si_length_tag, double, std::ratio<3'048, 10'000>::type> |
| using | yards = unit<si_length_tag, double, std::ratio<9'144, 10'000>::type> |
| using | miles = unit<si_length_tag, double, std::ratio<16'093'440, 10'000>::type> |
| using | dips = unit<si_length_tag, double, std::ratio<254, 960'000>::type> |
| Device Independent Pixels: 1/96 inch. | |
| using | pixels = unit<px_length_tag, double> |
| A physical pixel on a display. | |
| using | em_quads = unit<em_length_tag, double> |
| Em-quad: A font's line-height. | |
| using | ssize_t = std::ptrdiff_t |
| Signed size/index into an array. | |
| template<fixed_string Name = ""> | |
| using | row_widget = row_column_widget<join_path(Name, "row"), axis::x> |
| Lays out children in a row. | |
| template<fixed_string Name = ""> | |
| using | column_widget = row_column_widget<join_path(Name, "column"), axis::y> |
| Lays out children in a column. | |
| template<fixed_string Name = ""> | |
| using | vertical_scroll_widget = scroll_widget<axis::vertical, Name> |
| Vertical scroll widget. | |
| template<fixed_string Name = ""> | |
| using | horizontal_scroll_widget = scroll_widget<axis::horizontal, Name> |
| Horizontal scroll widget. | |
Enumerations | |
| enum class | global_state_type : uint64_t { log_debug = 0x01 , log_info = 0x02 , log_statistics = 0x04 , log_trace = 0x08 , log_audit = 0x10 , log_warning = 0x20 , log_error = 0x40 , log_fatal = 0x80 , log_mask = log_debug | log_info | log_statistics | log_trace | log_audit | log_warning | log_error | log_fatal , log_level_default = log_audit | log_error | log_fatal , log_level_fatal = log_audit | log_fatal , log_level_error = log_trace | log_error | log_level_fatal , log_level_warning = log_warning | log_level_error , log_level_info = log_info | log_statistics | log_level_warning , log_level_debug = log_debug | log_level_info , log_is_running = 0x1'00 , time_stamp_utc_is_running = 0x2'00 , system_is_running = 0x1'000000'00 , system_is_shutting_down = 0x2'000000'00 , system_mask = system_is_running | system_is_shutting_down } |
| The flag-type used for global state. More... | |
| enum class | seek_whence { seek_whence::begin , seek_whence::current , seek_whence::end } |
| The position in the file to seek from. More... | |
| enum class | access_mode { access_mode::read = 0x1 , access_mode::write = 0x2 , access_mode::rename = 0x4 , access_mode::read_lock = 0x10 , access_mode::write_lock = 0x20 , access_mode::open = 0x100 , access_mode::create = 0x200 , access_mode::truncate = 0x400 , access_mode::random = 0x1000 , access_mode::sequential = 0x2000 , access_mode::no_reuse = 0x4000 , access_mode::write_through = 0x8000 , access_mode::create_directories = 0x10000 , access_mode::open_for_read = open | read , access_mode::open_for_read_and_write = open | read | write , truncate_or_create_for_write = create_directories | open | create | truncate | write } |
| The mode in which way to open a file. More... | |
| enum class | path_location { path_location::resource_dirs , path_location::executable_file , path_location::executable_dir , path_location::library_file , path_location::library_dir , path_location::data_dir , path_location::log_dir , path_location::preferences_file , path_location::system_font_dirs , path_location::font_dirs , path_location::theme_dirs } |
| File and Directory locations. More... | |
| enum class | font_style { normal = 0 , italic = 1 , oblique = 1 } |
| The different styles a font-family comes with. More... | |
| enum class | axis : unsigned char { none = 0 , x = 1 , y = 2 , z = 4 , both = x | y , all = x | y | z , horizontal = x , vertical = y } |
| An enumeration of the 3 axis for 3D geometry. More... | |
| enum class | line_end_cap { line_end_cap::flat , line_end_cap::round } |
| The way two lines should be joined. More... | |
| enum class | line_join_style { line_join_style::none , line_join_style::bevel , line_join_style::miter , line_join_style::round } |
| The way two lines should be joined. More... | |
| enum class | gui_event_type { none , keyboard_down , keyboard_up , keyboard_grapheme , keyboard_partial_grapheme , keyboard_enter , keyboard_exit , mouse_move , mouse_drag , mouse_down , mouse_up , mouse_wheel , mouse_enter , mouse_exit , mouse_exit_window , gui_event_type::window_redraw , gui_event_type::window_relayout , gui_event_type::window_reconstrain , gui_event_type::window_resize , gui_event_type::window_minimize , gui_event_type::window_maximize , gui_event_type::window_normalize , gui_event_type::window_close , gui_event_type::window_open_sysmenu , gui_event_type::window_set_keyboard_target , gui_event_type::window_set_clipboard , text_cursor_left_char , text_cursor_right_char , text_cursor_down_char , text_cursor_up_char , text_cursor_left_word , text_cursor_right_word , text_cursor_begin_line , text_cursor_end_line , text_cursor_begin_sentence , text_cursor_end_sentence , text_cursor_begin_document , text_cursor_end_document , text_select_left_char , text_select_right_char , text_select_down_char , text_select_up_char , text_select_word , text_select_left_word , text_select_right_word , text_select_begin_line , text_select_end_line , text_select_begin_sentence , text_select_end_sentence , text_select_document , text_select_begin_document , text_select_end_document , text_delete_char_prev , text_delete_char_next , text_delete_word_prev , text_delete_word_next , text_swap_chars , text_edit_paste , text_edit_copy , text_edit_cut , text_undo , text_redo , text_insert_line , text_insert_line_up , text_insert_line_down , text_mode_insert , gui_widget_next , gui_widget_prev , gui_menu_next , gui_menu_prev , gui_toolbar_open , gui_toolbar_next , gui_toolbar_prev , gui_activate , gui_activate_next , gui_cancel } |
| GUI event type. More... | |
| enum class | gui_event_variant { gui_event_variant::other , gui_event_variant::mouse , gui_event_variant::keyboard , gui_event_variant::keyboard_target , gui_event_variant::grapheme , gui_event_variant::rectangle , gui_event_variant::clipboard_data } |
| A granular gui event type. More... | |
| enum class | border_side { on , inside , outside } |
| The side where the border is drawn. More... | |
| enum class | widget_mode { widget_mode::collapse , widget_mode::invisible , widget_mode::disabled , widget_mode::display , widget_mode::select , widget_mode::partial , widget_mode::enabled } |
| The mode that the widget is operating at. More... | |
| enum class | widget_state { off , on , other } |
| enum class | style_sheet_value_mask { pixels = 0b0000'0001 , dips = 0b0000'0010 , em_quads = 0b0000'0100 , color = 0b0000'1000 , font_family_id = 0b0001'0000 , font_weight = 0b0010'0000 , font_style = 0b0100'0000 , length = pixels | dips | em_quads } |
| enum class | style_sheet_declaration_name { background_color , border_bottom_left_radius , border_bottom_right_radius , border_color , border_top_left_radius , border_top_right_radius , border_width , caret_color_primary , caret_color_secondary , fill_color , font_color , font_family , font_size , font_style , font_weight , height , margin_bottom , margin_left , margin_right , margin_top , selection_color , spacing_horizontal , spacing_vertical , width } |
| enum class | theme_state : uint8_t { disabled = 0b00'0'0'00 , enabled = 0b00'0'0'01 , hover = 0b00'0'0'10 , active = 0b00'0'0'11 , no_focus = 0b00'0'0'00 , focus = 0b00'0'1'00 , off = 0b00'0'0'00 , on = 0b00'1'0'00 , layer_0 = 0b00'0'0'00 , layer_1 = 0b01'0'0'00 , layer_2 = 0b10'0'0'00 , layer_3 = 0b11'0'0'00 } |
| enum class | theme_state_mask : uint8_t { mouse = 0b00'0'0'11 , focus = 0b00'0'1'00 , value = 0b00'1'0'00 , layers = 0b11'0'0'00 } |
| enum class | unicode_bidi_class : uint8_t { ON = 0 , L = 1 , R = 2 , BN = 3 , S = 4 , B = 5 , WS = 6 , ET = 7 , ES = 8 , CS = 9 , EN = 10 , NSM = 11 , AN = 12 , AL = 13 , LRE = 14 , RLE = 15 , PDF = 16 , LRO = 17 , RLO = 18 , LRI = 19 , RLI = 20 , FSI = 21 , PDI = 22 } |
| Bidirectional class Unicode Standard Annex #9: https://unicode.org/reports/tr9/. More... | |
| enum class | unicode_bidi_paired_bracket_type : uint8_t { n = 0 , o = 1 , c = 2 } |
| enum class | unicode_decomposition_type : uint8_t { canonical = 0 , noBreak = 1 , compat = 2 , super = 3 , fraction = 4 , sub = 5 , font = 6 , circle = 7 , wide = 8 , vertical = 9 , square = 10 , isolated = 11 , _final = 12 , initial = 13 , medial = 14 , small = 15 , narrow = 16 } |
| The decomposition type determines if a code-point should be decomposed canonically or for a compatibility. More... | |
| enum class | unicode_east_asian_width : uint8_t { N = 0 , Na = 1 , A = 2 , W = 3 , H = 4 , F = 5 } |
| enum class | unicode_general_category : uint8_t { Cn = 0 , Cc = 1 , Cf = 2 , Co = 3 , Cs = 4 , Ll = 5 , Lm = 6 , Lo = 7 , Lt = 8 , Lu = 9 , Mc = 10 , Me = 11 , Mn = 12 , Nd = 13 , Nl = 14 , No = 15 , Pc = 16 , Pd = 17 , Pe = 18 , Pf = 19 , Pi = 20 , Po = 21 , Ps = 22 , Sc = 23 , Sk = 24 , Sm = 25 , So = 26 , Zl = 27 , Zp = 28 , Zs = 29 } |
| enum class | unicode_grapheme_cluster_break : uint8_t { Other = 0 , Control = 1 , LF = 2 , CR = 3 , Extended_Pictographic = 4 , Extend = 5 , Prepend = 6 , SpacingMark = 7 , L = 8 , V = 9 , T = 10 , ZWJ = 11 , LV = 12 , LVT = 13 , Regional_Indicator = 14 } |
| enum class | unicode_lexical_class : uint8_t { other = 0 , id_continue = 1 , id_start = 2 , syntax = 3 , white_space = 4 } |
| enum class | unicode_line_break_class : uint8_t { XX = 0 , CM = 1 , BA = 2 , LF = 3 , BK = 4 , CR = 5 , SP = 6 , EX = 7 , QU = 8 , AL = 9 , PR = 10 , PO = 11 , OP = 12 , CP = 13 , IS = 14 , HY = 15 , SY = 16 , NU = 17 , CL = 18 , NL = 19 , GL = 20 , AI = 21 , BB = 22 , HL = 23 , SA = 24 , JL = 25 , JV = 26 , JT = 27 , NS = 28 , ZW = 29 , ZWJ = 30 , B2 = 31 , IN = 32 , WJ = 33 , ID = 34 , EB = 35 , CJ = 36 , H2 = 37 , H3 = 38 , SG = 39 , CB = 40 , RI = 41 , EM = 42 } |
| Unicode line break class. More... | |
| enum class | unicode_script : uint16_t { Adlam = 166 , Ahom = 338 , Anatolian_Hieroglyphs = 80 , Arabic = 160 , Armenian = 230 , Avestan = 134 , Balinese = 360 , Bamum = 435 , Bassa_Vah = 259 , Batak = 365 , Bengali = 325 , Bhaiksuki = 334 , Bopomofo = 285 , Brahmi = 300 , Braille = 570 , Buginese = 367 , Buhid = 372 , Canadian_Aboriginal = 440 , Carian = 201 , Caucasian_Albanian = 239 , Chakma = 349 , Cham = 358 , Cherokee = 445 , Chorasmian = 109 , Common = 994 , Coptic = 204 , Cuneiform = 20 , Cypriot = 403 , Cypro_Minoan = 402 , Cyrillic = 220 , Deseret = 250 , Devanagari = 315 , Dives_Akuru = 342 , Dogra = 328 , Duployan = 755 , Egyptian_Hieroglyphs = 50 , Elbasan = 226 , Elymaic = 128 , Ethiopic = 430 , Georgian = 240 , Glagolitic = 225 , Gothic = 206 , Grantha = 343 , Greek = 200 , Gujarati = 320 , Gunjala_Gondi = 312 , Gurmukhi = 310 , Han = 500 , Hangul = 286 , Hanifi_Rohingya = 167 , Hanunoo = 371 , Hatran = 127 , Hebrew = 125 , Hiragana = 410 , Imperial_Aramaic = 124 , Inherited = 994 , Inscriptional_Pahlavi = 131 , Inscriptional_Parthian = 130 , Javanese = 361 , Kaithi = 317 , Kannada = 345 , Katakana = 411 , Kawi = 368 , Kayah_Li = 357 , Kharoshthi = 305 , Khitan_Small_Script = 288 , Khmer = 355 , Khojki = 322 , Khudawadi = 318 , Lao = 356 , Latin = 215 , Lepcha = 335 , Limbu = 336 , Linear_A = 400 , Linear_B = 401 , Lisu = 399 , Lycian = 202 , Lydian = 116 , Mahajani = 314 , Makasar = 366 , Malayalam = 347 , Mandaic = 140 , Manichaean = 139 , Marchen = 332 , Masaram_Gondi = 313 , Medefaidrin = 265 , Meetei_Mayek = 337 , Mende_Kikakui = 438 , Meroitic_Cursive = 101 , Meroitic_Hieroglyphs = 100 , Miao = 282 , Modi = 324 , Mongolian = 145 , Mro = 264 , Multani = 323 , Myanmar = 350 , Nabataean = 159 , Nag_Mundari = 295 , Nandinagari = 311 , New_Tai_Lue = 354 , Newa = 333 , Nko = 165 , Nushu = 499 , Nyiakeng_Puachue_Hmong = 451 , Ogham = 212 , Ol_Chiki = 261 , Old_Hungarian = 176 , Old_Italic = 210 , Old_North_Arabian = 106 , Old_Permic = 227 , Old_Persian = 30 , Old_Sogdian = 142 , Old_South_Arabian = 105 , Old_Turkic = 175 , Old_Uyghur = 143 , Oriya = 327 , Osage = 219 , Osmanya = 260 , Pahawh_Hmong = 450 , Palmyrene = 126 , Pau_Cin_Hau = 263 , Phags_Pa = 331 , Phoenician = 115 , Psalter_Pahlavi = 132 , Rejang = 363 , Runic = 211 , Samaritan = 123 , Saurashtra = 344 , Sharada = 319 , Shavian = 281 , Siddham = 302 , SignWriting = 95 , Sinhala = 348 , Sogdian = 141 , Sora_Sompeng = 398 , Soyombo = 329 , Sundanese = 362 , Syloti_Nagri = 316 , Syriac = 135 , Tagalog = 370 , Tagbanwa = 373 , Tai_Le = 353 , Tai_Tham = 351 , Tai_Viet = 359 , Takri = 321 , Tamil = 346 , Tangsa = 520 , Tangut = 520 , Telugu = 340 , Thaana = 170 , Thai = 352 , Tibetan = 330 , Tifinagh = 120 , Tirhuta = 326 , Toto = 294 , Ugaritic = 40 , Vai = 470 , Vithkuqi = 228 , Wancho = 283 , Warang_Citi = 262 , Yezidi = 192 , Yi = 460 , Zanabazar_Square = 339 , Zzzz = 0 } |
| enum class | unicode_sentence_break_property : uint8_t { Other = 0 , Sp = 1 , LF = 2 , CR = 3 , STerm = 4 , Close = 5 , SContinue = 6 , ATerm = 7 , Numeric = 8 , Upper = 9 , Lower = 10 , Sep = 11 , Format = 12 , OLetter = 13 , Extend = 14 } |
| enum class | unicode_word_break_property : uint8_t { Other = 0 , LF = 1 , Newline = 2 , CR = 3 , WSegSpace = 4 , Double_Quote = 5 , Single_Quote = 6 , MidNum = 7 , MidNumLet = 8 , Numeric = 9 , MidLetter = 10 , ALetter = 11 , ExtendNumLet = 12 , Format = 13 , Extend = 14 , Hebrew_Letter = 15 , ZWJ = 16 , Katakana = 17 , Regional_Indicator = 18 } |
| enum class | plurality_value : uint8_t { zero = 0 , one = 1 , two = 2 , few = 3 , many = 4 , other = 5 } |
| The plurality value of a cardinal or ordinal number. More... | |
| enum class | plurality_mask : uint8_t { zero = 1 << to_underlying(plurality_value::zero) , one = 1 << to_underlying(plurality_value::one) , two = 1 << to_underlying(plurality_value::two) , few = 1 << to_underlying(plurality_value::few) , many = 1 << to_underlying(plurality_value::many) , other = 1 << to_underlying(plurality_value::other) } |
| A mask of plurality values that this language supports. More... | |
Functions | |
| char32_t | random_char () noexcept |
| constexpr std::u32string | to_u32string (std::u32string_view rhs) noexcept |
| Identity conversion from UTF-32 to UTF-32. | |
| constexpr std::u32string | to_u32string (std::u16string_view rhs) noexcept |
| Conversion from UTF-16 to UTF-32. | |
| constexpr std::u32string | to_u32string (std::u8string_view rhs) noexcept |
| Conversion from UTF-8 to UTF-32. | |
| constexpr std::u32string | to_u32string (std::wstring_view rhs) noexcept |
| Conversion from wide-string (UTF-16/32) to UTF-32. | |
| constexpr std::u32string | to_u32string (std::string_view rhs) noexcept |
| Conversion from UTF-8 to UTF-32. | |
| constexpr std::u16string | to_u16string (std::u32string_view rhs) noexcept |
| Conversion from UTF-32 to UTF-16. | |
| constexpr std::u16string | to_u16string (std::u16string_view rhs) noexcept |
| Identity conversion from UTF-16 to UTF-16. | |
| constexpr std::u16string | to_u16string (std::u8string_view rhs) noexcept |
| Conversion from UTF-8 to UTF-16. | |
| constexpr std::u16string | to_u16string (std::wstring_view rhs) noexcept |
| Conversion from wide-string (UTF-16/32) to UTF-16. | |
| constexpr std::u16string | to_u16string (std::string_view rhs) noexcept |
| Conversion from UTF-8 to UTF-16. | |
| constexpr std::u8string | to_u8string (std::u32string_view rhs) noexcept |
| Conversion from UTF-32 to UTF-8. | |
| constexpr std::u8string | to_u8string (std::u16string_view rhs) noexcept |
| Conversion from UTF-16 to UTF-8. | |
| constexpr std::u8string | to_u8string (std::u8string_view rhs) noexcept |
| Identity conversion from UTF-8 to UTF-8. | |
| constexpr std::u8string | to_u8string (std::wstring_view rhs) noexcept |
| Conversion from wide-string (UTF-16/32) to UTF-8. | |
| constexpr std::u8string | to_u8string (std::string_view rhs) noexcept |
| Conversion from UTF-8 to UTF-8. | |
| constexpr std::wstring | to_wstring (std::u32string_view rhs) noexcept |
| Conversion from UTF-32 to wide-string (UTF-16/32). | |
| constexpr std::wstring | to_wstring (std::u16string_view rhs) noexcept |
| Conversion from UTF-16 to wide-string (UTF-16/32). | |
| constexpr std::wstring | to_wstring (std::u8string_view rhs) noexcept |
| Conversion from UTF-8 to wide-string (UTF-16/32). | |
| constexpr std::wstring | to_wstring (std::wstring_view rhs) noexcept |
| Identity conversion from wide-string (UTF-16/32) to wide-string (UTF-16/32). | |
| constexpr std::wstring | to_wstring (std::string_view rhs) noexcept |
| Conversion from UTF-8 to wide-string (UTF-16/32). | |
| constexpr std::string | to_string (std::u32string_view rhs) noexcept |
| Conversion from UTF-32 to UTF-8. | |
| constexpr std::string | to_string (std::u16string_view rhs) noexcept |
| Conversion from UTF-16 to UTF-8. | |
| constexpr std::string | to_string (std::u8string_view rhs) noexcept |
| Identity conversion from UTF-8 to UTF-8. | |
| constexpr std::string | to_string (std::wstring_view rhs) noexcept |
| Conversion from wide-string (UTF-16/32) to UTF-8. | |
| constexpr std::string | to_string (std::string_view rhs) noexcept |
| Conversion from UTF-8 to UTF-8. | |
| constexpr matrix3 | color_primaries_to_RGBtoXYZ (float wx, float wy, float rx, float ry, float gx, float gy, float bx, float by) noexcept |
| Create a color space conversion matrix. | |
| float | Rec2100_linear_to_gamma (float L) noexcept |
| Rec.2100 linear to gamma transfer function. | |
| float | Rec2100_gamma_to_linear (float N) noexcept |
| Rec.2100 gamma to linear transfer function. | |
| float | sRGB_linear_to_gamma (float u) noexcept |
| sRGB linear to gamma transfer function. | |
| float | sRGB_gamma_to_linear (float u) noexcept |
| sRGB gamma to linear transfer function. | |
| uint8_t | sRGB_linear16_to_gamma8 (float16 u) noexcept |
| sRGB linear float-16 to gamma transfer function. | |
| float16 | sRGB_gamma8_to_linear16 (uint8_t u) noexcept |
| sRGB gamma to linear float-16 transfer function. | |
| color | color_from_sRGB (std::floating_point auto r, std::floating_point auto g, std::floating_point auto b, std::floating_point auto a) noexcept |
| Convert gama corrected sRGB color to the linear color. | |
| color | color_from_sRGB (std::integral auto r, std::integral auto g, std::integral auto b, std::integral auto a) noexcept |
| Convert gama corrected sRGB color to the linear color. | |
| color | color_from_sRGB (std::string_view str) |
| constexpr global_state_type | operator| (global_state_type lhs, global_state_type rhs) noexcept |
| constexpr global_state_type | operator& (global_state_type lhs, global_state_type rhs) noexcept |
| constexpr global_state_type | operator~ (global_state_type rhs) noexcept |
| constexpr bool | to_bool (global_state_type rhs) noexcept |
| constexpr bool | is_system_running (global_state_type rhs) noexcept |
| constexpr bool | is_system_shutting_down (global_state_type rhs) noexcept |
| bool | is_system_running () noexcept |
| Check if the HikoGUI system is running. | |
| bool | is_system_shutting_down () noexcept |
| Check if the HikoGUI system is being shut down. | |
| void | set_log_level (global_state_type log_level) noexcept |
| Set the logging level. | |
| bool | global_state_disable (global_state_type subsystem, std::memory_order order=std::memory_order::seq_cst) noexcept |
| Disable a subsystem. | |
| bool | global_state_enable (global_state_type subsystem, std::memory_order order=std::memory_order::seq_cst) noexcept |
| Enable a subsystem. | |
| template<typename T > requires (is_atomic_v<T>) | |
| T::value_type | start_subsystem (T &check_variable, typename T::value_type off_value, typename T::value_type(*init_function)(), void(*deinit_function)()) |
| Start a sub-system. | |
| bool | start_subsystem (global_state_type state_bit, bool(*init_function)(), void(*deinit_function)()) |
| Start a sub-system. | |
| template<typename T > requires (is_atomic_v<T>) | |
| T::value_type | start_subsystem_or_terminate (T &check_variable, typename T::value_type off_value, typename T::value_type(*init_function)(), void(*deinit_function)()) |
| Start a sub-system. | |
| void | stop_subsystem (void(*deinit_function)()) |
| Stop a sub-system. | |
| void | start_system () noexcept |
| Start the system. | |
| void | shutdown_system () noexcept |
| Shutdown the system. | |
| thread_id | current_thread_id () noexcept |
| Get the current thread id. | |
| void | set_thread_name (std::string_view name) noexcept |
| Set the name of the current thread. | |
| std::string | get_thread_name (thread_id id) noexcept |
| Get the thread name of a thread id. | |
| std::vector< bool > | process_affinity_mask () |
| Get the current process CPU affinity mask. | |
| std::vector< bool > | set_thread_affinity_mask (std::vector< bool > const &mask) |
| Set the current thread CPU affinity mask. | |
| std::vector< bool > | set_thread_affinity (std::size_t cpu_id) |
| Set the current thread CPU affinity to a single CPU. | |
| std::size_t | advance_thread_affinity (std::size_t &cpu) noexcept |
| Advance thread affinity to the next CPU. | |
| std::size_t | current_cpu_id () noexcept |
| Get the current CPU id. | |
| template<typename T , typename Op > | |
| void | dsp_visit (std::span< T > r, std::span< T const > a, std::span< T const > b, Op op) noexcept |
| template<typename T , typename Op > | |
| void | dsp_visit (std::span< T > r, std::span< T const > a, T b, Op op) noexcept |
| template<typename T , typename Op > | |
| void | dsp_visit (std::span< float > r, float a, Op op) noexcept |
| void | dsp_add (dsp_argument auto... args) noexcept |
| void | dsp_sub (dsp-argument auto... args) noexcept |
| void | dsp_mul (dsp-argument auto... args) noexcept |
| constexpr access_mode | operator| (access_mode const &lhs, access_mode const &rhs) noexcept |
| constexpr access_mode | operator& (access_mode const &lhs, access_mode const &rhs) noexcept |
| constexpr bool | to_bool (access_mode const &rhs) noexcept |
| generator< std::filesystem::path > | glob (glob_pattern pattern) |
| Find paths on the filesystem that match the glob pattern. | |
| generator< std::filesystem::path > | glob (std::string_view pattern) |
| Find paths on the filesystem that match the glob pattern. | |
| generator< std::filesystem::path > | glob (std::string pattern) |
| Find paths on the filesystem that match the glob pattern. | |
| generator< std::filesystem::path > | glob (char const *pattern) |
| Find paths on the filesystem that match the glob pattern. | |
| generator< std::filesystem::path > | glob (std::filesystem::path pattern) |
| Find paths on the filesystem that match the glob pattern. | |
| generator< std::filesystem::path > | glob (path_location location, std::filesystem::path ref) |
| Find paths on the filesystem that match the glob pattern. | |
| generator< std::filesystem::path > | glob (path_location location, std::string_view ref) |
| Find paths on the filesystem that match the glob pattern. | |
| generator< std::filesystem::path > | glob (path_location location, std::string ref) |
| Find paths on the filesystem that match the glob pattern. | |
| generator< std::filesystem::path > | glob (path_location location, char const *ref) |
| Find paths on the filesystem that match the glob pattern. | |
| generator< std::filesystem::path > | get_paths (path_location location) |
| Get a set of paths. | |
| std::optional< std::filesystem::path > | find_path (path_location location, std::filesystem::path const &ref) noexcept |
| Find a path. | |
| std::filesystem::path | get_path (path_location location) |
| Get the single and only path. | |
| std::span< std::byte const > | otype_cmap_find (std::span< std::byte const > bytes, uint16_t platform_id, uint16_t platform_specific_id) |
| font_char_map | otype_cmap_parse_map_4 (std::span< std::byte const > over_sized_bytes) |
| font_char_map | otype_cmap_parse_map_6 (std::span< std::byte const > over_sized_bytes) |
| font_char_map | otype_cmap_parse_map_12 (std::span< std::byte const > over_sized_bytes) |
| font_char_map | otype_cmap_parse_map (std::span< std::byte const > bytes) |
| font_char_map | otype_cmap_parse (std::span< std::byte const > bytes) |
| graphic_path | otype_glyf_get_path (std::span< std::byte const > bytes, float em_scale) |
| Get the graphic-path of a simple glyph. | |
| generator< otype_glyf_component > | otype_glyf_get_compound (std::span< std::byte const > bytes, float em_scale) |
| Get the components of a compound glyph. | |
| bool | otype_glyf_is_compound (std::span< std::byte const > bytes) |
| Check if this glyph is a compound or simple glyph. | |
| aarectangle | otype_glyf_get_bounding_box (std::span< std::byte const > bytes, float em_scale) |
| Get the bounding box of a simple glyph. | |
| auto | otype_head_parse (std::span< std::byte const > bytes) |
| auto | otype_hhea_parse (std::span< std::byte const > bytes, float em_scale) |
| auto | otype_hmtx_get (std::span< std::byte const > bytes, hi::glyph_id glyph_id, uint16_t num_horizontal_metrics, float em_scale) |
| std::optional< float > | otype_kern_sub0_find (size_t &offset, std::span< std::byte const > bytes, glyph_id first_glyph_id, glyph_id second_glyph_id, float em_scale) |
| vector2 | otype_kern_v0_find (std::span< std::byte const > bytes, glyph_id first_glyph_id, glyph_id second_glyph_id, float em_scale) |
| 'kern' version 0 find. | |
| vector2 | otype_kern_v1_find (std::span< std::byte const > bytes, glyph_id first_glyph_id, glyph_id second_glyph_id, float em_scale) |
| vector2 | otype_kern_find (std::span< std::byte const > bytes, glyph_id first_glyph_id, glyph_id second_glyph_id, float em_scale) |
| std::pair< size_t, size_t > | otype_loca16_get (std::span< std::byte const > bytes, hi::glyph_id glyph_id) |
| std::pair< size_t, size_t > | otype_loca32_get (std::span< std::byte const > bytes, hi::glyph_id glyph_id) |
| std::pair< size_t, size_t > | otype_loca_get (std::span< std::byte const > loca_bytes, hi::glyph_id glyph_id, bool loca_is_offset32) |
| std::span< std::byte const > | otype_loca_get (std::span< std::byte const > loca_bytes, std::span< std::byte const > glyf_bytes, hi::glyph_id glyph_id, bool loca_is_offset32) |
| auto | otype_maxp_parse (std::span< std::byte const > bytes) |
| std::optional< std::string > | otype_name_search (std::span< std::byte const > bytes, uint16_t name_id, language_tag language=language_tag{"en"}) |
| Get a name from the name table. | |
| auto | otype_name_get_family (std::span< std::byte const > bytes) |
| auto | otype_parse_os2 (std::span< std::byte const > bytes, float em_scale) |
| template<fixed_string Name> | |
| std::span< std::byte const > | otype_sfnt_search (std::span< std::byte const > bytes) |
| std::optional< std::string > | otype_get_string (std::span< std::byte const > bytes, uint16_t platform_id, uint16_t platform_specific_id) |
| constexpr axis | operator& (axis const &lhs, axis const &rhs) noexcept |
| AND the axis. | |
| constexpr axis | operator| (axis const &lhs, axis const &rhs) noexcept |
| OR the axis. | |
| constexpr bool | to_bool (axis const &rhs) noexcept |
| Check if any of the axis are set. | |
| aarectangle | fit (aarectangle const &bounds, aarectangle const &rectangle) noexcept |
| Make a rectangle fit inside bounds. | |
| aarectanglei | fit (aarectanglei const &bounds, aarectanglei const &rectangle) noexcept |
| Make a rectangle fit inside bounds. | |
| template<> | |
| constexpr aarectanglei | narrow_cast (aarectangle const &rhs) noexcept |
| template<> | |
| constexpr aarectangle | narrow_cast (aarectanglei const &rhs) noexcept |
| template<> | |
| constexpr extent2i | narrow_cast (extent2 const &rhs) noexcept |
| template<> | |
| constexpr extent2 | narrow_cast (extent2i const &rhs) noexcept |
| template<> | |
| constexpr marginsi | narrow_cast (margins const &rhs) noexcept |
| template<> | |
| constexpr margins | narrow_cast (marginsi const &rhs) noexcept |
| std::string_view | to_string (gui_event_type rhs) noexcept |
| Convert a GUI event type to a string. | |
| constexpr gui_event_type | to_gui_event_type (std::string_view name) noexcept |
| Convert a name to a GUI event type. | |
| constexpr gui_event_variant | to_gui_event_variant (gui_event_type type) noexcept |
| Convert a gui event type, to an gui event variant. | |
| widget * | get_if (widget *start, widget_id id, bool include_invisible) noexcept |
| widget & | get (widget &start, widget_id id, bool include_invisible) |
| template<std::invocable< widget & > F> | |
| void | apply (widget &start, bool include_invisible, F const &f) |
| template<std::invocable< widget & > F> | |
| void | apply (widget &start, F const &f) |
| template<typename T , typename Allocator = std::allocator<std::remove_const_t<T>>> | |
| pixmap (pixmap_span< T > const &other, Allocator allocator=std::allocator{}) -> pixmap< std::remove_const_t< T > > | |
| template<typename T , typename Allocator > | |
| pixmap_span (pixmap< T, Allocator > const &other) -> pixmap_span< T const > | |
| template<typename T , typename Allocator > | |
| pixmap_span (pixmap< T, Allocator > &other) -> pixmap_span< T > | |
| std::pair< std::string_view, language_tag > | get_translation (std::string_view msgid, long long n=0, std::vector< language_tag > const &languages=os_settings::language_tags()) noexcept |
| void | add_translation (std::string_view msgid, language_tag language, std::vector< std::string > const &plural_forms) noexcept |
| void | add_translation (po_translations const &translations, language_tag const &language) noexcept |
| template<std::input_iterator It, std::input_iterator ItEnd> | |
| lean_vector (It first, ItEnd last) -> lean_vector< typename std::iterator_traits< It >::value_type > | |
| template<size_t LookaheadCount, typename It , std::sentinel_for< It > ItEnd = std::default_sentinel_t> | |
| auto | make_lookahead_iterator (It first, ItEnd last=std::default_sentinel) noexcept |
| Create a lookahead_iterator from a forward iterator. | |
| template<size_t LookaheadCount, std::ranges::range Range> | |
| auto | make_lookahead_iterator (Range const &range) noexcept |
| Create a lookahead_iterator from a forward iterator. | |
| template<typename It , std::sentinel_for< It > ItEnd> | |
| constexpr std::string | token_location (It &it, ItEnd last, std::filesystem::path const &path) noexcept |
| Create a location string for error messages. | |
| template<char Wildcard = '*'> | |
| constexpr bool | pattern_match (std::string_view needle, std::string_view haystack) noexcept |
| Patern match. | |
| template<typename Functor > | |
| void | process_call (Functor &&functor, std::string_view data) |
| Call a function in a new process. | |
| template<typename Container > | |
| constexpr auto | recursive_iterator_begin (Container &rhs) noexcept |
| Get a recursive iterator from the begin of a recursive container. | |
| template<typename Container > | |
| constexpr auto | recursive_iterator_end (Container &rhs) noexcept |
| Get a recursive iterator from one beyond the end of a recursive container. | |
| template<typename Container > | |
| constexpr auto | recursive_iterator_begin (Container const &rhs) noexcept |
| Get a recursive iterator from the begin of a recursive container. | |
| template<typename Container > | |
| constexpr auto | recursive_iterator_end (Container const &rhs) noexcept |
| Get a recursive iterator from one beyond the end of a recursive container. | |
| template<size_t Index, typename Type > | |
| constexpr decltype(auto) | get_data_member (Type &&rhs) noexcept |
| template<typename T > | |
| constexpr auto | type_name () noexcept |
| void | terminate_handler () noexcept |
| The HikoGUI terminate handler. | |
| spell_errors | check_spelling (gstring text, language_tag language, size_t offset=0) noexcept |
|
template<typename It , std::sentinal_for< It > ItEnd> requires (std::is_same_v<std::iter_value_t<It>, character>) | |
| spell_errors | check_spelling (It first, ItEnd last) noexcept |
| template<typename It , std::sentinel_for< It > ItEnd> requires (std::is_same_v<std::iter_value_t<It>, character>) | |
| void | fixup_script (It first, ItEnd last, iso_15924 default_script) noexcept |
| Fixup the iso_15924 script in text. | |
|
template<std::ranges::range R> requires (std::is_same_v<std::ranges::range_value_t<R>, character>) | |
| void | fixup_script (R &str, iso_15924 default_script) noexcept |
| text | to_text (gstring_view str, character_attributes default_attributes) noexcept |
| template<character_attribute... Args> | |
| text | to_text (gstring_view str, Args const &...args) noexcept |
| text | to_text (std::string_view str, unicode_normalize_config config, character_attributes default_attributes) noexcept |
| text | to_text (std::string_view str, character_attributes default_attributes) noexcept |
| template<character_attribute... Args> | |
| text | to_text (std::string_view str, unicode_normalize_config config, Args const &...args) noexcept |
| template<character_attribute... Args> | |
| text | to_text (std::string_view str, Args const &...args) noexcept |
| text | to_text_with_markup (gstring_view str, character_attributes default_attributes) noexcept |
| text | to_text_with_markup (std::string_view str, character_attributes default_attributes) noexcept |
| template<character_attribute... Attributes> | |
| text | to_text_with_markup (gstring_view str, Attributes const &...attributes) noexcept |
| template<character_attribute... Attributes> | |
| text | to_text_with_markup (std::string_view str, Attributes const &...attributes) noexcept |
| constexpr gstring | to_gstring (text_view str) noexcept |
| constexpr std::string | to_string (text_view str) noexcept |
| constexpr std::wstring | to_wstring (text_view str) noexcept |
| constexpr std::u32string | to_u32string (text_view str) noexcept |
| template<typename It , std::sentinel_for< It > ItEnd> requires (std::is_same_v<std::iter_value_t<It>, character>) | |
| void | set_attributes (It first, ItEnd last, character_attributes attributes) noexcept |
| Change the attributes on a piece of text. | |
| template<typename It , std::sentinel_for< It > ItEnd, character_attribute... Args> requires (std::is_same_v<std::iter_value_t<It>, character>) | |
| void | set_attributes (It first, ItEnd last, Args const &...args) noexcept |
| Change the attributes on a piece of text. | |
| template<std::ranges::range R> requires (std::is_same_v<std::ranges::range_value_t<R>, character>) | |
| void | set_attributes (R &str, character_attributes attributes) noexcept |
| Change the attributes on text. | |
| template<std::ranges::range R, character_attribute... Args> requires (std::is_same_v<std::ranges::range_value_t<R>, character>) | |
| void | set_attributes (R &str, Args const &...args) noexcept |
| Change the attributes on text. | |
| text | to_text (std::integral auto const &value) noexcept |
| Convert integer to string. | |
| text | to_text (std::floating_point auto const &value) noexcept |
| Convert floating point to string. | |
| template<std::integral T> | |
| T | from_text (text_view str, int base=10) |
| Convert a string to an integer. | |
| template<std::floating_point T> | |
| T | from_text (text_view str) |
| Convert a string to an floating point. | |
| constexpr style_sheet_value_mask | operator| (style_sheet_value_mask const &lhs, style_sheet_value_mask const &rhs) noexcept |
| constexpr style_sheet_value_mask | operator& (style_sheet_value_mask const &lhs, style_sheet_value_mask const &rhs) noexcept |
| constexpr bool | to_bool (style_sheet_value_mask const &rhs) noexcept |
| template<typename It , std::sentinel_for< It > ItEnd> | |
| constexpr style_sheet | parse_style_sheet (It first, ItEnd last, std::filesystem::path const &path) |
| constexpr style_sheet | parse_style_sheet (std::string_view str, std::filesystem::path const &path) |
| style_sheet | parse_style_sheet (std::filesystem::path const &path) |
| void | register_theme_directory (std::filesystem::path const &path) noexcept |
| std::vector< std::string > | theme_names () noexcept |
| Get a list of theme names. | |
| bool | load_theme (std::string name, theme_mode mode) noexcept |
| Find a theme matching the name and mode. | |
| std::vector< std::string > | theme_model_keys () noexcept |
| Get a list of all the keys registered at program startup. | |
| theme_model_base & | theme_model_by_key (std::string const &key) noexcept |
| Get a theme-model by key. | |
| constexpr theme_state | operator| (theme_state const &lhs, theme_state const &rhs) noexcept |
| constexpr theme_state & | operator|= (theme_state &lhs, theme_state const &rhs) noexcept |
| constexpr theme_state_mask | operator| (theme_state_mask const &lhs, theme_state_mask const &rhs) noexcept |
| constexpr theme_state_mask & | operator|= (theme_state_mask &lhs, theme_state_mask const &rhs) noexcept |
| constexpr bool | is_isolate_starter (unicode_bidi_class const &rhs) noexcept |
| constexpr bool | is_isolate_formatter (unicode_bidi_class const &rhs) noexcept |
| constexpr bool | is_NI (unicode_bidi_class const &rhs) noexcept |
| constexpr bool | is_control (unicode_bidi_class const &rhs) noexcept |
| constexpr unicode_bidi_class | unicode_bidi_class_from_string (std::string_view str) noexcept |
| constexpr unicode_bidi_class | ucd_get_bidi_class (char32_t code_point) noexcept |
| constexpr char32_t | ucd_get_bidi_mirroring_glyph (char32_t code_point) noexcept |
| Get the bidi-mirroring-glyph for a code-point. | |
| constexpr unicode_bidi_paired_bracket_type | ucd_get_bidi_paired_bracket_type (char32_t code_point) noexcept |
| constexpr uint8_t | ucd_get_canonical_combining_class (char32_t code_point) noexcept |
| constexpr std::optional< char32_t > | ucd_get_composition (char32_t cp1, char32_t cp2) noexcept |
| Get the composition info of two code-points. | |
| constexpr ucd_decomposition_info | ucd_get_decomposition (char32_t code_point) noexcept |
| Get the decomposition info of a code-point. | |
| constexpr unicode_east_asian_width | ucd_get_east_asian_width (char32_t code_point) noexcept |
| constexpr bool | is_LC (unicode_general_category const &rhs) noexcept |
| constexpr bool | is_L (unicode_general_category const &rhs) noexcept |
| constexpr bool | is_M (unicode_general_category const &rhs) noexcept |
| constexpr bool | is_Mn_or_Mc (unicode_general_category const &rhs) noexcept |
| constexpr bool | is_N (unicode_general_category const &rhs) noexcept |
| constexpr bool | is_P (unicode_general_category const &rhs) noexcept |
| constexpr bool | is_S (unicode_general_category const &rhs) noexcept |
| constexpr bool | is_Z (unicode_general_category const &rhs) noexcept |
| constexpr bool | is_Zp_or_Zl (unicode_general_category const &rhs) noexcept |
| constexpr bool | is_C (unicode_general_category const &rhs) noexcept |
| constexpr bool | is_visible (unicode_general_category const &rhs) noexcept |
| constexpr bool | is_noncharacter (char32_t rhs) noexcept |
| constexpr unicode_general_category | ucd_get_general_category (char32_t code_point) noexcept |
| constexpr unicode_grapheme_cluster_break | ucd_get_grapheme_cluster_break (char32_t code_point) noexcept |
| constexpr unicode_lexical_class | ucd_get_lexical_class (char32_t code_point) noexcept |
| constexpr unicode_line_break_class | ucd_get_line_break_class (char32_t code_point) noexcept |
| constexpr bool | operator== (iso_15924 const &lhs, unicode_script const &rhs) noexcept |
| constexpr iso_15924 | ucd_get_script (char32_t code_point) noexcept |
| constexpr unicode_sentence_break_property | ucd_get_sentence_break_property (char32_t code_point) noexcept |
| constexpr unicode_word_break_property | ucd_get_word_break_property (char32_t code_point) noexcept |
| template<typename It , typename ItEnd > | |
| constexpr std::vector< unicode_break_opportunity > | unicode_grapheme_break (It first, ItEnd last) noexcept |
| constexpr plurality_mask | operator| (plurality_mask const &lhs, plurality_mask const &rhs) noexcept |
| Or plurality masks together. | |
| constexpr plurality | cardinal_plural (language_tag language, std::integral auto n) noexcept |
| Get plural information of a number in a given language. | |
| constexpr size_t | cardinal_plural (language_tag language, std::integral auto n, size_t size) noexcept |
| Get an index into message plural-variants for a given number. | |
| constexpr bool | bound_check (std::unsigned_integral auto index, std::unsigned_integral auto upper) noexcept |
| Check if an unsigned index is less than the bound. | |
| constexpr bool | bound_check (std::unsigned_integral auto index, std::signed_integral auto upper) noexcept |
| constexpr bool | bound_check (std::integral auto index, std::integral auto lower, std::integral auto upper) noexcept |
| Check if an index is between the lower (inclusive) and upper (exclusive). | |
| constexpr bool | bound_check (std::integral auto index, bound_check_range_helper auto &&range) noexcept |
| Check if an index is within a range. | |
| template<std::integral T> | |
| std::string | to_string (T const &value) noexcept |
| Convert integer to string. | |
| template<std::integral T> | |
| T | from_string (std::string_view str, int base=10) |
| Convert a string to an integer. | |
| template<std::floating_point T> | |
| T | from_string (std::string_view str) |
| Convert a string to an floating point. | |
| template<arithmetic Lhs, arithmetic Rhs> | |
| constexpr auto | three_way_compare (Lhs const &lhs, Rhs const &rhs) noexcept |
| Safely compare two arithmetic values to each other. | |
| void | prepare_debug_break () noexcept |
| Prepare for breaking in the debugger. | |
| std::string | get_last_error_message () noexcept |
| Get the OS error message from the last error received on this thread. | |
| std::chrono::time_zone const & | cached_current_zone () noexcept |
| Cached current time zone. | |
| template<typename Tag , typename T1 , typename Ratio1 , typename T2 , typename Ratio2 > | |
| constexpr bool | operator== (unit< Tag, T1, Ratio1 > const &lhs, unit< Tag, T2, Ratio2 > const &rhs) noexcept |
| template<typename Tag , typename T1 , typename Ratio1 , typename T2 , typename Ratio2 > | |
| constexpr auto | operator<=> (unit< Tag, T1, Ratio1 > const &lhs, unit< Tag, T2, Ratio2 > const &rhs) noexcept |
| template<typename Tag , typename T1 , typename Ratio1 , typename T2 , typename Ratio2 > | |
| constexpr auto | operator+ (unit< Tag, T1, Ratio1 > const &lhs, unit< Tag, T2, Ratio2 > const &rhs) noexcept |
| template<typename Tag , typename T1 , typename Ratio1 , typename T2 , typename Ratio2 > | |
| constexpr auto | operator- (unit< Tag, T1, Ratio1 > const &lhs, unit< Tag, T2, Ratio2 > const &rhs) noexcept |
| template<typename Tag , typename T1 , typename Ratio1 , typename T2 , typename Ratio2 > | |
| constexpr auto | operator/ (unit< Tag, T1, Ratio1 > const &lhs, unit< Tag, T2, Ratio2 > const &rhs) noexcept |
| constexpr std::size_t | operator""_uz (unsigned long long lhs) noexcept |
| constexpr std::size_t | operator""_zu (unsigned long long lhs) noexcept |
| constexpr std::ptrdiff_t | operator""_z (unsigned long long lhs) noexcept |
| template<typename T , typename U > | |
| bool | compare_store (T &lhs, U &&rhs) noexcept |
| Compare then store if there was a change. | |
| template<typename T , typename U > | |
| bool | compare_store (std::atomic< T > &lhs, U &&rhs) noexcept |
| Compare then store if there was a change. | |
| template<class T , class U > | |
| constexpr auto && | forward_like (U &&x) noexcept |
| std::wstring | win32_string_to_wstring (std::string_view s) |
| Convert a UTF-8 std::string to a win32-API compatible std::wstring. | |
| std::string | win32_wstring_to_string (std::wstring_view s) |
| Convert a win32-API compatible std::wstring to a UTF-8 std::string. | |
| std::shared_ptr< button_delegate > | make_default_radio_button_delegate (auto &&value, auto &&on_value) noexcept |
| Make a shared pointer to a radio-button delegate. | |
| std::shared_ptr< button_delegate > | make_default_toggle_button_delegate (auto &&value, auto &&...args) noexcept |
| Make a shared pointer to a toggle-button delegate. | |
| std::shared_ptr< selection_delegate > | make_default_selection_delegate (auto &&value, auto &&options, auto &&...off_value) noexcept |
| Create a shared pointer to a default selection delegate. | |
| std::shared_ptr< tab_delegate > | make_default_tab_delegate (auto &&value) noexcept |
| Create a shared pointer to a default tab delegate. | |
| std::shared_ptr< text_delegate > | make_default_text_delegate (auto &&value) noexcept |
| Create a shared pointer to a default text delegate. | |
| std::shared_ptr< text_field_delegate > | make_default_text_field_delegate (auto &&value) noexcept |
| Create a shared pointer to a default text delegate. | |
Variables | |
| template<fixed_string Tag> | |
| auto | named_color = detail::named_color_type<Tag>{} |
| template<> | |
| auto | named_color<"black"> = detail::named_color_type<"black">{color{0, 0, 0}} |
| template<> | |
| auto | named_color<"silver"> = detail::named_color_type<"silver">{color{192, 192, 192}} |
| template<> | |
| auto | named_color<"gray"> = detail::named_color_type<"gray">{color{128, 128, 128}} |
| template<> | |
| auto | named_color<"white"> = detail::named_color_type<"white">{color{255, 255, 255}} |
| template<> | |
| auto | named_color<"maroon"> = detail::named_color_type<"maroon">{color{128, 0, 0}} |
| template<> | |
| auto | named_color<"red"> = detail::named_color_type<"red">{color{255, 0, 0}} |
| template<> | |
| auto | named_color<"purple"> = detail::named_color_type<"purple">{color{128, 0, 128}} |
| template<> | |
| auto | named_color<"fuchsia"> = detail::named_color_type<"fuchsia">{color{255, 0, 255}} |
| template<> | |
| auto | named_color<"green"> = detail::named_color_type<"green">{color{0, 128, 0}} |
| template<> | |
| auto | named_color<"lime"> = detail::named_color_type<"lime">{color{0, 255, 0}} |
| template<> | |
| auto | named_color<"olive"> = detail::named_color_type<"olive">{color{128, 128, 0}} |
| template<> | |
| auto | named_color<"yellow"> = detail::named_color_type<"yellow">{color{255, 255, 0}} |
| template<> | |
| auto | named_color<"navy"> = detail::named_color_type<"navy">{color{0, 0, 128}} |
| template<> | |
| auto | named_color<"blue"> = detail::named_color_type<"blue">{color{0, 0, 255}} |
| template<> | |
| auto | named_color<"teal"> = detail::named_color_type<"teal">{color{0, 128, 128}} |
| template<> | |
| auto | named_color<"aqua"> = detail::named_color_type<"aqua">{color{0, 255, 255}} |
| template<> | |
| auto | named_color<"indigo"> = detail::named_color_type<"indigo">{color{75, 0, 130}} |
| template<> | |
| auto | named_color<"orange"> = detail::named_color_type<"orange">{color{255, 165, 0}} |
| template<> | |
| auto | named_color<"pink"> = detail::named_color_type<"pink">{color{255, 192, 203}} |
| template<> | |
| auto | named_color<"background"> = detail::named_color_type<"background">{color{0, 0, 0}} |
| template<> | |
| auto | named_color<"gray1"> = detail::named_color_type<"gray1">{color{26, 26, 26}} |
| template<> | |
| auto | named_color<"gray2"> = detail::named_color_type<"gray2">{color{51, 51, 51}} |
| template<> | |
| auto | named_color<"gray3"> = detail::named_color_type<"gray3">{color{77, 77, 77}} |
| template<> | |
| auto | named_color<"gray4"> = detail::named_color_type<"gray4">{color{102, 102, 102}} |
| template<> | |
| auto | named_color<"gray5"> = detail::named_color_type<"gray5">{color{127, 127, 127}} |
| template<> | |
| auto | named_color<"gray6"> = detail::named_color_type<"gray6">{color{153, 153, 153}} |
| template<> | |
| auto | named_color<"gray7"> = detail::named_color_type<"gray7">{color{179, 179, 179}} |
| template<> | |
| auto | named_color<"gray8"> = detail::named_color_type<"gray8">{color{204, 204, 204}} |
| template<> | |
| auto | named_color<"gray9"> = detail::named_color_type<"gray9">{color{229, 229, 229}} |
| template<> | |
| auto | named_color<"foreground"> = detail::named_color_type<"foreground">{color{255, 255, 255}} |
| template<> | |
| auto | named_color<"transparent"> = detail::named_color_type<"transparent">{color{0, 0, 0, 0}} |
| constexpr matrix3 | Rec2020_to_XYZ = color_primaries_to_RGBtoXYZ(0.3127f, 0.3290f, 0.708f, 0.292f, 0.170f, 0.797f, 0.131f, 0.046f) |
| Rec.2020 to XYZ color space conversion matrix. | |
| constexpr matrix3 | XYZ_to_Rec2020 = ~Rec2020_to_XYZ |
| XYZ to Rec.2020 color space conversion matrix. | |
| constexpr matrix3 | Rec2100_to_XYZ = Rec2020_to_XYZ |
| Rec.2100 to XYZ color space conversion matrix. | |
| constexpr matrix3 | XYZ_to_Rec2100 = XYZ_to_Rec2020 |
| XYZ to Rec.2100 color space conversion matrix. | |
| constexpr matrix3 | sRGB_to_XYZ |
| Matrix to convert sRGB to XYZ. | |
| constexpr matrix3 | XYZ_to_sRGB |
| Matrix to convert XYZ to sRGB. | |
| std::atomic< global_state_type > | global_state = global_state_type::log_level_default |
| The global state of the hikogui framework. | |
| constexpr std::size_t | maximum_num_cpus = 64 |
| constexpr auto | gui_event_type_metadata |
| log | log_global |
| template<lexer_config Config> | |
| constexpr auto | lexer = detail::lexer<Config>() |
| template<typename T > | |
| constexpr size_t | number_of_data_members_v = number_of_data_members<T>::value |
| std::terminate_handler | old_terminate_handler |
| The old terminate handler. | |
| constexpr auto | style_sheet_declaration_name_metadata |
| constexpr auto | style_sheet_declaration_name_value_mask_metadata |
| template<fixed_string Tag> | |
| auto | theme = theme_model<Tag>{} |
| A tagged global variable to a theme model for a widget's component. | |
| constexpr auto | theme_state_size = 64_uz |
| std::atomic< char const * > | terminate_message = nullptr |
| Message to show when the application is terminated. | |
theme/theme_model.hpp This file defines an API to retrieve the current theme's values.
The HikoGUI namespace.