|
HikoGUI
A low latency retained GUI
|
The HikoGUI API version 1. More...
Data Structures | |
| class | aarectangle |
| Class which represents an axis-aligned rectangle. More... | |
| class | abstract_button_widget |
| Base class for implementing button widgets. More... | |
| class | alignment |
| Horizontal/Vertical alignment combination. 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... | |
| 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 | corner_radii |
| The 4 radii of the corners of a quad or rectangle. 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< char const * > |
A default text delegate specialization for std::string. More... | |
| class | default_text_delegate< gstring > |
A default text delegate specialization for gstring. More... | |
| class | default_text_delegate< std::string > |
A default text delegate specialization for std::string. More... | |
| class | default_text_delegate< text > |
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... | |
| class | draw_context |
| Draw context for drawing using the HikoGUI shaders. More... | |
| struct | em_length_tag |
| class | extent2 |
| A high-level geometric extent. More... | |
| class | extent3 |
| A high-level geometric extent. More... | |
| 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... | |
| 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 | lookat |
| Perspective transform. More... | |
| class | margins |
| The left, bottom, right and top margins. More... | |
| class | matrix2 |
| A 2D or 3D homogenius matrix for transforming homogenious vectors and points. More... | |
| class | matrix3 |
| A 2D or 3D homogenius matrix for transforming homogenious vectors and points. 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 | perspective |
| Perspective transform. 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 | rectangle |
| A rectangle / parallelogram in 3D space. More... | |
| class | recursive_iterator |
| An iterator which recursively iterates through nested containers. More... | |
| class | rotate2 |
| class | rotate3 |
| class | row_column_layout |
| class | row_column_widget |
| A row/column widget lays out child widgets along a row or column. More... | |
| class | scale2 |
| class | scale3 |
| 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 | 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 | task |
| Co-routine task. More... | |
| struct | task_promise |
| struct | task_promise_base |
| struct | task_promise_base< void > |
| 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... | |
| class | text_widget |
| A text widget. 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... | |
| 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 | transform2 |
| struct | transform2< matrix2 > |
| struct | transform2< rotate2 > |
| struct | transform2< scale2 > |
| struct | transform2< translate2 > |
| struct | transform3 |
| struct | transform3< matrix3 > |
| struct | transform3< perspective > |
| struct | transform3< rotate3 > |
| struct | transform3< scale3 > |
| struct | transform3< translate3 > |
| class | translate2 |
| class | translate3 |
| 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 | vector2 |
| A high-level geometric vector Part of the high-level vector, point, mat and color types. More... | |
| class | vector3 |
| A high-level geometric vector Part of the high-level vector, point, mat and color types. More... | |
| class | widget |
| An interactive graphical object as part of the user-interface. More... | |
| class | widget_intf |
| 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... | |
Concepts | |
| concept | dsp_argument |
| concept | transformer2 |
| concept | transformer3 |
| concept | transformer |
| concept | draw_attribute |
| concept | draw_quad_shape |
| concept | bound_check_range_helper |
| concept | button_widget_attribute |
| concept | icon_widget_attribute |
| concept | label_widget_attribute |
| concept | selection_widget_attribute |
| concept | text_field_widget_attribute |
| concept | text_widget_attribute |
Typedefs | |
| using | thread_id = uint32_t |
| using | unfair_mutex = unfair_mutex_impl<true> |
| 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 | 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. | |
| using | row_widget = row_column_widget<axis::x> |
| Lays out children in a row. | |
| using | column_widget = row_column_widget<axis::y> |
| Lays out children in a column. | |
| using | vertical_scroll_widget = scroll_widget<axis::vertical> |
| Vertical scroll widget. | |
| using | horizontal_scroll_widget = scroll_widget<axis::horizontal> |
| Horizontal scroll widget. | |
Enumerations | |
| enum class | semantic_color : unsigned char { blue , green , indigo , orange , pink , purple , red , teal , yellow , gray , gray2 , gray3 , gray4 , gray5 , gray6 , foreground , border , fill , accent , text_select , primary_cursor , secondary_cursor } |
| Semantic colors. More... | |
| 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 | vertical_alignment : uint8_t { vertical_alignment::none = 0 , vertical_alignment::top = 1 , vertical_alignment::middle = 2 , vertical_alignment::bottom = 3 } |
| Vertical alignment. More... | |
| enum class | horizontal_alignment : uint8_t { horizontal_alignment::none = 0 , horizontal_alignment::flush = 1 , horizontal_alignment::left = 2 , horizontal_alignment::center = 3 , horizontal_alignment::justified = 4 , horizontal_alignment::right = 5 } |
| Horizontal alignment. 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 | border_side { on , inside , outside } |
| The side where the border is drawn. 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 | 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 << std::to_underlying(plurality_value::zero) , one = 1 << std::to_underlying(plurality_value::one) , two = 1 << std::to_underlying(plurality_value::two) , few = 1 << std::to_underlying(plurality_value::few) , many = 1 << std::to_underlying(plurality_value::many) , other = 1 << std::to_underlying(plurality_value::other) } |
| A mask of plurality values that this language supports. More... | |
| enum class | policy { unspecified , low_power , high_performance } |
| The performance policy to use. More... | |
| enum class | button_state { button_state::off , button_state::on , button_state::other } |
| The state of a button. 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... | |
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. | |
| std::string_view | to_string (semantic_color rhs) noexcept |
| Convert a semantic color to a string. | |
| semantic_color | semantic_color_from_string (std::string_view str) |
| Convert a string to a semantic color. | |
| 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 (float r, float g, float b, float a) noexcept |
| Convert gama corrected sRGB color to the linear color. | |
| color | color_from_sRGB (uint8_t r, uint8_t g, uint8_t b, uint8_t 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<std::input_iterator It, std::input_iterator ItEnd> | |
| lean_vector (It first, ItEnd last) -> lean_vector< typename std::iterator_traits< It >::value_type > | |
| 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 std::optional< float > | make_guideline (vertical_alignment alignment, float bottom, float top, float padding_bottom, float padding_top, float guideline_width) |
| Create a guideline between two points. | |
| constexpr std::optional< float > | make_guideline (horizontal_alignment alignment, float left, float right, float padding_left, float padding_right, float guideline_width=0.0f) |
| Create a guideline between two points. | |
| constexpr horizontal_alignment | mirror (horizontal_alignment const &rhs) noexcept |
| Mirror the horizontal alignment. | |
| constexpr horizontal_alignment | mirror (horizontal_alignment const &rhs, bool left_to_right) noexcept |
| Mirror the horizontal alignment. | |
| constexpr horizontal_alignment | resolve (horizontal_alignment const &rhs, bool left_to_right) noexcept |
| constexpr horizontal_alignment | resolve_mirror (horizontal_alignment const &rhs, bool left_to_right) noexcept |
| constexpr alignment | operator| (horizontal_alignment lhs, vertical_alignment rhs) noexcept |
| Combine vertical and horizontal alignment. | |
| constexpr alignment | operator| (vertical_alignment lhs, horizontal_alignment rhs) noexcept |
| Combine vertical and horizontal alignment. | |
| 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. | |
| constexpr matrix3 | operator* (translate3 const &lhs, scale3 const &rhs) noexcept |
| constexpr matrix3 | operator* (translate3 const &lhs, rotate3 const &rhs) noexcept |
| constexpr scale2 | operator/ (extent2 const &lhs, extent2 const &rhs) noexcept |
| constexpr scale3 | operator/ (extent3 const &lhs, extent3 const &rhs) noexcept |
| constexpr matrix2 | operator* (matrix2 const &lhs, matrix2 const &rhs) noexcept |
| Matrix/Matrix multiplication. | |
| constexpr matrix3 | operator* (matrix3 const &lhs, matrix3 const &rhs) noexcept |
| Matrix/Matrix multiplication. | |
| constexpr matrix2 | operator* (translate2 const &lhs, matrix2 const &rhs) noexcept |
| constexpr matrix3 | operator* (translate3 const &lhs, matrix3 const &rhs) noexcept |
| constexpr translate2 | operator* (translate2 const &lhs, translate2 const &rhs) noexcept |
| constexpr translate3 | operator* (translate3 const &lhs, translate3 const &rhs) noexcept |
| constexpr matrix2 | operator* (translate2 const &lhs, scale2 const &rhs) noexcept |
| constexpr matrix2 | operator* (translate2 const &lhs, rotate2 const &rhs) noexcept |
| constexpr matrix2 | operator* (scale2 const &lhs, translate2 const &rhs) noexcept |
| constexpr matrix3 | operator* (scale3 const &lhs, translate3 const &rhs) noexcept |
| constexpr scale2 | operator* (scale2 const &lhs, scale2 const &rhs) noexcept |
| constexpr scale3 | operator* (scale3 const &lhs, scale3 const &rhs) noexcept |
| float | operator* (matrix2 const &lhs, float const &rhs) noexcept |
| Transform a float by the scaling factor of the matrix. | |
| float | operator* (matrix3 const &lhs, float const &rhs) noexcept |
| Transform a float by the scaling factor of the matrix. | |
| constexpr float | operator* (translate2 const &, float const &rhs) noexcept |
| constexpr float | operator* (translate3 const &, float const &rhs) noexcept |
| constexpr float | operator* (scale2 const &lhs, float const &rhs) noexcept |
| constexpr float | operator* (scale3 const &lhs, float const &rhs) noexcept |
| constexpr float | operator* (rotate2 const &, float const &rhs) noexcept |
| constexpr float | operator* (rotate3 const &, float const &rhs) noexcept |
| constexpr vector2 | operator* (matrix2 const &lhs, vector2 const &rhs) noexcept |
| Transform a vector by the matrix. | |
| constexpr vector2 | operator* (translate2 const &, vector2 const &rhs) noexcept |
| constexpr vector2 | operator* (translate3 const &, vector2 const &rhs) noexcept |
| constexpr vector2 | operator* (scale2 const &lhs, vector2 const &rhs) noexcept |
| constexpr vector2 | operator* (scale3 const &lhs, vector2 const &rhs) noexcept |
| constexpr vector3 | operator* (matrix3 const &lhs, vector3 const &rhs) noexcept |
| Transform a vector by the matrix. | |
| constexpr vector3 | operator* (translate3 const &, vector3 const &rhs) noexcept |
| constexpr vector3 | operator* (scale3 const &lhs, vector3 const &rhs) noexcept |
| constexpr point2 | operator* (matrix2 const &lhs, point2 const &rhs) noexcept |
| Transform a point by the matrix. | |
| constexpr point2 | operator* (translate2 const &lhs, point2 const &rhs) noexcept |
| constexpr point2 | operator* (scale2 const &lhs, point2 const &rhs) noexcept |
| constexpr point2 | operator* (scale3 const &lhs, point2 const &rhs) noexcept |
| constexpr point3 | operator* (matrix3 const &lhs, point3 const &rhs) noexcept |
| Transform a point by the matrix. | |
| constexpr point3 | operator* (translate3 const &lhs, point3 const &rhs) noexcept |
| constexpr point3 | operator* (scale3 const &lhs, point3 const &rhs) noexcept |
| constexpr extent2 | operator* (transformer2 auto const &lhs, extent2 const &rhs) noexcept |
| constexpr extent3 | operator* (transformer3 auto const &lhs, std::convertible_to< extent3 > auto const &rhs) noexcept |
| constexpr aarectangle | operator* (translate2 const &lhs, aarectangle const &rhs) noexcept |
| constexpr aarectangle | operator* (scale2 const &lhs, aarectangle const &rhs) noexcept |
| Scale a rectangle around it's center. | |
| constexpr rectangle | operator* (transformer auto const &lhs, aarectangle const &rhs) noexcept |
| Transform an axis-aligned rectangle by the matrix. | |
| constexpr rectangle | operator* (matrix2 const &lhs, aarectangle const &rhs) noexcept |
| Transform an axis-aligned rectangle without rotation by the matrix. | |
| constexpr rectangle | full_mul (matrix2 const &lhs, aarectangle const &rhs) noexcept |
| Transform an axis-aligned rectangle without rotation by the matrix. | |
| constexpr aarectangle | fast_mul (matrix2 const &lhs, aarectangle const &rhs) noexcept |
| Transform an axis-aligned rectangle without rotation by the matrix. | |
| constexpr rectangle | operator* (transformer auto const &lhs, rectangle const &rhs) noexcept |
| Transform a rectangle by the matrix. | |
| constexpr quad | operator* (transformer auto const &lhs, quad const &rhs) noexcept |
| Transform a quad by the matrix. | |
| constexpr circle | operator* (transformer auto const &lhs, circle const &rhs) noexcept |
| Transform a circle by the matrix. | |
| constexpr line_segment | operator* (transformer auto const &lhs, line_segment const &rhs) noexcept |
| Transform a line-segment by the matrix. | |
| constexpr corner_radii | operator* (matrix3 const &lhs, corner_radii const &rhs) noexcept |
| Transform a float by the scaling factor of the matrix. | |
| template<typename Lhs , transformer Rhs> requires requires(Lhs& a, Rhs const& b) { a = b * a; } | |
| constexpr Lhs & | operator*= (Lhs &lhs, Rhs const &rhs) noexcept |
| Inplace geometric translation. | |
| constexpr aarectangle | fit (aarectangle const &bounds, aarectangle const &rectangle) noexcept |
| constexpr quad | scale_from_center (quad const &lhs, scale2 const &rhs) noexcept |
| scale the quad. | |
| constexpr translate3 | translate_z (float z) 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_intf * | get_if (widget_intf *start, widget_id id, bool include_invisible) noexcept |
| widget_intf & | get (widget_intf &start, widget_id id, bool include_invisible) |
| 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<size_t LookaheadCount, typename Iterator > | |
| auto | make_lookahead_iterator (Iterator &&it) noexcept |
| 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 |
| std::optional< std::string > | get_user_setting_string (std::string_view key) |
| std::optional< long long > | get_user_setting_integral (std::string_view key) |
| template<typename T > | |
| std::optional< T > | get_user_setting (std::string_view key)=delete |
| Get a user-setting for the application. | |
| void | set_user_setting (std::string_view key, std::string_view value) |
| Set a user-setting for the application. | |
| void | set_user_setting (std::string_view key, long long value) |
| Set a user-setting for the application. | |
| void | delete_user_setting (std::string_view key) |
| Delete a user-setting for the application. | |
| void | delete_user_settings () |
| Delete all user-setting for the application. | |
| template<> | |
| std::optional< std::string > | get_user_setting (std::string_view key) |
| void | terminate_handler () noexcept |
| The HikoGUI terminate handler. | |
| 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. | |
| uint32_t | get_last_error_code () noexcept |
| Get the OS error code from the last error received on this thread. | |
| std::string | get_last_error_message (uint32_t error_code) |
| Get the error message from an error code. | |
| std::string | get_last_error_message () |
| 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 |
| template<std::integral T> | |
| constexpr bool | is_integral_value (T const &rhs) noexcept |
| Check if a value is integral. | |
| 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 | |
| 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 auto | semantic_color_metadata |
| 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 |
| template<typename T > | |
| constexpr bool | transform2_v = transform2<T>::value |
| template<typename T > | |
| constexpr bool | transform3_v = transform3<T>::value |
| constexpr auto | gui_event_type_metadata |
| 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 |
| log | log_global |
| std::terminate_handler | old_terminate_handler |
| The old terminate handler. | |
| std::atomic< char const * > | terminate_message = nullptr |
| Message to show when the application is terminated. | |
| constexpr auto | policy_metadata |
The HikoGUI API version 1.
| using hi::v1::dips = unit<si_length_tag, double, std::ratio<254, 960'000>::type> |
Device Independent Pixels: 1/96 inch.
| using hi::v1::em_quads = unit<em_length_tag, double> |
Em-quad: A font's line-height.
| using hi::v1::inches = unit<si_length_tag, double, std::ratio<254, 10'000>::type> |
Inch: 254 mm.
| using hi::v1::pixels = unit<px_length_tag, double> |
A physical pixel on a display.
| using hi::v1::points = unit<si_length_tag, double, std::ratio<254, 720'000>::type> |
Points: 1/72 inch.
| using hi::v1::ssize_t = std::ptrdiff_t |
Signed size/index into an array.
|
strong |
|
strong |
A mask of plurality values that this language supports.
|
strong |
The plurality value of a cardinal or ordinal number.
|
strong |
The performance policy to use.
This policy is used as an argument when initializing a system to select the correct parameters to satisfy the given policy.
|
strong |
Bidirectional class Unicode Standard Annex #9: https://unicode.org/reports/tr9/.
|
strong |
The decomposition type determines if a code-point should be decomposed canonically or for a compatibility.
|
strong |
Unicode line break class.
See "AUX14: Unicode line break algorithm" http://unicode.org/reports/tr14/
|
constexprnoexcept |
Check if an index is within a range.
| index | The index to check. |
| range | The range object, such as a vector or array, which has a std::ranges::size(). |
|
constexprnoexcept |
Check if an index is between the lower (inclusive) and upper (exclusive).
| index | The index to check. |
| lower | The lower bound. |
| upper | The upper bound. |
|
constexprnoexcept |
Check if an unsigned index is less than the bound.
| index | The unsigned index to check. |
| upper | The upper bound. |
|
inlinenoexcept |
Cached current time zone.
std::chrono::current_zone() is really slow, this keeps a cache.
The cached current time zone is not updated when the time zone is modified on the system.
|
constexprnoexcept |
Get plural information of a number in a given language.
| language | The language. |
| n | The number to know the plurality for. |
|
constexprnoexcept |
Get an index into message plural-variants for a given number.
| language | The language the messages are in. |
| n | The number to format in the message. |
| size | The number of message plural-variants. Must be larger than 0. |
|
noexcept |
Compare then store if there was a change.
|
noexcept |
Compare then store if there was a change.
| void hi::v1::delete_user_setting | ( | std::string_view | key | ) |
Delete a user-setting for the application.
Keys starting with two consequitive underscores are reserved by the HikoGUI library.
| key | A key for the user setting. |
| std::invalid_argument | When the key is not valid. |
| std::out_of_range | if the value in the default does not fit in the return value. |
| void hi::v1::delete_user_settings | ( | ) |
Delete all user-setting for the application.
|
constexprnoexcept |
Transform an axis-aligned rectangle without rotation by the matrix.
| rhs | The axis-aligned rectangle to be transformed. |
| T hi::v1::from_string | ( | std::string_view | str | ) |
Convert a string to an floating point.
This function bypasses std::locale
| T | The integer type. |
| str | The string is an integer. |
| T hi::v1::from_string | ( | std::string_view | str, |
| int | base = 10 ) |
Convert a string to an integer.
This function bypasses std::locale
| T | The integer type. |
| str | The string is an integer. |
| base | The base radix of the string encoded integer. |
|
constexprnoexcept |
Transform an axis-aligned rectangle without rotation by the matrix.
| rhs | The axis-aligned rectangle to be transformed. |
|
noexcept |
Get the OS error code from the last error received on this thread.
| std::string hi::v1::get_last_error_message | ( | ) |
Get the OS error message from the last error received on this thread.
| std::string hi::v1::get_last_error_message | ( | uint32_t | error_code | ) |
Get the error message from an error code.
| error_code | The error code returned by an os call. |
|
inlinedelete |
Get a user-setting for the application.
Keys starting with two consequitive underscores are reserved by the HikoGUI library.
| key | A key for the user setting. |
| std::nullopt | The key was not found in the user-settings. |
| std::invalid_argument | When the key is not valid. |
| std::out_of_range | if the value in the default does not fit in the return value. |
|
constexprnoexcept |
Check if a value is integral.
| rhs | A integral value. |
| rhs | A floating point value. |
|
constexprnoexcept |
Mirror the horizontal alignment.
|
constexprnoexcept |
Mirror the horizontal alignment.
|
constexprnoexcept |
Transform an axis-aligned rectangle without rotation by the matrix.
| rhs | The axis-aligned rectangle to be transformed. |
|
inlinenoexcept |
Transform a float by the scaling factor of the matrix.
The floating point number is transformed into a vector laying on the x-axis, then transformed, then extracting the hypot from it.
Matrix/Matrix multiplication.
|
constexprnoexcept |
Transform a point by the matrix.
| rhs | The point to be transformed. |
Transform a vector by the matrix.
Vectors will not be translated.
| rhs | The vector to be transformed. |
|
constexprnoexcept |
Transform a float by the scaling factor of the matrix.
The floating point number is transformed into a vector laying on the x-axis, then transformed, then extracting the hypot from it.
|
inlinenoexcept |
Transform a float by the scaling factor of the matrix.
The floating point number is transformed into a vector laying on the x-axis, then transformed, then extracting the hypot from it.
Matrix/Matrix multiplication.
|
constexprnoexcept |
Transform a point by the matrix.
| rhs | The point to be transformed. |
Transform a vector by the matrix.
Vectors will not be translated.
| rhs | The vector to be transformed. |
|
constexprnoexcept |
Scale a rectangle around it's center.
|
constexprnoexcept |
Transform an axis-aligned rectangle by the matrix.
After transformation it can not be guaranteed that an axis-aligned rectangle remained aligned to axis, therefor a normal rectangle is returned
| rhs | The axis-aligned rectangle to be transformed. |
|
constexprnoexcept |
Transform a circle by the matrix.
| rhs | The circle to be transformed. |
|
constexprnoexcept |
Transform a line-segment by the matrix.
| rhs | The line-segment to be transformed. |
|
constexprnoexcept |
Transform a quad by the matrix.
| rhs | The quad to be transformed. |
|
constexprnoexcept |
Transform a rectangle by the matrix.
| rhs | The rectangle to be transformed. |
|
constexprnoexcept |
Inplace geometric translation.
| lhs | A geometry shape of some kind. |
| rhs | A geometry transformation of some kind. |
|
constexprnoexcept |
Combine vertical and horizontal alignment.
| lhs | A text alignment. |
| rhs | A vertical alignment. |
|
constexprnoexcept |
Or plurality masks together.
|
constexprnoexcept |
Combine vertical and horizontal alignment.
| lhs | A text alignment. |
| rhs | A vertical alignment. |
|
inline |
Get the bounding box of a simple glyph.
otype_glyf_is_compound() == false.
|
inline |
Get the components of a compound glyph.
otype_glyf_is_compound() == true.
|
inline |
Get the graphic-path of a simple glyph.
otype_glyf_is_compound() == false.
|
inline |
Check if this glyph is a compound or simple glyph.
|
inline |
'kern' version 0 find.
'kern' version 0 is used by Microsoft and is not in use anymore by Apple. However it is part of open-type.
|
inline |
Get a name from the name table.
| bytes | The bytes of the name table. |
| name_id | The name to find a string for. |
| language | The language to find the string for (default "en"). |
|
noexcept |
Prepare for breaking in the debugger.
This will check if a debugger exists and potentially launch the Just-In-Time debugger if one is configured. This function may terminate the application if no debugger is found.
It does not do the actual breaking.
|
constexprnoexcept |
Get a recursive iterator from the begin of a recursive container.
|
constexprnoexcept |
Get a recursive iterator from the begin of a recursive container.
|
constexprnoexcept |
Get a recursive iterator from one beyond the end of a recursive container.
|
constexprnoexcept |
Get a recursive iterator from one beyond the end of a recursive container.
|
constexprnoexcept |
scale the quad.
Each edge of the quad scaled.
| lhs | A quad. |
| rhs | The width and height to scale each edge with. |
| void hi::v1::set_user_setting | ( | std::string_view | key, |
| long long | value ) |
Set a user-setting for the application.
Keys starting with two consequitive underscores are reserved by the HikoGUI library.
| key | A key for the user setting. |
| value | The value to set. |
| std::invalid_argument | When the key is not valid. |
| std::out_of_range | if the value in the default does not fit in the return value. |
| void hi::v1::set_user_setting | ( | std::string_view | key, |
| std::string_view | value ) |
Set a user-setting for the application.
Keys starting with two consequitive underscores are reserved by the HikoGUI library.
| key | A key for the user setting. |
| value | The value to set. |
| std::invalid_argument | When the key is not valid. |
| std::out_of_range | if the value in the default does not fit in the return value. |
|
noexcept |
The HikoGUI terminate handler.
This handler will print an error message on the console or pop-up a dialogue box.
hi_set_terminate_message() to set a message.
|
constexprnoexcept |
Safely compare two arithmetic values to each other.
| lhs | The left-hand-side arithmetic value. |
| rhs | The right-hand-side arithmetic value. |
|
constexprnoexcept |
Convert a name to a GUI event type.
|
inlinenoexcept |
Convert a GUI event type to a string.
|
noexcept |
Convert integer to string.
Convert floating point to string.
This function bypasses std::locale.
| value | The signed or unsigned integer value. |
|
constexprnoexcept |
Get the bidi-mirroring-glyph for a code-point.
| code_point | The code-point to query |
|
constexprnoexcept |
Get the composition info of two code-points.
| cp1 | The first code-point |
| cp2 | The second code-point |
|
constexprnoexcept |
Get the decomposition info of a code-point.
|
inline |
Convert a UTF-8 std::string to a win32-API compatible std::wstring.
|
inline |
Convert a win32-API compatible std::wstring to a UTF-8 std::string.
|
inline |
The old terminate handler.
This is the handler returned by std::set_terminate().
|
constexpr |
|
constexpr |
|
inline |
Message to show when the application is terminated.