HikoGUI
Select Version: ⚠️ This documents the main development branch of HikoGUI. It might differ from release versions.
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... | |
struct | array_generic |
Intrinsic operations on arrays. More... | |
struct | array_intrinsic |
Intrinsic operations on arrays. More... | |
class | async_delegate |
A button delegate controls the state of a button widget. More... | |
class | async_widget |
A GUI widget that permits the user to make a binary choice. More... | |
class | audio_block |
A block of audio data. More... | |
class | audio_channel |
class | audio_device |
A set of audio channels which can be rendered and/or captures at the same time. More... | |
class | audio_device_asio |
A class representing an audio device on the system. More... | |
class | audio_device_delegate |
class | audio_device_widget |
Audio device configuration widget. More... | |
class | audio_device_win32 |
class | audio_format_range |
struct | audio_sample_format |
Audio sample format. More... | |
class | audio_sample_packer |
class | audio_sample_unpacker |
struct | audio_stream_config |
struct | audio_stream_format |
The format of a stream of audio. More... | |
class | audio_system |
class | audio_system_aggregate |
class | audio_system_asio |
class | audio_system_win32 |
struct | audio_system_win32_event |
struct | bezier_curve |
struct | bezier_point |
struct | box_constraints |
2D constraints. More... | |
struct | box_shape |
class | button_delegate |
A button delegate controls the state of a button widget. More... | |
class | callback |
class | callback< ResultType(ArgTypes...)> |
A callback function. More... | |
class | cancel_error |
Cancel error is caused by user pressing cancel. More... | |
struct | cancel_features |
Type trait to retrieve the cancel feautes of a invokable. 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... | |
struct | cmake_install |
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... | |
struct | copy_cv |
Type-trait to copy const volatile qualifiers from one type to another. More... | |
struct | copy_cv< To, From > |
class | corner_radii |
The 4 radii of the corners of a quad or rectangle. More... | |
struct | cpu_id_result |
class | datum |
A dynamic data type. More... | |
class | default_async_delegate |
A default async button delegate. More... | |
class | default_radio_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< txt > |
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_delegate |
A default toggle button delegate. More... | |
struct | default_values |
A type traits for generating default values of a type. More... | |
struct | default_values< T > |
class | defer |
Defer execution of a lambda to the end of the scope. More... | |
struct | DeviceIndependentPixelLengthDim |
struct | Dips |
Device Independent Pixel. More... | |
struct | DipsPerEm |
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 | EmSquares |
struct | endian_buf_t |
class | enum_metadata |
A object that holds enum-values and strings. More... | |
struct | enum_metadata_name |
struct | enum_metadata_name< char * > |
struct | enum_metadata_name< char const * > |
struct | enum_metadata_name< char const[N]> |
struct | enum_metadata_name< char[N]> |
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... | |
struct | fixed_string |
A string which may be used as a none-type template parameter. More... | |
class | font_char_map |
Character map of a font. More... | |
class | font_size_quantity |
struct | forward_copy_or_ref |
class | gfx_error |
class | gfx_pipeline_box |
class | gfx_pipeline_image |
class | gfx_pipeline_override |
class | gfx_pipeline_SDF |
class | gfx_pipeline_tone_mapper |
class | glob_pattern |
A glob pattern. More... | |
struct | graphic_path |
A path is a vector graphics object. 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... | |
struct | half |
struct | has_add_callback |
struct | has_floatxx |
Has an float of a specific size. More... | |
struct | has_intxx |
Has an signed integer of a specific size. More... | |
struct | has_native_floatxx |
Has an float of a specific size, natively supported by the compiler. More... | |
struct | has_native_floatxx< 32 > |
struct | has_native_floatxx< 64 > |
struct | has_native_intxx |
Has an signed integer of a specific size, natively supported by the compiler. More... | |
struct | has_native_intxx< 16 > |
struct | has_native_intxx< 32 > |
struct | has_native_intxx< 64 > |
struct | has_native_intxx< 8 > |
struct | has_native_uintxx |
Has an unsigned integer of a specific size, natively supported by the compiler. More... | |
struct | has_native_uintxx< 16 > |
struct | has_native_uintxx< 32 > |
struct | has_native_uintxx< 64 > |
struct | has_native_uintxx< 8 > |
struct | has_uintxx |
Has an unsigned integer of a specific size. More... | |
struct | has_value_type |
struct | hresult_error_category |
class | huffman_tree |
class | icon_widget |
An simple GUI widget that displays an icon. More... | |
class | id_factory |
A factory for unique IDs. More... | |
class | indent |
Indentation for writing out text files. More... | |
class | io_error |
Exception thrown during I/O on an error. More... | |
struct | is_atomic |
struct | is_atomic< std::atomic< T > > |
struct | is_byte_like |
An array of this type will implicitly create objects within that array. More... | |
struct | is_byte_like< char > |
struct | is_byte_like< char const > |
struct | is_byte_like< std::byte > |
struct | is_byte_like< std::byte const > |
struct | is_byte_like< unsigned char > |
struct | is_byte_like< unsigned char const > |
struct | is_character |
struct | is_character< char > |
struct | is_character< char const > |
struct | is_character< char16_t > |
struct | is_character< char16_t const > |
struct | is_character< char32_t > |
struct | is_character< char32_t const > |
struct | is_character< char8_t > |
struct | is_character< char8_t const > |
struct | is_character< wchar_t > |
struct | is_character< wchar_t const > |
struct | is_checkbox_widget_attribute |
class | is_datum_type |
class | is_datum_type< bool > |
class | is_datum_type< bstring > |
class | is_datum_type< double > |
class | is_datum_type< long long > |
class | is_datum_type< std::chrono::year_month_day > |
class | is_datum_type< std::string > |
struct | is_decayed_base_of |
struct | is_decayed_derived_from |
struct | is_derived_from |
struct | is_forward_of |
Is context a form of the expected type. More... | |
struct | is_forward_of< Context, Expected * > |
struct | is_forward_of< Context, Expected > |
struct | is_forward_of< Context, Expected, FirstOtherExpected, OtherExpected... > |
struct | is_forward_of< Context, observer< Expected > > |
struct | is_forward_of< Context, Result(Args...)> |
struct | is_forward_of< Context, std::shared_ptr< Expected > > |
struct | is_forward_of< Context, std::unique_ptr< Expected > > |
struct | is_forward_of< Context, std::weak_ptr< Expected > > |
struct | is_numeric |
Is a numeric. More... | |
struct | is_numeric< double > |
struct | is_numeric< float > |
struct | is_numeric< long double > |
struct | is_numeric< signed char > |
struct | is_numeric< signed int > |
struct | is_numeric< signed long > |
struct | is_numeric< signed long long > |
struct | is_numeric< signed short > |
struct | is_numeric< unsigned char > |
struct | is_numeric< unsigned int > |
struct | is_numeric< unsigned long > |
struct | is_numeric< unsigned long long > |
struct | is_numeric< unsigned short > |
struct | is_numeric_integral |
Is a numeric integer. More... | |
struct | is_numeric_integral< signed char > |
struct | is_numeric_integral< signed int > |
struct | is_numeric_integral< signed long > |
struct | is_numeric_integral< signed long long > |
struct | is_numeric_integral< signed short > |
struct | is_numeric_integral< unsigned char > |
struct | is_numeric_integral< unsigned int > |
struct | is_numeric_integral< unsigned long > |
struct | is_numeric_integral< unsigned long long > |
struct | is_numeric_integral< unsigned short > |
struct | is_numeric_signed_integral |
Is a numeric signed integer. More... | |
struct | is_numeric_signed_integral< signed char > |
struct | is_numeric_signed_integral< signed int > |
struct | is_numeric_signed_integral< signed long > |
struct | is_numeric_signed_integral< signed long long > |
struct | is_numeric_signed_integral< signed short > |
struct | is_numeric_unsigned_integral |
Is a numeric unsigned integer. More... | |
struct | is_numeric_unsigned_integral< unsigned char > |
struct | is_numeric_unsigned_integral< unsigned int > |
struct | is_numeric_unsigned_integral< unsigned long > |
struct | is_numeric_unsigned_integral< unsigned long long > |
struct | is_numeric_unsigned_integral< unsigned short > |
class | iso_15924 |
ISO-15924 script code. More... | |
class | jsonpath |
class | key_error |
class | keyboard_bindings |
struct | keyboard_target_data |
class | label_widget |
The GUI widget displays and lays out text together with an icon. More... | |
class | language_tag |
The IETF BCP 47 language tag. More... | |
class | lean_vector |
Lean-vector with (SVO) short-vector-optimization. More... | |
class | length_quantity |
struct | lexer_config |
class | line_segment |
Line segment. More... | |
class | log |
class | lookahead_iterator |
Lookahead iterator. More... | |
class | lookat |
Perspective transform. More... | |
struct | make_floatxx |
Make an floating point. More... | |
struct | make_floatxx< 32 > |
struct | make_floatxx< 64 > |
struct | make_intmax |
struct | make_intmax< T > |
struct | make_intxx |
Make an signed integer. More... | |
struct | make_intxx< 16 > |
struct | make_intxx< 32 > |
struct | make_intxx< 64 > |
struct | make_intxx< 8 > |
struct | make_promote |
struct | make_string |
type-trait to convert a character to a string type. More... | |
struct | make_string< char > |
struct | make_string< char16_t > |
struct | make_string< char32_t > |
struct | make_string< char8_t > |
struct | make_string< wchar_t > |
struct | make_string_view |
type-trait to convert a character to a string_view type. More... | |
struct | make_string_view< char > |
struct | make_string_view< char16_t > |
struct | make_string_view< char32_t > |
struct | make_string_view< char8_t > |
struct | make_string_view< wchar_t > |
struct | make_uintxx |
Make an unsigned integer. More... | |
struct | make_uintxx< 16 > |
struct | make_uintxx< 32 > |
struct | make_uintxx< 64 > |
struct | make_uintxx< 8 > |
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 |
Add menu-button around a small-button. More... | |
class | momentary_button_widget |
A momentary button widget. More... | |
struct | mouse_event_data |
Information for a mouse event. More... | |
class | not_found_error |
Exception thrown when an item was not found. More... | |
struct | number_of_data_members |
struct | observable_msg |
class | observed |
class | observed_base |
An abstract observed object. More... | |
class | observer |
A observer pointing to the whole or part of a observed_base. More... | |
struct | observer_decay |
A type-trait for observer arguments. More... | |
struct | observer_decay< observer< T > & > |
struct | observer_decay< observer< T > && > |
struct | observer_decay< observer< T > > |
struct | observer_decay< observer< T > const & > |
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 | overloaded |
Helper type to turn a set of lambdas into a single overloaded type to pass to std::visit() . More... | |
class | parse_error |
Exception thrown during parsing on an error. More... | |
class | pcm_format |
class | perspective |
Perspective transform. More... | |
struct | pickle |
Encode and decode a type to and from a UTF-8 string. More... | |
struct | pickle< bool > |
struct | pickle< speaker_mapping > |
struct | pickle< std::string > |
struct | pickle< T > |
struct | pixel_density |
struct | PixelLengthDim |
struct | Pixels |
struct | PixelsPerEm |
struct | PixelsPerInch |
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... | |
class | png |
struct | Points |
struct | PointsPerEm |
class | progress_sink |
A sink to read the current progress of a function. More... | |
class | progress_token |
Token to pass to a function to report its progress. More... | |
class | quad_color |
A color for each corner of a quad. More... | |
class | radio_delegate |
A radio delegate controls the state of a radio button widget. More... | |
class | radio_widget |
A GUI widget that permits the user to make a binary choice. More... | |
class | rectangle |
A rectangle / parallelogram in 3D space. More... | |
class | recursive_iterator |
An iterator which recursively iterates through nested containers. More... | |
struct | RelativeFontLengthDim |
struct | remove_cvptr |
class | rotate2 |
class | rotate3 |
class | row_column_layout |
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 | selector |
This selector allows access to member variable by name. More... | |
class | SHA2 |
class | SHA224 |
class | SHA256 |
class | SHA384 |
class | SHA512 |
class | SHA512_224 |
class | SHA512_256 |
struct | simd |
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_controller |
A task controller. More... | |
class | task_running_error |
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... | |
class | theme_length |
class | theme_variable |
struct | three_way_comparison |
A functor to safely compare two arithmetic values. More... | |
struct | three_way_comparison< Lhs, Rhs > |
class | toggle_delegate |
A button delegate controls the state of a button widget. More... | |
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 | 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 | translation_key |
class | txt |
A localizable message. More... | |
struct | type_documentation |
Documentation of a type. 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... | |
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 |
struct | use_first |
struct | variant_decay |
Decays types for use as elements in std::variant. More... | |
struct | variant_decay< void > |
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 | weak_callback |
class | weak_callback< ResultType(ArgTypes...)> |
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 | widget_state |
The state the widget is in. More... | |
class | win32_device_interface |
struct | win32_error_category |
class | win32_wave_device |
class | window_controls_macos_widget |
Window control button widget. More... | |
class | window_controls_win32_widget |
Window control button widget. More... | |
class | window_widget |
The top-level window widget. More... | |
class | with_label_widget |
Add labels to a button. More... | |
Typedefs | |
using | i8x1 = simd<int8_t, 1> |
using | i8x2 = simd<int8_t, 2> |
using | i8x4 = simd<int8_t, 4> |
using | i8x8 = simd<int8_t, 8> |
using | i8x16 = simd<int8_t, 16> |
using | i8x32 = simd<int8_t, 32> |
using | i8x64 = simd<int8_t, 64> |
using | u8x1 = simd<uint8_t, 1> |
using | u8x2 = simd<uint8_t, 2> |
using | u8x4 = simd<uint8_t, 4> |
using | u8x8 = simd<uint8_t, 8> |
using | u8x16 = simd<uint8_t, 16> |
using | u8x32 = simd<uint8_t, 32> |
using | u8x64 = simd<uint8_t, 64> |
using | i16x1 = simd<int16_t, 1> |
using | i16x2 = simd<int16_t, 2> |
using | i16x4 = simd<int16_t, 4> |
using | i16x8 = simd<int16_t, 8> |
using | i16x16 = simd<int16_t, 16> |
using | i16x32 = simd<int16_t, 32> |
using | u16x1 = simd<uint16_t, 1> |
using | u16x2 = simd<uint16_t, 2> |
using | u16x4 = simd<uint16_t, 4> |
using | u16x8 = simd<uint16_t, 8> |
using | u16x16 = simd<uint16_t, 16> |
using | u16x32 = simd<uint16_t, 32> |
using | f16x4 = simd<half, 4> |
using | i32x1 = simd<int32_t, 1> |
using | i32x2 = simd<int32_t, 2> |
using | i32x4 = simd<int32_t, 4> |
using | i32x8 = simd<int32_t, 8> |
using | i32x16 = simd<int32_t, 16> |
using | u32x1 = simd<uint32_t, 1> |
using | u32x2 = simd<uint32_t, 2> |
using | u32x4 = simd<uint32_t, 4> |
using | u32x8 = simd<uint32_t, 8> |
using | u32x16 = simd<uint32_t, 16> |
using | f32x1 = simd<float, 1> |
using | f32x2 = simd<float, 2> |
using | f32x4 = simd<float, 4> |
using | f32x8 = simd<float, 8> |
using | f32x16 = simd<float, 16> |
using | i64x1 = simd<int64_t, 1> |
using | i64x2 = simd<int64_t, 2> |
using | i64x4 = simd<int64_t, 4> |
using | i64x8 = simd<int64_t, 8> |
using | u64x1 = simd<uint64_t, 1> |
using | u64x2 = simd<uint64_t, 2> |
using | u64x4 = simd<uint64_t, 4> |
using | u64x8 = simd<uint64_t, 8> |
using | f64x1 = simd<double, 1> |
using | f64x2 = simd<double, 2> |
using | f64x4 = simd<double, 4> |
using | f64x8 = simd<double, 8> |
using | unfair_mutex = unfair_mutex_impl<true> |
template<typename T > | |
using | row_layout = row_column_layout<axis::x, T> |
template<typename T > | |
using | column_layout = row_column_layout<axis::y, T> |
template<typename T > | |
using | observer_decay_t = observer_decay<T>::type |
using | margin_left = theme_variable<"margin-left", theme_length> |
using | margin_right = theme_variable<"margin-right", theme_length> |
using | margin_top = theme_variable<"margin-top", theme_length> |
using | margin_bottom = theme_variable<"margin-bottom", theme_length> |
using | margin = theme_variable<"margin", theme_length_quad> |
using | dips_d = au::Quantity<Dips, double> |
using | dips_f = au::Quantity<Dips, float> |
using | dips_i = au::Quantity<Dips, int> |
using | dips_per_em_d = au::Quantity<DipsPerEm, double> |
using | dips_per_em_f = au::Quantity<DipsPerEm, float> |
using | dips_per_em_i = au::Quantity<DipsPerEm, int> |
using | dips_per_em_s = au::Quantity<DipsPerEm, short> |
using | em_squares_d = au::Quantity<EmSquares, double> |
using | em_squares_f = au::Quantity<EmSquares, float> |
using | em_squares_i = au::Quantity<EmSquares, int> |
template<typename T > | |
using | font_size_variant = std::variant<au::Quantity<PointsPerEm, T>, au::Quantity<PixelsPerEm, T>, au::Quantity<DipsPerEm, T>> |
using | font_size_f = font_size_quantity<float> |
using | font_size_s = font_size_quantity<short> |
template<typename T > | |
using | length_variant |
using | length_f = length_quantity<float> |
using | length_s = length_quantity<short> |
using | pixels_d = au::Quantity<Pixels, double> |
using | pixels_f = au::Quantity<Pixels, float> |
using | pixels_i = au::Quantity<Pixels, int> |
using | pixels_per_em_d = au::Quantity<PixelsPerEm, double> |
using | pixels_per_em_f = au::Quantity<PixelsPerEm, float> |
using | pixels_per_em_i = au::Quantity<PixelsPerEm, int> |
using | pixels_per_em_s = au::Quantity<PixelsPerEm, short> |
using | pixels_per_inch_d = au::Quantity<PixelsPerInch, double> |
using | pixels_per_inch_f = au::Quantity<PixelsPerInch, float> |
using | pixels_per_inch_i = au::Quantity<PixelsPerInch, int> |
using | points_d = au::Quantity<Points, double> |
using | points_f = au::Quantity<Points, float> |
using | points_i = au::Quantity<Points, int> |
using | points_s = au::Quantity<Points, short> |
using | points_per_em_d = au::Quantity<PointsPerEm, double> |
using | points_per_em_f = au::Quantity<PointsPerEm, float> |
using | points_per_em_i = au::Quantity<PointsPerEm, int> |
using | points_per_em_s = au::Quantity<PointsPerEm, short> |
using | big_uint64_buf_t = endian_buf_t<uint64_t, std::endian::big, 1> |
using | big_uint32_buf_t = endian_buf_t<uint32_t, std::endian::big, 1> |
using | big_uint16_buf_t = endian_buf_t<uint16_t, std::endian::big, 1> |
using | big_int64_buf_t = endian_buf_t<int64_t, std::endian::big, 1> |
using | big_int32_buf_t = endian_buf_t<int32_t, std::endian::big, 1> |
using | big_int16_buf_t = endian_buf_t<int16_t, std::endian::big, 1> |
using | little_uint64_buf_t = endian_buf_t<uint64_t, std::endian::little, 1> |
using | little_uint32_buf_t = endian_buf_t<uint32_t, std::endian::little, 1> |
using | little_uint16_buf_t = endian_buf_t<uint16_t, std::endian::little, 1> |
using | little_int64_buf_t = endian_buf_t<int64_t, std::endian::little, 1> |
using | little_int32_buf_t = endian_buf_t<int32_t, std::endian::little, 1> |
using | little_int16_buf_t = endian_buf_t<int16_t, std::endian::little, 1> |
using | native_uint64_buf_t = endian_buf_t<uint64_t, std::endian::native, 1> |
using | native_uint32_buf_t = endian_buf_t<uint32_t, std::endian::native, 1> |
using | native_uint16_buf_t = endian_buf_t<uint16_t, std::endian::native, 1> |
using | native_int64_buf_t = endian_buf_t<int64_t, std::endian::native, 1> |
using | native_int32_buf_t = endian_buf_t<int32_t, std::endian::native, 1> |
using | native_int16_buf_t = endian_buf_t<int16_t, std::endian::native, 1> |
using | big_uint64_buf_at = endian_buf_t<uint64_t, std::endian::big> |
using | big_uint32_buf_at = endian_buf_t<uint32_t, std::endian::big> |
using | big_uint16_buf_at = endian_buf_t<uint16_t, std::endian::big> |
using | big_int64_buf_at = endian_buf_t<int64_t, std::endian::big> |
using | big_int32_buf_at = endian_buf_t<int32_t, std::endian::big> |
using | big_int16_buf_at = endian_buf_t<int16_t, std::endian::big> |
using | little_uint64_buf_at = endian_buf_t<uint64_t, std::endian::little> |
using | little_uint32_buf_at = endian_buf_t<uint32_t, std::endian::little> |
using | little_uint16_buf_at = endian_buf_t<uint16_t, std::endian::little> |
using | little_int64_buf_at = endian_buf_t<int64_t, std::endian::little> |
using | little_int32_buf_at = endian_buf_t<int32_t, std::endian::little> |
using | little_int16_buf_at = endian_buf_t<int16_t, std::endian::little> |
using | native_uint64_buf_at = endian_buf_t<uint64_t, std::endian::native> |
using | native_uint32_buf_at = endian_buf_t<uint32_t, std::endian::native> |
using | native_uint16_buf_at = endian_buf_t<uint16_t, std::endian::native> |
using | native_int64_buf_at = endian_buf_t<int64_t, std::endian::native> |
using | native_int32_buf_at = endian_buf_t<int32_t, std::endian::native> |
using | native_int16_buf_at = endian_buf_t<int16_t, std::endian::native> |
template<typename T > | |
using | enum_metadata_name_t = enum_metadata_name<T>::type |
using | ssize_t = std::ptrdiff_t |
Signed size/index into an array. | |
template<typename T > | |
using | make_string_t = typename make_string<T>::type |
type-trait to convert a character to a string type. | |
template<typename T > | |
using | make_string_view_t = typename make_string_view<T>::type |
type-trait to convert a character to a string_view type. | |
template<typename T , typename U > | |
using | make_promote_t = typename make_promote<T, U>::type |
template<typename T > | |
using | make_intmax_t = typename make_intmax<T>::type |
template<std::size_t N> | |
using | make_intxx_t = typename make_intxx<N>::type |
template<std::size_t N> | |
using | make_uintxx_t = typename make_uintxx<N>::type |
template<std::size_t N> | |
using | make_floatxx_t = typename make_floatxx<N>::type |
template<typename T > | |
using | remove_cvptr_t = remove_cvptr<T>::type |
template<typename To , typename From > | |
using | copy_cv_t = typename copy_cv<To, From>::type |
Type-trait to copy const volatile qualifiers from one type to another. | |
template<typename First , typename Second > | |
using | use_first_t = use_first<First, Second> |
template<typename Context > | |
using | forward_copy_or_ref_t = forward_copy_or_ref<Context>::type |
template<typename T > | |
using | variant_decay_t = variant_decay<T>::type |
template<typename FuncType , typename... ArgTypes> | |
using | default_async_delegate_result_type |
using | async_with_label_widget = with_label_widget<async_widget> |
using | async_menu_button_widget = menu_button_widget<async_widget> |
using | checkbox_with_label_widget = with_label_widget<checkbox_widget> |
using | checkbox_menu_button_widget = menu_button_widget<checkbox_widget> |
using | radio_with_label_widget = with_label_widget<radio_widget> |
using | radio_menu_button_widget = menu_button_widget<radio_widget> |
using | vertical_scroll_widget = scroll_widget<axis::vertical> |
Vertical scroll widget. | |
using | horizontal_scroll_widget = scroll_widget<axis::horizontal> |
Horizontal scroll widget. | |
using | toggle_with_label_widget = with_label_widget<toggle_widget> |
Enumerations | |
enum class | cpu_feature : uint8_t { cmov , cx8 , fpu , fxsr , mmx , osfxsr , sce , sse , sse2 , cx16 , lahf , popcnt , sse3 , sse4_1 , sse4_2 , ssse3 , avx , avx2 , bmi1 , bmi2 , f16c , fma , lzcnt , movbe , osxsave , avx512f , avx512bw , avx512cd , avx512dq , avx512vl , avx512pf , avx512er , sha , aes , pclmul , rdrnd , rdseed } |
Possible features of x86 CPUs. More... | |
enum class | cpu_feature_mask : uint64_t { none = 0 , cmov = 1 << cpu_feature::cmov , cx8 = 1 << cpu_feature::cx8 , fpu = 1 << cpu_feature::fpu , fxsr = 1 << cpu_feature::fxsr , mmx = 1 << cpu_feature::mmx , osfxsr = 1 << cpu_feature::osfxsr , sce = 1 << cpu_feature::sce , sse = 1 << cpu_feature::sse , sse2 = 1 << cpu_feature::sse2 , x86_64_v1 = cmov | cx8 | fpu | fxsr | mmx | osfxsr | sce | sse | sse2 , cx16 = 1 << cpu_feature::cx16 , lahf = 1 << cpu_feature::lahf , popcnt = 1 << cpu_feature::popcnt , sse3 = 1 << cpu_feature::sse3 , sse4_1 = 1 << cpu_feature::sse4_1 , sse4_2 = 1 << cpu_feature::sse4_2 , ssse3 = 1 << cpu_feature::ssse3 , x86_64_v2 = x86_64_v1 | cx16 | lahf | popcnt | sse3 | sse4_1 | sse4_2 | ssse3 , avx = 1 << cpu_feature::avx , avx2 = 1 << cpu_feature::avx2 , bmi1 = 1 << cpu_feature::bmi1 , bmi2 = 1 << cpu_feature::bmi2 , f16c = 1 << cpu_feature::f16c , fma = 1 << cpu_feature::fma , lzcnt = 1 << cpu_feature::lzcnt , movbe = 1 << cpu_feature::movbe , osxsave = 1 << cpu_feature::osxsave , x86_64_v3 = x86_64_v2 | avx | avx2 | bmi1 | bmi2 | f16c | fma | lzcnt | movbe | osxsave , avx512f = 1 << cpu_feature::avx512f , avx512bw = 1 << cpu_feature::avx512bw , avx512cd = 1 << cpu_feature::avx512cd , avx512dq = 1 << cpu_feature::avx512dq , avx512vl = 1 << cpu_feature::avx512vl , x86_64_v4 = x86_64_v3 | avx512f | avx512bw | avx512cd | avx512dq | avx512vl , avx512pf = 1 << cpu_feature::avx512pf , avx512er = 1 << cpu_feature::avx512er , sha = 1 << cpu_feature::sha , aes = 1 << cpu_feature::aes , pclmul = 1 << cpu_feature::pclmul , rdrnd = 1 << cpu_feature::rdrnd , rdseed = 1 << cpu_feature::rdseed } |
A mask of features. More... | |
enum class | audio_block_state { normal , silent , corrupt } |
enum class | audio_device_state { uninitialized , active , disabled , not_present , unplugged } |
enum class | audio_direction : unsigned char { none = 0b00 , input = 0b01 , output = 0b10 , bidirectional = 0b11 } |
enum class | speaker_mapping : uint32_t { none = 0 , front_left = 0x0'0001 , front_right = 0x0'0002 , front_center = 0x0'0004 , low_frequency = 0x0'0008 , back_left = 0x0'0010 , back_right = 0x0'0020 , front_left_of_center = 0x0'0040 , front_right_of_center = 0x0'0080 , back_center = 0x0'0100 , side_left = 0x0'0200 , side_right = 0x0'0400 , top_center = 0x0'0800 , top_front_left = 0x0'1000 , top_front_center = 0x0'2000 , top_front_right = 0x0'4000 , top_back_left = 0x0'8000 , top_back_center = 0x1'0000 , top_back_right = 0x2'0000 , mono_1_0 = front_center , stereo_2_0 = front_left | front_right , stereo_2_1 = stereo_2_0 | low_frequency , stereo_3_0 = stereo_2_0 | front_center , stereo_3_1 = stereo_3_0 | low_frequency , quad_4_0 = stereo_2_0 | back_left | back_right , quad_side_4_0 = stereo_2_0 | side_left | side_right , hexagonal_6_0 = quad_4_0 | front_center | back_center , hexagonal_6_1 = hexagonal_6_0 | low_frequency , octagonal_8_0 = hexagonal_6_0 | side_left | side_right , surround_3_0 = stereo_2_0 | back_center , surround_4_0 = surround_3_0 | front_center , surround_4_1 = surround_4_0 | low_frequency , surround_5_0 = quad_4_0 | front_center , surround_5_1 = surround_5_0 | low_frequency , surround_7_0 = surround_5_0 | side_left | side_right , surround_7_1 = surround_7_0 | low_frequency , surround_9_0 = surround_7_0 | top_front_left | top_front_right , surround_9_1 = surround_9_0 | low_frequency , surround_11_0 = surround_9_0 | front_left_of_center | front_right_of_center , surround_11_1 = surround_11_0 | low_frequency , surround_side_5_0 = quad_side_4_0 | front_center , surround_side_5_1 = surround_side_5_0 | low_frequency , surround_side_6_0 = surround_side_5_0 | back_center , surround_side_6_1 = surround_side_6_0 | low_frequency , surround_side_7_0 = surround_side_5_0 | front_left_of_center | front_right_of_center , surround_side_7_1 = surround_side_7_0 | low_frequency , surround_wide_6_0 = surround_4_0 | front_left_of_center | front_right_of_center , surround_wide_6_1 = surround_wide_6_0 | low_frequency , surround_wide_7_0 = surround_5_0 | front_left_of_center | front_right_of_center , surround_wide_7_1 = surround_wide_7_0 | low_frequency , surround_atmos_5_1_4 = surround_5_1 | top_front_left | top_front_right | top_back_left | top_back_right , surround_atmos_7_1_4 = surround_7_1 | top_front_left | top_front_right | top_back_left | top_back_right } |
enum class | surround_mode : uint64_t { none = 0 , mono_1_0 = uint64_t{1} << 0 , stereo_2_0 = uint64_t{1} << 1 , stereo_2_1 = uint64_t{1} << 2 , stereo_3_0 = uint64_t{1} << 3 , stereo_3_1 = uint64_t{1} << 4 , quad_4_0 = uint64_t{1} << 5 , quad_side_4_0 = uint64_t{1} << 6 , hexagonal_6_0 = uint64_t{1} << 7 , hexagonal_6_1 = uint64_t{1} << 8 , octagonal_8_0 = uint64_t{1} << 9 , surround_3_0 = uint64_t{1} << 10 , surround_4_0 = uint64_t{1} << 11 , surround_4_1 = uint64_t{1} << 12 , surround_5_0 = uint64_t{1} << 13 , surround_5_1 = uint64_t{1} << 14 , surround_7_0 = uint64_t{1} << 15 , surround_7_1 = uint64_t{1} << 16 , surround_9_0 = uint64_t{1} << 17 , surround_9_1 = uint64_t{1} << 18 , surround_11_0 = uint64_t{1} << 19 , surround_11_1 = uint64_t{1} << 20 , surround_side_5_0 = uint64_t{1} << 21 , surround_side_5_1 = uint64_t{1} << 22 , surround_side_6_0 = uint64_t{1} << 23 , surround_side_6_1 = uint64_t{1} << 24 , surround_side_7_0 = uint64_t{1} << 25 , surround_side_7_1 = uint64_t{1} << 26 , surround_wide_6_0 = uint64_t{1} << 27 , surround_wide_6_1 = uint64_t{1} << 28 , surround_wide_7_0 = uint64_t{1} << 29 , surround_wide_7_1 = uint64_t{1} << 30 , surround_atmos_5_1_4 = uint64_t{1} << 31 , surround_atmos_7_1_4 = uint64_t{1} << 32 } |
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 | cancel_features_type { none = 0 , stop = 1 , progress = 2 , stop_and_progress = 3 } |
Features of an invocable. 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 | seek_whence { seek_whence::begin , seek_whence::current , seek_whence::end } |
The position in the file to seek from. More... | |
enum class | font_style { normal = 0 , italic = 1 , oblique = 1 } |
The different styles a font-family comes with. 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 , gui_event_type::window_activate , gui_event_type::window_deactivate , 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_stay , 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 | widget_id : uint32_t |
enum class | transform_command { level , increment , menu_item , overlay } |
enum class | widget_mode { widget_mode::collapse = 0 , widget_mode::invisible = 1 , widget_mode::disabled = 2 , widget_mode::display = 3 , widget_mode::select = 4 , widget_mode::partial = 5 , widget_mode::enabled = 6 } |
The mode that the widget is operating at. More... | |
enum class | widget_value { off = 0 , on = 1 , other = 2 } |
enum class | widget_phase { inactive = 0 , normal = 1 , hover = 2 , pressed = 3 } |
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 | device_type : unsigned char { desktop = 120 , server = 121 , watch = 160 , phone = 161 , tablet = 162 , game_console = 208 , television = 209 } |
The device type this application is running on. More... | |
enum class | dialog_button { no , yes , cancel , ok , retry , _continue } |
enum class | dialog_button_mask : uint64_t { no = 1 << dialog_button::no , yes = 1 << dialog_button::yes , cancel = 1 << dialog_button::cancel , ok = 1 << dialog_button::ok , retry = 1 << dialog_button::retry , _continue = 1 << dialog_button::_continue , cancel_retry_continue = cancel | retry | _continue , yes_no = yes | no , ok_cancel = ok | cancel , retry_cancel = retry | cancel , yes_no_cancel = yes | no | cancel } |
enum class | policy { unspecified , low_power , high_performance } |
The performance policy to use. More... | |
enum class | hresult_error : int32_t { ok = S_OK , unspecified_error = E_FAIL , invalid_argument = E_INVALIDARG } |
enum class | win32_error : uint32_t { success = ERROR_SUCCESS , file_not_found = ERROR_FILE_NOT_FOUND , more_data = ERROR_MORE_DATA , invalid_data = ERROR_INVALID_DATA , insufficient_buffer = ERROR_INSUFFICIENT_BUFFER , status_pending = STATUS_PENDING , not_supported = ERROR_NOT_SUPPORTED , invalid_parameter = ERROR_INVALID_PARAMETER } |
Functions | |
constexpr auto | cpu_feature_metadata_init () noexcept |
template<std::integral Lhs> | |
constexpr unsigned long long | operator<< (Lhs const &lhs, cpu_feature const &rhs) |
constexpr cpu_feature_mask | operator| (cpu_feature_mask const &lhs, cpu_feature_mask const &rhs) noexcept |
constexpr cpu_feature_mask | operator& (cpu_feature_mask const &lhs, cpu_feature_mask const &rhs) noexcept |
constexpr cpu_feature_mask | operator- (cpu_feature_mask const &lhs, cpu_feature_mask const &rhs) noexcept |
constexpr bool | to_bool (cpu_feature_mask const &rhs) noexcept |
constexpr cpu_feature_mask | operator| (cpu_feature_mask const &lhs, cpu_feature const &rhs) noexcept |
constexpr cpu_feature_mask | operator& (cpu_feature_mask const &lhs, cpu_feature const &rhs) noexcept |
constexpr cpu_feature_mask & | operator|= (cpu_feature_mask &lhs, cpu_feature const &rhs) noexcept |
cpu_id_result | cpu_id (uint32_t leaf_id, uint32_t index=0) noexcept |
A generic x86 cpu-id instruction. | |
cpu_feature_mask | cpu_features () noexcept |
Get a list of features of the current CPU. | |
bool | has_cmov () noexcept |
This CPU has the CMOV (Conditional Move) instruction. | |
bool | has_cx8 () noexcept |
This CPU has the CMPXCG8 (Compare and exchange 8 bytes) instruction. | |
bool | has_fpu () noexcept |
This CPU has a floating-point co-processor. | |
bool | has_fxsr () noexcept |
This CPU has the fxsave instruction. | |
bool | has_osfxsr () noexcept |
This operating system uses the FXSAVE instruction. | |
bool | has_sce () noexcept |
This operating system uses the SYSCALL instruction. | |
bool | has_mmx () noexcept |
This CPU has the MMX instruction set. | |
bool | has_sse () noexcept |
This CPU has the SSE instruction set. | |
bool | has_sse2 () noexcept |
This CPU has the SSE2 instruction set. | |
bool | has_x86_64_v1 () noexcept |
This CPU has all the features for x86-64-v1 microarchitecture level. | |
bool | has_cx16 () noexcept |
This CPU has the CMPXCG16 (Compare and exchange 16 bytes) instruction. | |
bool | has_lahf () noexcept |
This CPU has the LAHF and SAHF instructions. | |
bool | has_popcnt () noexcept |
This CPU has the POPCNT instructions. | |
bool | has_sse3 () noexcept |
This CPU has the SSE3 instruction set. | |
bool | has_ssse3 () noexcept |
This CPU has the SSSE3 instruction set. | |
bool | has_sse4_1 () noexcept |
This CPU has the SSE4.1 instruction set. | |
bool | has_sse4_2 () noexcept |
This CPU has the SSE4.2 instruction set. | |
bool | has_x86_64_v2 () noexcept |
This CPU has all the features for x86-64-v2 microarchitecture level. | |
bool | has_f16c () noexcept |
This CPU has float-16 conversion instructions. | |
bool | has_fma () noexcept |
This CPU has fused-multiply-accumulate instructions. | |
bool | has_bmi1 () noexcept |
This CPU has the BMI1 instruction set. | |
bool | has_bmi2 () noexcept |
This CPU has the BMI2 instruction set. | |
bool | has_lzcnt () noexcept |
This CPU has the LZCNT instruction. | |
bool | has_movbe () noexcept |
This CPU has the MOVBE (Move Big Endian) instruction. | |
bool | has_osxsave () noexcept |
This operating system uses the SXSAVE instruction. | |
bool | has_avx () noexcept |
This CPU has the AVX instruction set. | |
bool | has_avx2 () noexcept |
This CPU has the AVX2 instruction set. | |
bool | has_x86_64_v3 () noexcept |
This CPU has all the features for x86-64-v3 microarchitecture level. | |
bool | has_avx512f () noexcept |
This CPU has the AVX512F instruction set. | |
bool | has_avx512bw () noexcept |
This CPU has the AVX512BW instruction set. | |
bool | has_avx512cd () noexcept |
This CPU has the AVX512CD instruction set. | |
bool | has_avx512dq () noexcept |
This CPU has the AVX512DQ instruction set. | |
bool | has_avx512vl () noexcept |
This CPU has the AVX512VL instruction set. | |
bool | has_x86_64_v4 () noexcept |
This CPU has all the features for x86-64-v4 microarchitecture level. | |
bool | has_avx512pf () noexcept |
This CPU has the AVX512PF instruction set. | |
bool | has_avx512er () noexcept |
This CPU has the AVX512ER instruction set. | |
bool | has_sha () noexcept |
This CPU has the SHA cryptographical secure hash instruction set. | |
bool | has_aes () noexcept |
This CPU has the AES-NI block cypher instruction set. | |
bool | has_pclmul () noexcept |
This CPU has the PCLMUL carry-less multiply instruction. | |
bool | has_rdrnd () noexcept |
This CPU has the RDRAND on-chip random number generator instruction. | |
bool | has_rdseed () noexcept |
This CPU has the RDSEED access to the conditioned on-chip entropy. | |
constexpr std::array< uint16_t, 4 > | float_to_half_generic (std::array< float, 4 > a) noexcept |
constexpr uint16_t | float_to_half (float v) noexcept |
constexpr std::array< uint16_t, 4 > | float_to_half (std::array< float, 4 > v) noexcept |
constexpr float | half_to_float_generic (uint16_t u16) noexcept |
Convert half to float. | |
constexpr std::array< float, 4 > | half_to_float (std::array< uint16_t, 4 > v) noexcept |
constexpr float | half_to_float (uint16_t v) 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. | |
hi_export constexpr std::string_view | to_string (audio_device_state const &rhs) noexcept |
hi_export constexpr audio_direction | operator& (audio_direction const &lhs, audio_direction const &rhs) noexcept |
hi_export constexpr audio_direction | operator| (audio_direction const &lhs, audio_direction const &rhs) noexcept |
hi_export constexpr bool | to_bool (audio_direction const &rhs) noexcept |
hi_export bool | win32_use_extensible (audio_stream_format x) noexcept |
hi_export WAVEFORMATEXTENSIBLE | audio_stream_format_to_win32 (audio_stream_format stream_format, bool extensible) noexcept |
hi_export audio_stream_format | audio_stream_format_from_win32 (WAVEFORMATEXTENSIBLE const &wave_format) |
hi_export audio_stream_format | audio_stream_format_from_win32 (WAVEFORMATEX const &wave_format) |
constexpr bool | match_audio_device (audio_device const &device) noexcept |
template<audio_device_filter FirstFilter, audio_device_filter... Filters> | |
bool | match_audio_device (audio_device const &device, FirstFilter &&first_filter, Filters &&...filters) noexcept |
template<audio_device_filter... Filters> | |
generator< audio_device & > | audio_devices (Filters &&...filters) noexcept |
Get audio devices matching the filter arguments. | |
hi_export constexpr bool | to_bool (speaker_mapping const &rhs) noexcept |
hi_export constexpr unsigned int | popcount (speaker_mapping const &rhs) noexcept |
hi_export constexpr speaker_mapping | operator| (speaker_mapping const &lhs, speaker_mapping const &rhs) noexcept |
hi_export constexpr speaker_mapping | operator& (speaker_mapping const &lhs, speaker_mapping const &rhs) noexcept |
hi_export constexpr speaker_mapping & | operator|= (speaker_mapping &lhs, speaker_mapping const &rhs) noexcept |
hi_export constexpr speaker_mapping & | operator&= (speaker_mapping &lhs, speaker_mapping const &rhs) noexcept |
hi_export std::string | to_string (speaker_mapping rhs) noexcept |
hi_export speaker_mapping | speaker_mapping_from_win32 (DWORD from) |
hi_export DWORD | speaker_mapping_to_win32 (speaker_mapping from) noexcept |
hi_export constexpr surround_mode | operator& (surround_mode const &lhs, surround_mode const &rhs) noexcept |
hi_export constexpr surround_mode | operator| (surround_mode const &lhs, surround_mode const &rhs) noexcept |
hi_export constexpr surround_mode & | operator|= (surround_mode &lhs, surround_mode const &rhs) noexcept |
hi_export constexpr bool | to_bool (surround_mode const &rhs) noexcept |
hi_export constexpr speaker_mapping | to_speaker_mapping (surround_mode const &rhs) noexcept |
hi_export generator< surround_mode > | enumerate_surround_modes () noexcept |
hi_export constexpr std::string_view | to_string_view_one (surround_mode const &mode) noexcept |
hi_export constexpr std::string | to_string (surround_mode const &mask) noexcept |
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. | |
hi_export bstring | gzip_decompress (std::span< std::byte const > bytes, std::size_t max_size) |
hi_export bstring | gzip_decompress (std::filesystem::path const &path, std::size_t max_size=0x01000000) |
hi_export bstring | inflate (std::span< std::byte const > bytes, std::size_t &offset, std::size_t max_size=0x0100 '0000) |
Inflate compressed data using the deflate algorithm bytes should include at least 32 bit of trailer, for the overflow check which will slightly overrun the actual compressed data for performance reasons. | |
bstring | zlib_decompress (std::span< std::byte const > bytes, std::size_t max_size) |
bstring | zlib_decompress (std::filesystem::path const &path, std::size_t max_size=0x01000000) |
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 (half u) noexcept |
sRGB linear float-16 to gamma transfer function. | |
half | 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. | |
hi_export void * | unfair_mutex_deadlock_lock (void *object) noexcept |
Lock an object on this thread. | |
hi_export bool | unfair_mutex_deadlock_unlock (void *object) noexcept |
Unlock an object on this thread. | |
hi_export void | unfair_mutex_deadlock_remove_object (void *object) noexcept |
Remove the object from the detection. | |
hi_export void | unfair_mutex_deadlock_clear_stack () noexcept |
Clear the stack. | |
hi_export void | unfair_mutex_deadlock_clear_graph () noexcept |
Clear the graph. | |
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 , std::convertible_to< T >... Args> | |
lean_vector< T > | make_lean_vector (Args &&...args) noexcept |
hi_export char * | make_cstr (char const *c_str, std::size_t size=-1) noexcept |
Copy a std::string to new memory. | |
hi_export char * | make_cstr (std::string const &s) noexcept |
Copy a std::string to new memory. | |
hi_export std::pair< int, char ** > | crt_start (int, char **, void *instance, int show_cmd) |
int | crt_finish (int argc, char **argv, int exit_code) |
template<typename Func , typename... Args> requires (is_invocable_task_v<Func, Args...>) | |
std::invoke_result_t< Func, Args... > | async_task (Func func, Args... args) |
Run a function asynchronously as a co-routine task. | |
template<typename Func , typename... Args> requires (not is_invocable_task_v<Func, Args...>) | |
task< std::invoke_result_t< Func, Args... > > | async_task (Func func, Args... args) |
Run a function asynchronously as a co-routine task. | |
template<typename Func , typename... Args> | |
auto | cancelable_async_task (Func func, std::stop_token stop_token, ::hi::progress_token progress_token, Args... args) |
Run a function asynchronously as a co-routine task. | |
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 void | dsp_mul (float const *a, float const *b, float *o, size_t n) noexcept |
Multiply two float arrays into another array. | |
constexpr void | dsp_mul (float const *a, float b, float *o, size_t n) noexcept |
Multiply a float array with a scalar into another array. | |
constexpr void | dsp_mul_acc (float const *a, float const *b, float *o, size_t n) noexcept |
Multiply two float arrays and accumulate into another array. | |
constexpr void | dsp_mul_acc (float const *a, float b, float *o, size_t n) noexcept |
Multiply a float array with a scalar and accumulate into another array. | |
hi_export constexpr access_mode | operator| (access_mode const &lhs, access_mode const &rhs) noexcept |
hi_export constexpr access_mode | operator& (access_mode const &lhs, access_mode const &rhs) noexcept |
hi_export constexpr bool | to_bool (access_mode const &rhs) noexcept |
hi_export generator< font_style > | alternatives (font_style start) noexcept |
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 guideline_width) |
Create a guideline between two points. | |
constexpr std::optional< float > | make_guideline (horizontal_alignment alignment, float left, float 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 matrix2 | operator* (matrix2 const &lhs, matrix2 const &rhs) noexcept |
Matrix/Matrix multiplication. | |
constexpr aarectangle | operator* (scale2 const &lhs, aarectangle const &rhs) noexcept |
Scale a rectangle around it's center. | |
constexpr matrix2 | operator* (translate2 const &lhs, scale2 const &rhs) noexcept |
constexpr matrix3 | operator* (matrix3 const &lhs, matrix3 const &rhs) noexcept |
Matrix/Matrix multiplication. | |
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* (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, 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 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 |
point3 | get_atlas_position (std::size_t page) noexcept |
Get the coordinate in the atlas from a page index. | |
point2 | get_staging_position (const gfx_pipeline_image::paged_image &image, std::size_t page_index) |
Get the position in the staging texture map to copy from. | |
void | render_doc_set_overlay (bool frameRate, bool frameNumber, bool captureList) noexcept |
void | start_render_doc () noexcept |
template<typename T > | |
constexpr std::array< T, 2 > | bezierToPolynomial (T P1, T P2) noexcept |
template<typename T > | |
constexpr std::array< T, 3 > | bezierToPolynomial (T P1, T C, T P2) noexcept |
template<typename T > | |
constexpr std::array< T, 4 > | bezierToPolynomial (T P1, T C1, T C2, T P2) noexcept |
constexpr point2 | bezierPointAt (point2 P1, point2 P2, float t) noexcept |
constexpr point2 | bezierPointAt (point2 P1, point2 C, point2 P2, float t) noexcept |
constexpr point2 | bezierPointAt (point2 P1, point2 C1, point2 C2, point2 P2, float t) noexcept |
constexpr vector2 | bezierTangentAt (point2 P1, point2 P2, float t) noexcept |
constexpr vector2 | bezierTangentAt (point2 P1, point2 C, point2 P2, float t) noexcept |
constexpr vector2 | bezierTangentAt (point2 P1, point2 C1, point2 C2, point2 P2, float t) noexcept |
lean_vector< float > | bezierFindT (float P1, float P2, float x) noexcept |
lean_vector< float > | bezierFindT (float P1, float C, float P2, float x) noexcept |
lean_vector< float > | bezierFindT (float P1, float C1, float C2, float P2, float x) noexcept |
lean_vector< float > | bezierFindTForNormalsIntersectingPoint (point2 P1, point2 P2, point2 P) noexcept |
Find t on the line P1->P2 which is closest to P. | |
lean_vector< float > | bezierFindTForNormalsIntersectingPoint (point2 P1, point2 C, point2 P2, point2 P) noexcept |
Find t on the curve P1->C->P2 which is closest to P. | |
lean_vector< float > | bezierFindX (point2 P1, point2 P2, float y) noexcept |
lean_vector< float > | bezierFindX (point2 P1, point2 C, point2 P2, float y) noexcept |
lean_vector< float > | bezierFindX (point2 P1, point2 C1, point2 C2, point2 P2, float y) noexcept |
float | bezierFlatness (point2 P1, point2 P2) noexcept |
float | bezierFlatness (point2 P1, point2 C, point2 P2) noexcept |
float | bezierFlatness (point2 P1, point2 C1, point2 C2, point2 P2) noexcept |
std::pair< point2, point2 > | parallelLine (point2 P1, point2 P2, float distance) noexcept |
std::optional< point2 > | getIntersectionPoint (point2 A1, point2 A2, point2 B1, point2 B2) noexcept |
std::optional< point2 > | getExtrapolatedIntersectionPoint (point2 A1, point2 A2, point2 B1, point2 B2) noexcept |
constexpr std::vector< bezier_curve > | makeContourFromPoints (std::vector< bezier_point >::const_iterator begin, std::vector< bezier_point >::const_iterator end) noexcept |
Make a contour of Bezier curves from a list of points. | |
constexpr std::vector< bezier_curve > | makeInverseContour (std::vector< bezier_curve > const &contour) noexcept |
Inverse a contour. | |
constexpr std::vector< bezier_curve > | makeParallelContour (std::vector< bezier_curve > const &contour, float offset, hi::line_join_style line_join_style, float tolerance) noexcept |
constexpr void | fill (pixmap_span< uint8_t > image, std::vector< bezier_curve > const &curves) noexcept |
Fill a linear gray scale image by filling a curve with anti-aliasing. | |
constexpr void | fill (pixmap_span< sdf_r8 > image, std::vector< bezier_curve > const &curves) noexcept |
Fill a signed distance field image from the given contour. | |
hi_export void | fill (pixmap_span< sdf_r8 > dst, graphic_path const &path) noexcept |
Fill a signed distance field image from the given path. | |
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. | |
void | load_user_keyboard_bindings (std::filesystem::path const &path) |
void | load_system_keyboard_bindings (std::filesystem::path const &path) |
generator< gui_event > | translate_keyboard_event (gui_event event) noexcept |
widget_id | make_widget_id () noexcept |
void | release_widget_id (widget_id id) noexcept |
constexpr bool | operator== (widget_id const &lhs, std::integral auto const &rhs) noexcept |
constexpr std::strong_ordering | operator<=> (widget_id const &lhs, std::integral auto const &rhs) noexcept |
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) |
std::vector< language_tag > | variants (std::vector< language_tag > languages) |
Add variants to the list of languages. | |
template<typename T > | |
pixmap (pixmap_span< T > const &other) -> pixmap< std::remove_const_t< T >, std::allocator< std::remove_const_t< T > > > | |
template<typename T , typename Allocator > | |
pixmap (pixmap_span< T > const &other, Allocator allocator) -> pixmap< std::remove_const_t< T >, Allocator > | |
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 > | |
template<std::input_iterator It, std::sentinel_for< It > ItEnd> | |
constexpr po_translations | parse_po (It it, ItEnd last, std::string_view path) |
constexpr po_translations | parse_po (std::string_view text, std::string_view path) |
po_translations | parse_po (std::filesystem::path const &path) |
void | add_translation (std::string_view msgid, language_tag language, std::vector< std::string > const &plural_forms) noexcept |
void | add_translations (po_translations const &po_translations) noexcept |
void | load_translations (std::filesystem::path path) |
void | load_translations () |
std::pair< std::string_view, language_tag > | get_translation (std::string_view msgid, long long n, std::vector< language_tag > const &languages) noexcept |
constexpr long long | get_first_integer_argument () noexcept |
template<typename First , typename... Rest> | |
constexpr long long | get_first_integer_argument (First const &first, Rest const &...rest) noexcept |
hi_export std::string const & | get_application_name () |
hi_export std::string const & | get_application_slug () |
hi_export std::string const & | get_application_vendor () |
hi_export semantic_version const & | get_application_version () |
hi_export void | set_application_name (std::string_view name, std::string_view slug) |
hi_export void | set_application_name (std::string_view name) |
hi_export void | set_application_vendor (std::string_view name) |
hi_export void | set_application_version (semantic_version version) noexcept |
hi_export void | set_application_version (int major, int minor=0, int patch=0) noexcept |
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<std::input_iterator It, std::sentinel_for< It > ItEnd> | |
hi_export constexpr std::string | token_location (It &it, ItEnd last, std::string_view path) noexcept |
Create a location string for error messages. | |
template<std::input_iterator It> | |
hi_export constexpr std::string | token_location (It &it, std::string_view path) noexcept |
hi_export std::ostream & | operator<< (std::ostream &lhs, token const &rhs) |
std::optional< cmake_install > | parse_cmake_install (std::filesystem::path path) noexcept |
Parse a cmake_install.cmake file. | |
hi_export generator< std::filesystem::path > | glob (glob_pattern pattern) noexcept |
Find paths on the filesystem that match the glob pattern. | |
hi_export generator< std::filesystem::path > | glob (std::string_view pattern) noexcept |
Find paths on the filesystem that match the glob pattern. | |
hi_export generator< std::filesystem::path > | glob (std::string pattern) noexcept |
Find paths on the filesystem that match the glob pattern. | |
hi_export generator< std::filesystem::path > | glob (char const *pattern) noexcept |
Find paths on the filesystem that match the glob pattern. | |
hi_export generator< std::filesystem::path > | glob (std::filesystem::path pattern) noexcept |
Find paths on the filesystem that match the glob pattern. | |
template<path_range Locations> | |
hi_export generator< std::filesystem::path > | glob (Locations &&locations, std::filesystem::path ref) noexcept |
Find paths on the filesystem that match the glob pattern. | |
template<path_range Locations> | |
hi_export generator< std::filesystem::path > | glob (Locations &&locations, std::string_view ref) noexcept |
Find paths on the filesystem that match the glob pattern. | |
template<path_range Locations> | |
hi_export generator< std::filesystem::path > | glob (Locations &&locations, std::string ref) noexcept |
Find paths on the filesystem that match the glob pattern. | |
template<path_range Locations> | |
hi_export generator< std::filesystem::path > | glob (Locations &&locations, char const *ref) noexcept |
Find paths on the filesystem that match the glob pattern. | |
template<path_range Locations> | |
generator< std::filesystem::path > | find_path (Locations &&locations, std::filesystem::path const &ref) noexcept |
Find a path. | |
generator< std::filesystem::path > | find_path (std::filesystem::path const &location, std::filesystem::path const &ref) noexcept |
Find a path. | |
template<path_range Locations> | |
std::filesystem::path | get_path (Locations &&locations, std::filesystem::path const &ref) |
Get a path. | |
std::filesystem::path | get_path (std::filesystem::path const &location, std::filesystem::path const &ref) |
Get a path. | |
std::filesystem::path | get_path (std::expected< std::filesystem::path, std::error_code > const &location, std::filesystem::path const &ref) |
Get a path. | |
template<path_range Locations> | |
std::string | to_string (Locations &&locations) noexcept |
Get a string representation of a search-path. | |
std::expected< std::filesystem::path, std::error_code > | executable_file () noexcept |
Get the full path to this executable. | |
std::expected< std::filesystem::path, std::error_code > | executable_dir () noexcept |
Get the full path to the directory when this executable is located. | |
std::expected< std::filesystem::path, std::error_code > | data_dir () noexcept |
Get the full path to the directory where the application should store its data. | |
std::expected< std::filesystem::path, std::error_code > | log_dir () noexcept |
Get the full path to the directory where the application should store its log files. | |
generator< std::filesystem::path > | resource_dirs () noexcept |
The directories to search for resource files. | |
generator< std::filesystem::path > | system_font_dirs () noexcept |
The directories to search for system font files. | |
generator< std::filesystem::path > | font_files () noexcept |
The directories to search for font files of both the application and system. | |
generator< std::filesystem::path > | theme_files () noexcept |
The directories to search for theme files of the application. | |
std::optional< std::filesystem::path > | source_dir () noexcept |
Get the full path to source code of this executable. | |
std::filesystem::path | library_source_dir () noexcept |
std::filesystem::path | library_test_data_dir () noexcept |
generator< std::filesystem::path > | font_dirs () noexcept |
generator< std::filesystem::path > | theme_dirs () noexcept |
std::expected< std::string, std::error_code > | get_user_setting_string (std::string_view key) noexcept |
std::expected< long long, std::error_code > | get_user_setting_integral (std::string_view key) noexcept |
template<typename T > | |
std::expected< T, std::error_code > | get_user_setting (std::string_view key) noexcept=delete |
Get a user-setting for the application. | |
std::error_code | set_user_setting (std::string_view key, std::string_view value) noexcept |
Set a user-setting for the application. | |
std::error_code | set_user_setting (std::string_view key, long long value) noexcept |
Set a user-setting for the application. | |
std::error_code | delete_user_setting (std::string_view key) noexcept |
Delete a user-setting for the application. | |
std::error_code | delete_user_settings () noexcept |
Delete all user-setting for the application. | |
template<> | |
std::expected< std::string, std::error_code > | get_user_setting (std::string_view key) noexcept |
std::string | user_setting_registry_path () |
template<std::input_or_output_iterator It, std::sentinel_for< It > ItEnd> requires std::same_as<typename It::value_type, grapheme> | |
hi_export constexpr It | apply_markup (It first, ItEnd last, language_tag default_language=language_tag{"en-US"}, phrasing default_phrasing=phrasing::regular) noexcept |
Inplace-apply markup to a string of graphemes. | |
hi_export constexpr gstring | apply_markup (gstring str, language_tag default_language=language_tag{"en-US"}, phrasing default_phrasing=phrasing::regular) noexcept |
Apply markup to a string of graphemes. | |
hi_export constexpr gstring | apply_markup (std::string_view str, language_tag default_language=language_tag{"en-US"}, phrasing default_phrasing=phrasing::regular) noexcept |
Apply markup to a string of graphemes. | |
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. | |
template<typename FontSizeT , typename ByT > | |
au::Quantity< PixelsPerEm, std::common_type_t< FontSizeT, ByT > > | round (au::Quantity< PixelsPerEm, FontSizeT > font_size, au::Quantity< EmSquares, ByT > const &by) |
Round to font size in pixels-per-em. | |
hi_export constexpr bool | bound_check (std::integral auto index, std::integral auto upper) noexcept |
Check if an index is less than the bound. | |
hi_export 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). | |
hi_export constexpr bool | bound_check (std::floating_point auto index, std::floating_point auto lower, std::floating_point auto upper) noexcept |
Check if an floating point value is between the lower (inclusive) and upper (inclusive). | |
hi_export constexpr bool | bound_check (std::integral auto index, bound_check_range_helper auto &&range) noexcept |
Check if an index is within a range. | |
bool | get_bit (std::span< std::byte const > buffer, std::size_t &index) noexcept |
Read a single bit from span of bytes Bits are ordered LSB first. | |
std::size_t | get_bits (std::span< std::byte const > buffer, std::size_t &index, std::size_t length) noexcept |
Read a bits from of span of bytes Bits are ordered LSB first. | |
template<typename T > | |
constexpr T | copy (T value) noexcept |
template<typename Out , typename In > | |
constexpr Out | up_cast (In *rhs) noexcept |
Cast a pointer to a class to its base class or itself. | |
template<typename Out > | |
constexpr Out | up_cast (nullptr_t) noexcept |
Cast a nullptr to a class. | |
template<typename Out , typename In > | |
constexpr Out | up_cast (In &rhs) noexcept |
Cast a reference to a class to its base class or itself. | |
template<typename Out , typename In > | |
constexpr Out | down_cast (In *rhs) noexcept |
Cast a pointer to a class to its derived class or itself. | |
template<typename Out > requires std::is_pointer_v<Out> | |
constexpr Out | down_cast (nullptr_t) noexcept |
Cast a pointer to a class to its derived class or itself. | |
template<typename Out , typename In > | |
constexpr Out | down_cast (In &rhs) noexcept |
Cast a reference to a class to its derived class or itself. | |
template<typename Out , std::same_as< Out > In> | |
constexpr Out | wide_cast (In const &rhs) noexcept |
Cast to a type which can hold all values from the input type. | |
template<std::floating_point Out, std::floating_point In> requires (not std::same_as<In, Out>) | |
constexpr Out | wide_cast (In const &rhs) noexcept |
Cast a floating point number to a floating point type that is wider. | |
template<std::integral Out, std::integral In> requires (not std::same_as<In, Out>) | |
constexpr Out | wide_cast (In rhs) noexcept |
Cast a integer to an integer type which is wider. | |
template<std::floating_point Out, std::integral In> | |
constexpr Out | wide_cast (In rhs) noexcept |
Cast a integer to an float type which is wider. | |
template<std::integral Out, arithmetic In> | |
constexpr Out | saturate_cast (In rhs) noexcept |
Cast a numeric value to an integer saturating on overflow. | |
template<typename Out , std::same_as< Out > In> | |
constexpr bool | can_narrow_cast (In const &rhs) noexcept |
Check if a value can be casted to a narrow type. | |
template<std::floating_point Out, std::floating_point In> requires (not std::same_as<In, Out>) | |
constexpr bool | can_narrow_cast (In const &rhs) noexcept |
Check if a value can be casted to a narrow type. | |
template<typename Out , std::same_as< Out > In> | |
constexpr Out | narrow_cast (In const &rhs) noexcept |
Cast numeric values without loss of precision. | |
template<std::floating_point Out, std::floating_point In> requires (not std::same_as<In, Out>) | |
constexpr Out | narrow_cast (In const &rhs) noexcept |
Cast numeric values without loss of precision. | |
template<std::integral Out, std::floating_point In> | |
constexpr bool | can_round_cast (In rhs) noexcept |
template<std::integral Out, std::floating_point In> | |
constexpr bool | can_floor_cast (In rhs) noexcept |
template<std::integral Out, std::floating_point In> | |
constexpr bool | can_ceil_cast (In rhs) noexcept |
template<std::integral Out, std::floating_point In> | |
constexpr Out | round_cast (In rhs) noexcept |
template<std::integral Out, std::floating_point In> | |
constexpr Out | floor_cast (In rhs) noexcept |
template<std::integral Out, std::floating_point In> | |
constexpr Out | ceil_cast (In rhs) noexcept |
template<std::integral In> | |
constexpr std::make_unsigned_t< In > | to_unsigned (In rhs) noexcept |
Cast an integral to an unsigned integral of the same size. | |
template<std::integral In> | |
constexpr std::make_signed_t< In > | to_signed (In rhs) noexcept |
Cast an integral to an signed integral of the same size. | |
template<std::integral Out, std::integral In> | |
constexpr Out | truncate (In rhs) noexcept |
Cast between integral types truncating or zero-extending the result. | |
template<std::integral Out, std::integral In> | |
constexpr Out | char_cast (In rhs) noexcept |
Cast a character. | |
template<std::integral Out> | |
constexpr Out | char_cast (std::byte rhs) noexcept |
Cast a character. | |
template<std::unsigned_integral OutType, std::unsigned_integral InType> | |
constexpr OutType | low_bit_cast (InType value) noexcept |
Return the low half of the input value. | |
template<std::unsigned_integral OutType, std::unsigned_integral InType> | |
constexpr OutType | high_bit_cast (InType value) noexcept |
Return the upper half of the input value. | |
template<std::unsigned_integral OutType, std::unsigned_integral InType> | |
constexpr OutType | merge_bit_cast (InType hi, InType lo) noexcept |
Return the upper half of the input value. | |
template<typename T > requires (requires(T&& x) { static_cast<bool>(std::forward<T>(x)); }) | |
constexpr bool | to_bool (T &&rhs) noexcept |
template<typename T > | |
constexpr T | to_mask (bool v) noexcept |
Create a mask from a boolean value. | |
template<typename T > requires std::is_pointer_v<T> | |
T | to_ptr (std::intptr_t value) noexcept |
template<typename T > | |
std::intptr_t | to_int (T *ptr) noexcept |
template<typename T , byte_like Byte> | |
copy_cv_t< T, Byte > & | implicit_cast (std::span< Byte > bytes) |
template<typename T , byte_like Byte> | |
std::span< copy_cv_t< T, Byte > > | implicit_cast (std::span< Byte > bytes, size_t n) |
template<typename T , byte_like Byte> | |
copy_cv_t< T, Byte > & | implicit_cast (size_t &offset, std::span< Byte > bytes) |
template<typename T , byte_like Byte> | |
std::span< copy_cv_t< T, Byte > > | implicit_cast (size_t &offset, std::span< Byte > bytes, size_t n) |
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 | start_console () noexcept |
Start the console. | |
void | enable_debugger () noexcept |
Enable the JIT debugger to be attached. | |
void | set_debug_message (char const *str) noexcept |
bool | has_debug_message () noexcept |
char const * | get_debug_message () noexcept |
template<std::integral T> | |
constexpr unsigned long long | operator<< (T const &lhs, dialog_button const &rhs) noexcept |
constexpr bool | to_bool (dialog_button_mask const &rhs) noexcept |
constexpr dialog_button_mask | operator& (dialog_button_mask const &lhs, dialog_button_mask const &rhs) noexcept |
constexpr dialog_button_mask | operator| (dialog_button_mask const &lhs, dialog_button_mask const &rhs) noexcept |
constexpr dialog_button_mask & | operator&= (dialog_button_mask &lhs, dialog_button_mask const &rhs) noexcept |
constexpr dialog_button_mask & | operator|= (dialog_button_mask &lhs, dialog_button_mask const &rhs) noexcept |
constexpr dialog_button_mask | operator& (dialog_button_mask const &lhs, dialog_button const &rhs) noexcept |
constexpr dialog_button_mask | operator| (dialog_button_mask const &lhs, dialog_button const &rhs) noexcept |
constexpr dialog_button_mask & | operator&= (dialog_button_mask &lhs, dialog_button const &rhs) noexcept |
constexpr dialog_button_mask & | operator|= (dialog_button_mask &lhs, dialog_button const &rhs) noexcept |
std::expected< dialog_button, std::error_code > | dialog (std::string_view title, std::string_view text, dialog_button_mask button_mask=dialog_button_mask::ok) noexcept |
Display a modal dialog. | |
template<std::integral T> | |
constexpr T | little_to_native (T x) |
Convert an integral from little-to-native endian. | |
template<std::integral T> | |
constexpr T | big_to_native (T x) |
Convert an integral from big-to-native endian. | |
template<std::integral T> | |
constexpr T | native_to_little (T x) |
Convert an integral from native-to-little endian. | |
template<std::integral T> | |
constexpr T | native_to_big (T x) |
Convert an integral from native-to-big endian. | |
template<std::integral Out, std::endian Endian = std::endian::native, typename In > | |
constexpr Out | load (In const *src) noexcept |
Unaligned Load of a numeric value from an array. | |
template<std::integral T, std::endian Endian = std::endian::native> | |
T | load (void const *src) noexcept |
Unaligned Load of a numeric value from a byte-like array. | |
template<std::integral T> | |
constexpr T | load_le (T const *src) noexcept |
Load of a numeric value encoded in little-endian format. | |
template<std::integral T, byte_like B> | |
constexpr T | load_le (B const *src) noexcept |
Unaligned load of a numeric value encoded in little-endian format. | |
template<std::integral T> | |
T | load_le (void const *src) noexcept |
Unaligned load of a numeric value encoded in little-endian format. | |
template<std::integral T> | |
constexpr T | load_be (T const *src) noexcept |
Load of a numeric value encoded in big-endian format. | |
template<std::integral T, byte_like B> | |
constexpr T | load_be (B const *src) noexcept |
Unaligned load of a numeric value encoded in byte-endian format. | |
template<std::integral T> | |
T | load_be (void const *src) noexcept |
Unaligned load of a numeric value encoded in byte-endian format. | |
template<unsigned int NumBits, byte_like B> | |
constexpr auto | load_bits_be (B const *src, size_t bit_index) noexcept |
Unaligned load bits from a big-endian buffer at a bit-offset. | |
template<std::endian Endian = std::endian::native, std::integral T, byte_like B> | |
constexpr void | store (T value, B const *dst) noexcept |
template<std::endian Endian = std::endian::native, std::integral T> | |
constexpr void | store (T value, void const *dst) noexcept |
template<std::integral T, byte_like B> | |
constexpr void | store_le (T value, B const *dst) noexcept |
template<std::integral T> | |
void | store_le (T value, void const *dst) noexcept |
template<std::integral T, byte_like B> | |
constexpr void | store_be (T value, B const *dst) noexcept |
template<std::integral T> | |
void | store_be (T value, void const *dst) noexcept |
template<typename ValueType , typename NameType , typename... Rest> | |
enum_metadata (ValueType const &, NameType const &, Rest const &...) -> enum_metadata< ValueType, enum_metadata_name_t< NameType >,(sizeof...(Rest)+2)/2 > | |
hi_export std::string | get_last_error_message (uint32_t error_code) |
Get the error message from an error code. | |
hi_export std::string | get_last_error_message () |
Get the OS error message from the last error received on this thread. | |
template<fixed_string Tag> | |
hi_export consteval uint32_t | fourcc () noexcept |
template<fixed_string Tag> | |
hi_export consteval uint32_t | operator""_fcc () |
template<std::size_t N> | |
hi_export | fixed_string (char const (&str)[N]) -> fixed_string< N - 1 > |
template<std::invocable F> | |
hi_export | fixed_string (F const &f) -> fixed_string< F |
size ()> | |
void | initialize () noexcept |
Initialize base functionality of HikoGUI. | |
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<typename CharT , typename Traits = std::char_traits<CharT>> | |
std::basic_string< CharT, Traits > | getline (std::basic_istream< CharT, Traits > &in, size_t max_size) noexcept |
Get a line from an input string, upto a maximum size. | |
constexpr size_t | count (std::string_view haystack, std::string_view needle) noexcept |
constexpr std::string | replace (std::string haystack, std::string_view needle, std::string_view replace) noexcept |
template<size_t Index, typename Type > | |
constexpr decltype(auto) | get_data_member (Type &&rhs) noexcept |
template<typename T > | |
constexpr auto | type_name () noexcept |
void | atterminate (std::function< void()> f) noexcept |
Register functions that need to be called on std::terminate(). | |
void | terminate_handler () noexcept |
The HikoGUI terminate handler. | |
std::chrono::time_zone const & | cached_current_zone () noexcept |
Cached current time zone. | |
template<std::integral T> | |
constexpr bool | is_integral_value (T const &rhs) noexcept |
Check if a value is integral. | |
template<typename F , typename... Args> | |
default_async_delegate (F &&func, Args &&... args) -> default_async_delegate< default_async_delegate_result_type< F, Args... > > | |
template<typename Value , typename OnValue > | |
default_radio_delegate (Value &&, OnValue &&) -> default_radio_delegate< observer_decay_t< Value > > | |
template<typename Value , typename Options > | |
default_selection_delegate (Value &&, Options &&) -> default_selection_delegate< observer_decay_t< Value > > | |
template<typename Value > requires requires { default_tab_delegate<observer_decay_t<Value>>{std::forward<Value>(value)}; } | |
std::shared_ptr< tab_delegate > | make_default_tab_delegate (Value &&value) noexcept |
Create a shared pointer to a default tab delegate. | |
template<typename Value > requires requires { default_text_delegate<observer_decay_t<Value>>{std::forward<Value>(value)}; } | |
std::shared_ptr< text_delegate > | make_default_text_delegate (Value &&value) noexcept |
Create a shared pointer to a default text delegate. | |
template<typename Value > requires requires { default_text_field_delegate<observer_decay_t<decltype(value)>>{std::forward<Value>(value)}; } | |
std::shared_ptr< text_field_delegate > | make_default_text_field_delegate (Value &&value) noexcept |
Create a shared pointer to a default text delegate. | |
template<typename Value > | |
default_toggle_delegate (Value &&) -> default_toggle_delegate< observer_decay_t< Value > > | |
template<typename Value , typename OnValue > | |
default_toggle_delegate (Value &&, OnValue &&) -> default_toggle_delegate< observer_decay_t< Value > > | |
template<typename Value , typename OnValue , typename OffValue > | |
default_toggle_delegate (Value &&, OnValue &&, OffValue &&) -> default_toggle_delegate< observer_decay_t< Value > > | |
std::error_code | make_error_code (hresult_error code) noexcept |
hresult_error | to_win32_error (win32_error code) noexcept |
std::expected< std::filesystem::path, win32_error > | win32_GetModuleFileName (HMODULE module_handle=NULL) noexcept |
std::expected< uint32_t, win32_error > | win32_GetExitCodeProcess (HANDLE process_handle) noexcept |
template<typename StartupInfo > | |
std::expected< PROCESS_INFORMATION, win32_error > | win32_CreateProcess (std::optional< std::string > application_name, std::optional< std::string > command_line, SECURITY_ATTRIBUTES const *process_attributes, SECURITY_ATTRIBUTES const *thread_attributes, bool inherit_handles, uint32_t creation_flags, void const *environment, std::optional< std::string > current_directory, StartupInfo const &startup_info) |
std::expected< std::filesystem::path, hresult_error > | win32_SHGetKnownFolderPath (KNOWNFOLDERID const &folder_id) noexcept |
Convenience function for SHGetKnownFolderPath(). | |
std::expected< std::string, win32_error > | win32_WideCharToMultiByte (std::wstring_view s, unsigned int code_page=CP_UTF8, uint32_t flags=0) noexcept |
Convert a win32-API compatible std::wstring to a multi-byte std::string. | |
std::expected< std::wstring, win32_error > | win32_MultiByteToWideChar (std::string_view s, unsigned int code_page=CP_UTF8, uint32_t flags=0) noexcept |
Convert a win32-API compatible std::wstring to a multi-byte std::string. | |
std::expected< std::vector< std::string >, win32_error > | win32_MultiSZToStringVector (wchar_t const *first, wchar_t const *last) noexcept |
Convert a win32 zero terminated list of zero terminated strings. | |
std::expected< HANDLE, win32_error > | win32_CreateEvent (SECURITY_ATTRIBUTES const *event_attributes=nullptr, bool manual_reset=true, bool initial_state=false, std::optional< std::string > name=std::nullopt) noexcept |
uint32_t | win32_HANDLE_to_int (HANDLE handle) noexcept |
Convert a HANDLE to a 32-bit unsigned integer. | |
HANDLE | win32_int_to_HANDLE (uint32_t i) noexcept |
std::error_code | make_error_code (win32_error code) noexcept |
win32_error | win32_GetLastError () noexcept |
std::expected< std::string, win32_error > | win32_FormatMessage (win32_error error_code) noexcept |
std::expected< std::string, win32_error > | win32_GetUserDefaultLocaleName () noexcept |
win32_error | win32_RegDeleteKeyValue (HKEY key, std::string_view path, std::string_view name) noexcept |
Delete a registry value. | |
win32_error | win32_RegDeleteKey (HKEY key, std::string_view path) noexcept |
Delete all registry values and the last part of the subkey. | |
win32_error | win32_RegSetKeyValue (HKEY key, std::string_view path, std::string_view name, uint32_t value) |
Write a DWORD registry value. | |
win32_error | win32_RegSetKeyValue (HKEY key, std::string_view path, std::string_view name, std::string_view value) |
Write a string registry value. | |
std::expected< void, win32_error > | win32_RegGetValue_void (HKEY key, std::string_view path, std::string_view name) |
Check if a registry entry exists. | |
std::expected< uint32_t, win32_error > | win32_RegGetValue_dword (HKEY key, std::string_view path, std::string_view name) noexcept |
Read a DWORD registry value. | |
std::expected< std::string, win32_error > | win32_RegGetValue_string (HKEY key, std::string_view path, std::string_view name) noexcept |
Read a strings from the registry value. | |
std::expected< std::vector< std::string >, win32_error > | win32_RegGetValue_multi_string (HKEY key, std::string_view path, std::string_view name) noexcept |
Read a list of strings from the registry value. | |
template<typename T > | |
std::expected< T, win32_error > | win32_RegGetValue (HKEY key, std::string_view path, std::string_view name)=delete |
Read from the registry value. | |
template<> | |
std::expected< void, win32_error > | win32_RegGetValue (HKEY key, std::string_view path, std::string_view name) |
template<> | |
std::expected< std::string, win32_error > | win32_RegGetValue (HKEY key, std::string_view path, std::string_view name) |
template<> | |
std::expected< std::vector< std::string >, win32_error > | win32_RegGetValue (HKEY key, std::string_view path, std::string_view name) |
std::expected< UINT, win32_error > | win32_MessageBox (HWND handle, std::string_view text, std::string_view caption, UINT type) noexcept |
Variables | |
constexpr auto | cpu_feature_metadata = cpu_feature_metadata_init() |
hi_export constexpr auto | audio_device_state_metadata |
hi_export constexpr auto | audio_direction_metadata |
hi_export constexpr auto | common_sample_rates |
hi_export constexpr auto | surround_mode_icons |
hi_export constexpr auto | surround_mode_names |
hi_export constexpr auto | surround_mode_short_names |
hi_export constexpr auto | surround_mode_speaker_mappings |
template<typename T > | |
hi_export constexpr bool | is_datum_type_v = is_datum_type<T>::value |
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. | |
template<typename Func , typename... Args> | |
constexpr auto | cancel_features_v = cancel_features<Func, Args...>::value |
The value of the hi::cancel_features<> type trait. | |
constexpr auto | font_style_metadata |
template<typename T > | |
constexpr bool | transform2_v = transform2<T>::value |
template<typename T > | |
constexpr bool | transform3_v = transform3<T>::value |
void * | render_doc_api = nullptr |
constexpr auto | gui_event_type_metadata |
constexpr auto | widget_state_mode_shift = 0 |
constexpr auto | widget_state_value_shift = 5 |
std::unordered_map< translation_key, std::vector< std::string > > | translations |
std::atomic< bool > | translations_loaded = false |
std::optional< std::string > | _application_name = std::nullopt |
std::optional< std::string > | _application_slug = std::nullopt |
std::optional< std::string > | _application_vendor = std::nullopt |
std::optional< semantic_version > | _application_version = std::nullopt |
template<lexer_config Config> | |
constexpr auto | lexer = detail::lexer<Config>() |
log | log_global |
constexpr auto | dip = au::SingularNameFor<Dips>{} |
constexpr auto | dips = au::QuantityMaker<Dips>{} |
constexpr auto | dips_pt = au::QuantityPointMaker<Dips>{} |
constexpr auto | dip_per_em = au::SingularNameFor<DipsPerEm>{} |
constexpr auto | dips_per_em = au::QuantityMaker<DipsPerEm>{} |
constexpr auto | dips_per_em_pt = au::QuantityPointMaker<DipsPerEm>{} |
constexpr auto | em_square = au::SingularNameFor<EmSquares>{} |
constexpr auto | em_squares = au::QuantityMaker<EmSquares>{} |
constexpr auto | em_squares_pt = au::QuantityPointMaker<EmSquares>{} |
constexpr auto | pixel = au::SingularNameFor<Pixels>{} |
constexpr auto | pixels = au::QuantityMaker<Pixels>{} |
constexpr auto | pixels_pt = au::QuantityPointMaker<Pixels>{} |
constexpr auto | pixel_per_em = au::SingularNameFor<PixelsPerEm>{} |
constexpr auto | pixels_per_em = au::QuantityMaker<PixelsPerEm>{} |
constexpr auto | pixels_per_em_pt = au::QuantityPointMaker<PixelsPerEm>{} |
constexpr auto | pixel_per_inch = au::SingularNameFor<PixelsPerInch>{} |
constexpr auto | pixels_per_inch = au::QuantityMaker<PixelsPerInch>{} |
constexpr auto | pixels_per_inch_pt = au::QuantityPointMaker<PixelsPerInch>{} |
constexpr auto | point = au::SingularNameFor<Points>{} |
constexpr auto | points = au::QuantityMaker<Points>{} |
constexpr auto | points_pt = au::QuantityPointMaker<Points>{} |
constexpr auto | point_per_em = au::SingularNameFor<PointsPerEm>{} |
constexpr auto | points_per_em = au::QuantityMaker<PointsPerEm>{} |
constexpr auto | points_per_em_pt = au::QuantityPointMaker<PointsPerEm>{} |
constexpr auto | device_type_metadata |
constexpr auto | policy_metadata |
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. | |
template<typename T > | |
constexpr bool | is_numeric_signed_integral_v = is_numeric_signed_integral<T>::value |
template<typename T > | |
constexpr bool | is_numeric_unsigned_integral_v = is_numeric_unsigned_integral<T>::value |
template<typename T > | |
constexpr bool | is_numeric_integral_v = is_numeric_integral<T>::value |
template<typename T > | |
constexpr bool | is_numeric_v = is_numeric<T>::value |
template<typename T > | |
constexpr bool | is_character_v = is_character<T>::value |
template<typename T > | |
constexpr bool | is_byte_like_v = is_byte_like<T>::value |
An array of this type will implicitly create objects within that array. | |
template<std::size_t N> | |
constexpr bool | has_native_intxx_v = has_native_intxx<N>::value |
template<std::size_t N> | |
constexpr bool | has_native_uintxx_v = has_native_uintxx<N>::value |
template<std::size_t N> | |
constexpr bool | has_native_floatxx_v = has_native_floatxx<N>::value |
template<std::size_t N> | |
constexpr bool | has_intxx_v = has_intxx<N>::value |
template<std::size_t N> | |
constexpr bool | has_uintxx_v = has_uintxx<N>::value |
template<std::size_t N> | |
constexpr bool | has_floatxx_v = has_floatxx<N>::value |
template<typename T > | |
constexpr bool | has_value_type_v = has_value_type<T>::value |
template<typename T > | |
constexpr bool | has_add_callback_v = has_add_callback<T>::value |
template<typename BaseType , typename DerivedType > | |
constexpr bool | is_decayed_base_of_v = is_decayed_base_of<BaseType, DerivedType>::value |
template<typename DerivedType , typename BaseType > | |
constexpr bool | is_derived_from_v = is_derived_from<DerivedType, BaseType>::value |
template<typename DerivedType , typename BaseType > | |
constexpr bool | is_decayed_derived_from_v = is_decayed_derived_from<DerivedType, BaseType>::value |
template<typename T > | |
constexpr bool | is_atomic_v = is_atomic<T>::value |
template<typename Out , typename In > | |
constexpr bool | type_in_range_v |
All values of numeric type In can be represented without loss of range by numeric type Out . | |
template<typename Context , typename Expected , typename... OtherExpected> | |
constexpr bool | is_forward_of_v = is_forward_of<Context, Expected, OtherExpected...>::value |
template<typename T > | |
constexpr bool | default_values_v = default_values<T>::value |
auto | global_hresult_error_category = hresult_error_category{} |
auto | global_win32_error_category = win32_error_category{} |
The HikoGUI API version 1.
using hi::v1::copy_cv_t = typename copy_cv<To, From>::type |
Type-trait to copy const volatile qualifiers from one type to another.
using hi::v1::default_async_delegate_result_type |
using hi::v1::length_variant |
using hi::v1::make_string_t = typename make_string<T>::type |
type-trait to convert a character to a string type.
using hi::v1::make_string_view_t = typename make_string_view<T>::type |
type-trait to convert a character to a string_view type.
using hi::v1::ssize_t = std::ptrdiff_t |
Signed size/index into an array.
using hi::v1::variant_decay_t = variant_decay<T>::type |
|
strong |
|
strong |
Features of an invocable.
Enumerator | |
---|---|
none | This invocable does not have extra arguments. |
stop | The extra argument is a std::stop_token. |
progress | The extra argument is a hi::progress_token. |
stop_and_progress | The extra arguments are a std::stop_token, followed by a hi::progress_token. |
|
strong |
Possible features of x86 CPUs.
The features listed here are the ones which are required for official microarchitecture levels:
Plus some optional features that are used by HikoGUI.
|
strong |
A mask of features.
Currently this implementation can handle up to 64 features.
|
strong |
The device type this application is running on.
The underlying value can be used as the base pixel density after bitwise-and with 0xf8.
|
strong |
|
strong |
The different styles a font-family comes with.
Either normal
, italic
or oblique
. Although technically there is a difference between italic
and oblique
this difference is small and font-families rarely include both those styles; HikoGUI will treat italic
and oblique
as the same.
Enumerator | |
---|---|
normal | A font that is normal, non-italic. |
italic | A font that is italic. |
oblique | A font that is oblique. |
|
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 |
|
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 |
Apply markup to a string of graphemes.
After the markup is applied the range is either the same or shorter.
str | A grapheme string to apply the markup to. |
|
constexprnoexcept |
Inplace-apply markup to a string of graphemes.
After the markup is applied the range is either the same or shorter.
first | An iterator to the first grapheme. |
last | An iterator beyond the last grapheme. |
|
constexprnoexcept |
Apply markup to a string of graphemes.
After the markup is applied the range is either the same or shorter.
str | A UTF-8 string to apply the markup to. |
std::invoke_result_t< Func, Args... > hi::v1::async_task | ( | Func | func, |
Args... | args ) |
Run a function asynchronously as a co-routine task.
func | The function to be called. |
args... | The arguments forwarded to func. |
task< std::invoke_result_t< Func, Args... > > hi::v1::async_task | ( | Func | func, |
Args... | args ) |
Run a function asynchronously as a co-routine task.
func | The function to be called. |
args... | The arguments forwarded to func. |
|
inlinenoexcept |
Register functions that need to be called on std::terminate().
|
noexcept |
Get audio devices matching the filter arguments.
filters | A list of filters that the audio devices need to match with. Filters are of the types hi::audio_device_state and hi::audio_direction . |
|
inlinenoexcept |
Find t on the curve P1->C->P2 which is closest to P.
Used for finding the shortest distance from a point to a curve. The shortest vector from a curve to a point is a normal.
|
inlinenoexcept |
Find t on the line P1->P2 which is closest to P.
Used for finding the shortest distance from a point to a curve. The shortest vector from a curve to a point is a normal.
|
inlinenoexcept |
Find x for y on a bezier curve. In a contour, multiple bezier curves are attached to each other on the anchor point. We don't want duplicate results when passing y
that is at the same height as an anchor point. So we compare with less than to the end-anchor point to remove it from the result.
|
inlinenoexcept |
Find x for y on a bezier curve. In a contour, multiple bezier curves are attached to each other on the anchor point. We don't want duplicate results when passing y
that is at the same height as an anchor point. So we compare with less than to the end-anchor point to remove it from the result.
|
inlinenoexcept |
Find x for y on a bezier curve. In a contour, multiple bezier curves are attached to each other on the anchor point. We don't want duplicate results when passing y
that is at the same height as an anchor point. So we compare with less than to the end-anchor point to remove it from the result.
|
inlinenoexcept |
Return the flatness of a curve.
|
inlinenoexcept |
Return the flatness of a curve.
|
inlinenoexcept |
Return the flatness of a curve.
|
constexpr |
Convert an integral from big-to-native endian.
|
constexprnoexcept |
Check if an floating point value is between the lower (inclusive) and upper (inclusive).
index | The index to check. |
lower | The lower bound. |
upper | The upper bound. |
|
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 index is less than the bound.
index | The 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 |
Check if a value can be casted to a narrow type.
Out | The output type. |
rhs | The input value to cast. |
|
constexprnoexcept |
Check if a value can be casted to a narrow type.
Out | The output type. |
rhs | The input value to cast. |
auto hi::v1::cancelable_async_task | ( | Func | func, |
std::stop_token | stop_token, | ||
::hi::progress_token | progress_token, | ||
Args... | args ) |
Run a function asynchronously as a co-routine task.
If the function func accepts the std::stop_token
and/or hi::progress_token
then those arguments are passed to the function.
async_task()
. func | The function to be called. |
stop_token | The stop token to optionally pass to the func. |
progress_token | The progress token to optionally pass to the func. |
args... | The arguments forwarded to func. |
|
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. |
|
constexprnoexcept |
Cast a character.
Both the input and output types are interpreted as unsigned values, even if they are signed values. For example char
may be either signed or unsigned, but you have to treat those as unsigned values.
rhs | The value of the character. |
|
constexprnoexcept |
Cast a character.
Both the input and output types are interpreted as unsigned values, even if they are signed values. For example char
may be either signed or unsigned, but you have to treat those as unsigned values.
rhs | The value of the character. |
|
noexcept |
Compare then store if there was a change.
|
noexcept |
Compare then store if there was a change.
|
inlinenoexcept |
Get a list of features of the current CPU.
|
inlinenoexcept |
A generic x86 cpu-id instruction.
leaf_id | The leaf of the cpu-id to query |
index | The index inside the leaf |
|
inlinenoexcept |
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. |
|
inlinenoexcept |
Delete all user-setting for the application.
|
inlinenoexcept |
Display a modal dialog.
You should never display a modal dialog unless it is absolutely necessary for the user to respond right now, or on a catastrophic failure.
title | The title of the dialog window. |
text | The text to display in the dialog window. |
button_mask | The set of buttons to show in the dialog. |
|
constexprnoexcept |
Cast a reference to a class to its derived class or itself.
rhs | A reference to an object that is of type Out . |
|
constexprnoexcept |
Cast a pointer to a class to its derived class or itself.
rhs | A pointer to an object that is of type Out . Or a nullptr which will be passed through. |
|
constexprnoexcept |
Cast a pointer to a class to its derived class or itself.
|
constexprnoexcept |
Multiply a float array with a scalar into another array.
a | A pointer the first array. |
b | The second file. |
o | A pointer the output array. |
n | Number of elements in each array. |
|
constexprnoexcept |
Multiply two float arrays into another array.
a | A pointer the first array. |
b | A pointer the second array. |
o | A pointer the output array. |
n | Number of elements in each array. |
|
constexprnoexcept |
Multiply a float array with a scalar and accumulate into another array.
a | A pointer the first array. |
b | The second file. |
o | A pointer the output array. |
n | Number of elements in each array. |
|
constexprnoexcept |
Multiply two float arrays and accumulate into another array.
a | A pointer the first array. |
b | A pointer the second array. |
o | A pointer the output array. |
n | Number of elements in each array. |
|
inlinenoexcept |
Enable the JIT debugger to be attached.
Normally the JIT debugger will already work. By using this function hi_assert_break() and hi_debug_break() will improve.
|
constexprnoexcept |
Transform an axis-aligned rectangle without rotation by the matrix.
rhs | The axis-aligned rectangle to be transformed. |
|
inlinenoexcept |
Fill a signed distance field image from the given path.
dst | An signed-distance-field which show distance toward the closest curve |
path | A path. |
|
constexprnoexcept |
Fill a signed distance field image from the given contour.
image | An signed-distance-field which show distance toward the closest curve |
curves | All curves of path, in no particular order. |
|
constexprnoexcept |
Fill a linear gray scale image by filling a curve with anti-aliasing.
image | An alpha-channel image to make opaque where pixel is inside the contours |
curves | All curves of path, in no particular order. |
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. |
|
inlinenoexcept |
Get the coordinate in the atlas from a page index.
page | number in the atlas |
|
inlinenoexcept |
Read a single bit from span of bytes Bits are ordered LSB first.
buffer | The buffer of bytes to extract the bit from. |
index | The index of the bit in the byte span. |
|
inlinenoexcept |
Read a bits from of span of bytes Bits are ordered LSB first.
Bits are copied as if the byte array is layed out from right to left, example:
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | byte 1 | byte 0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : : index=6 +-+-+-+-+-+ length=5 | Return | +-+-+-+-+-+ 4 3 2 1 0
buffer | The buffer of bytes to extract bits from. |
index | The index of the bit in the byte span. |
length | the number of bits to return. |
|
inline |
Get the OS error message from the last error received on this thread.
|
inline |
Get the error message from an error code.
error_code | The error code returned by an os call. |
|
inline |
Get the position in the staging texture map to copy from.
image | The image |
page_index | The index of the page of the image. |
|
inlinedeletenoexcept |
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. |
|
inlinenoexcept |
|
inlinenoexcept |
Find the intersect points between two line segments.
|
inlinenoexcept |
Find the intersect points between two line segments.
|
inlinenoexcept |
Get a line from an input string, upto a maximum size.
in | The input stream. |
max_size | The maximum number of characters to read. |
|
constexprnoexcept |
Convert half to float.
This function is used
|
inlinenoexcept |
This CPU has the AES-NI block cypher instruction set.
|
inlinenoexcept |
This CPU has the AVX instruction set.
|
inlinenoexcept |
This CPU has the AVX2 instruction set.
|
inlinenoexcept |
This CPU has the AVX512BW instruction set.
|
inlinenoexcept |
This CPU has the AVX512CD instruction set.
|
inlinenoexcept |
This CPU has the AVX512DQ instruction set.
|
inlinenoexcept |
This CPU has the AVX512ER instruction set.
|
inlinenoexcept |
This CPU has the AVX512F instruction set.
|
inlinenoexcept |
This CPU has the AVX512PF instruction set.
|
inlinenoexcept |
This CPU has the AVX512VL instruction set.
|
inlinenoexcept |
This CPU has the BMI1 instruction set.
|
inlinenoexcept |
This CPU has the BMI2 instruction set.
|
inlinenoexcept |
This CPU has the CMOV (Conditional Move) instruction.
|
inlinenoexcept |
This CPU has the CMPXCG16 (Compare and exchange 16 bytes) instruction.
|
inlinenoexcept |
This CPU has the CMPXCG8 (Compare and exchange 8 bytes) instruction.
|
inlinenoexcept |
This CPU has float-16 conversion instructions.
|
inlinenoexcept |
This CPU has fused-multiply-accumulate instructions.
|
inlinenoexcept |
This CPU has a floating-point co-processor.
|
inlinenoexcept |
This CPU has the fxsave instruction.
|
inlinenoexcept |
This CPU has the LAHF and SAHF instructions.
|
inlinenoexcept |
This CPU has the LZCNT instruction.
|
inlinenoexcept |
This CPU has the MMX instruction set.
|
inlinenoexcept |
This CPU has the MOVBE (Move Big Endian) instruction.
|
inlinenoexcept |
This operating system uses the FXSAVE instruction.
|
inlinenoexcept |
This operating system uses the SXSAVE instruction.
|
inlinenoexcept |
This CPU has the PCLMUL carry-less multiply instruction.
|
inlinenoexcept |
This CPU has the POPCNT instructions.
|
inlinenoexcept |
This CPU has the RDRAND on-chip random number generator instruction.
|
inlinenoexcept |
This CPU has the RDSEED access to the conditioned on-chip entropy.
|
inlinenoexcept |
This operating system uses the SYSCALL instruction.
|
inlinenoexcept |
This CPU has the SHA cryptographical secure hash instruction set.
|
inlinenoexcept |
This CPU has the SSE instruction set.
|
inlinenoexcept |
This CPU has the SSE2 instruction set.
|
inlinenoexcept |
This CPU has the SSE3 instruction set.
|
inlinenoexcept |
This CPU has the SSE4.1 instruction set.
|
inlinenoexcept |
This CPU has the SSE4.2 instruction set.
|
inlinenoexcept |
This CPU has the SSSE3 instruction set.
|
inlinenoexcept |
This CPU has all the features for x86-64-v1 microarchitecture level.
|
inlinenoexcept |
This CPU has all the features for x86-64-v2 microarchitecture level.
|
inlinenoexcept |
This CPU has all the features for x86-64-v3 microarchitecture level.
|
inlinenoexcept |
This CPU has all the features for x86-64-v4 microarchitecture level.
|
constexprnoexcept |
Return the upper half of the input value.
|
inline |
Inflate compressed data using the deflate algorithm bytes
should include at least 32 bit of trailer, for the overflow check which will slightly overrun the actual compressed data for performance reasons.
|
inlinenoexcept |
Initialize base functionality of HikoGUI.
This function is called as early in the life of an application as possible. This function is called implicitly by:
|
constexprnoexcept |
Check if a value is integral.
rhs | A integral value. |
rhs | A floating point value. |
|
constexpr |
Convert an integral from little-to-native endian.
|
constexprnoexcept |
Unaligned Load of a numeric value from an array.
Out | The type of the integer or floating point value to load. |
Endian | The endianness of the data. |
src | A pointer to byte-like array. |
|
inlinenoexcept |
Unaligned Load of a numeric value from a byte-like array.
T | The type of the integer or floating point value to load. |
Endian | The endianness of the data. |
src | A pointer to memory. |
|
constexprnoexcept |
Unaligned load of a numeric value encoded in byte-endian format.
T | The type of the integer or floating point value to load. |
src | A pointer to a byte like buffer. |
|
constexprnoexcept |
Load of a numeric value encoded in big-endian format.
T | The type of the integer or floating point value to load. |
src | A pointer to a byte like memory. |
|
inlinenoexcept |
Unaligned load of a numeric value encoded in byte-endian format.
T | The type of the integer or floating point value to load. |
src | A pointer to memory. |
|
constexprnoexcept |
Unaligned load bits from a big-endian buffer at a bit-offset.
To create the packed byte array from values.
NumBits | the number of bits to read. |
src | A byte-like buffer to load bits from. |
bit_index | The bit offset into the buffer. 0 is the 7th bit of the 1st byte in src. |
|
constexprnoexcept |
Unaligned load of a numeric value encoded in little-endian format.
T | The type of the integer or floating point value to load. |
src | A pointer to a byte like memory. |
|
constexprnoexcept |
Load of a numeric value encoded in little-endian format.
T | The type of the integer or floating point value to load. |
src | A pointer to the numeric value. |
|
inlinenoexcept |
Unaligned load of a numeric value encoded in little-endian format.
T | The type of the integer or floating point value to load. |
src | A pointer to memory. |
|
constexprnoexcept |
Return the low half of the input value.
|
inlinenoexcept |
Copy a std::string to new memory.
The caller will have to delete [] return value.
|
inlinenoexcept |
Copy a std::string to new memory.
The caller will have to delete [] return value.
|
noexcept |
Create a lookahead_iterator from a forward iterator.
LookaheadCount | Number of items to lookahead, including the iterator itself. Must be a power-of-two. |
first | A forward iterator. |
last | A sentinel or end-iterator. |
|
noexcept |
Create a lookahead_iterator from a forward iterator.
LookaheadCount | Number of items to lookahead, including the iterator itself. Must be a power-of-two. |
first | A forward iterator. |
last | A sentinel or end-iterator. |
|
constexprnoexcept |
Make a contour of Bezier curves from a list of points.
The contour is also colorized to be used for creating multichannel-signed-distance-fields.
first | Iterator to the first point in a list |
last | Iterator one beyond the last point in a list |
|
constexprnoexcept |
Inverse a contour.
Reverse the direction of the whole contour, turning it inside out. This is useful for creating a stroke, by inverting the inner offset contour.
contour | contour to reverse. |
|
constexprnoexcept |
Make a contour of Bezier curves from another contour of Bezier curves at a offset. Make a new contour made out of line-segments offset from the original curve. After offsetting the line segment the line segments are properly cut or extended to cover all intersections and gaps.
contour | a list of bezier curve segments forming a closed contour. |
offset | positive means the parallel contour will be on the starboard side of the given contour. |
line_join_style | how the gaps between line segments are joined together. |
tolerance | to how curved the new contour should look. |
|
constexprnoexcept |
Return the upper half of the input value.
|
constexprnoexcept |
Mirror the horizontal alignment.
|
constexprnoexcept |
Mirror the horizontal alignment.
|
constexprnoexcept |
Cast numeric values without loss of precision.
Out | The numeric type to cast to |
In | The numeric type to cast from |
rhs | The value to cast. |
|
constexprnoexcept |
Cast numeric values without loss of precision.
Out | The numeric type to cast to |
In | The numeric type to cast from |
rhs | The value to cast. |
|
constexpr |
Convert an integral from native-to-big endian.
|
constexpr |
Convert an integral from native-to-little endian.
Matrix/Matrix multiplication.
|
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.
|
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. |
Matrix/Matrix multiplication.
|
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.
|
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"). |
|
inlinenoexcept |
Parse a cmake_install.cmake file.
path | The path to the cmake_install.cmake file. |
std::nullopt | if the file does not exist, or could not be parsed, or the source-dir does not exist. |
|
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.
au::Quantity< PixelsPerEm, std::common_type_t< FontSizeT, ByT > > hi::v1::round | ( | au::Quantity< PixelsPerEm, FontSizeT > | font_size, |
au::Quantity< EmSquares, ByT > const & | by ) |
Round to font size in pixels-per-em.
This function is used to round the font size by the length in Em. For example to round the font-size so that the x-height will be aligned to pixel boundaries for sharper display of text.
|
constexprnoexcept |
Cast a numeric value to an integer saturating on overflow.
Out | the signed- or unsigned-integer type to cast to. |
rhs | The value to convert. |
|
constexprnoexcept |
scale the quad.
Each edge of the quad scaled.
lhs | A quad. |
rhs | The width and height to scale each edge with. |
|
inlinenoexcept |
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. |
|
inlinenoexcept |
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. |
|
inlinenoexcept |
Start the console.
|
inlinenoexcept |
The HikoGUI terminate handler.
This handler will print an error message on the console or pop-up a dialogue box.
set_debug_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.
|
constexprnoexcept |
Create a mask from a boolean value.
v | The boolean value to represent as a mask |
true
, or all '0' when v == false
.
|
constexprnoexcept |
Cast an integral to an signed integral of the same size.
|
inlinenoexcept |
Convert a GUI event type to a string.
|
inlinenoexcept |
Get a string representation of a search-path.
locations | A range of std::filesystem::path elements. |
|
noexcept |
Convert integer to string.
Convert floating point to string.
This function bypasses std::locale.
value | The signed or unsigned integer value. |
|
constexprnoexcept |
Cast an integral to an unsigned integral of the same size.
|
constexprnoexcept |
Create a location string for error messages.
it | An iterator that dereferences to a hi::token . |
last | The sentinel for it. |
path | The filename of the file being parsed. |
|
constexprnoexcept |
Cast between integral types truncating or zero-extending the result.
|
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.
|
inlinenoexcept |
Clear the graph.
Is used in unit-tests.
|
inlinenoexcept |
Clear the stack.
Is used in unit-tests.
|
inlinenoexcept |
Lock an object on this thread.
object | The object that is being locked. |
|
inlinenoexcept |
Remove the object from the detection.
This function is needed when there are mutex-like objects that are dynamically de-allocated.
object | The object to remove from the lock order graph. |
|
inlinenoexcept |
Unlock an object on this thread.
object | The object that is being locked. |
|
constexprnoexcept |
Cast a reference to a class to its base class or itself.
Out | The output type; a base-class of the input. |
rhs | A reference to a object to cast. |
|
constexprnoexcept |
Cast a pointer to a class to its base class or itself.
Out | The output type; a base-class of the input. |
rhs | A pointer to a object to cast. |
|
constexprnoexcept |
Cast a nullptr to a class.
Out | The output type. |
rhs | A nullptr. |
|
inline |
Add variants to the list of languages.
This function is mostly used to add languages to a list of preferred languages to search for translations in the translation catalog.
languages | A list of languages ordered by preference. |
|
constexprnoexcept |
Cast to a type which can hold all values from the input type.
Out | The same type as the input. |
rhs | The value of the input type. |
|
constexprnoexcept |
Cast a floating point number to a floating point type that is wider.
Out | A floating point type larger than the input type. |
rhs | The floating point input value. |
|
constexprnoexcept |
Cast a integer to an integer type which is wider.
Out | An integer type that can hold all values of the input type. |
rhs | The integer input value. |
|
constexprnoexcept |
Cast a integer to an float type which is wider.
Since wide_cast() must be perfect the integers must be perfectly representable by a floating point number. Integers that have number of binary digits less or equal to the size of the mantissa of a floating point number can be perfectly represented.
Out | An float type that can hold all values of the input type without loss of precission. |
rhs | The integer input value. |
|
inlinenoexcept |
Convert a HANDLE to a 32-bit unsigned integer.
Although a HANDLE
is a typedef of a void *
, in reality it is an 32 bit unsigned integer.
This function is used to pass a HANDLE of an Event Object to be passed on the command-line to vsjitdebugger.exe.
|
inlinenoexcept |
Convert a win32-API compatible std::wstring to a multi-byte std::string.
s | The wide string to convert |
code_page | The code-page to use for conversion |
flags | The flags to passing |
|
inlinenoexcept |
Convert a win32 zero terminated list of zero terminated strings.
This function will treat the array as-if it is a list of zero terminated strings, where the last string is a zero terminated empty string.
first | A pointer to a buffer of a zero terminated list of zero terminated string. |
last | A pointer one beyond the buffer. |
|
inlinenoexcept |
Delete all registry values and the last part of the subkey.
key | The registry's key |
path | The path to the values. |
|
inlinenoexcept |
Delete a registry value.
key | The registry's key |
path | The path to the values. |
name | The name of the value. |
|
inlinedelete |
Read from the registry value.
T | The type of the value to read. |
key | The registry's key |
path | The path to the values. |
name | The name of the value. |
hi::os_error | Unable to read the registry-value, for example when the type was different. |
|
inlinenoexcept |
Read a DWORD registry value.
key | The registry's key |
path | The path to the values. |
name | The name of the value. |
|
inlinenoexcept |
Read a list of strings from the registry value.
key | The registry's key |
path | The path to the values. |
name | The name of the value. |
hi::os_error | Unable to read the registry-value, for example when the type was different. |
|
inlinenoexcept |
Read a strings from the registry value.
key | The registry's key |
path | The path to the values. |
name | The name of the value. |
|
inline |
Check if a registry entry exists.
|
inline |
Write a string registry value.
key | The registry's key |
path | The path to the values. |
name | The name of the value. |
value | The value to write |
|
inline |
Write a DWORD registry value.
key | The registry's key |
path | The path to the values. |
name | The name of the value. |
value | The value to write |
|
inlinenoexcept |
Convenience function for SHGetKnownFolderPath().
Retrieves a full path of a known folder identified by the folder's KNOWNFOLDERID. See https://docs.microsoft.com/en-us/windows/win32/shell/knownfolderid#constants
KNOWNFOLDERID | folder_id. |
|
inlinenoexcept |
Convert a win32-API compatible std::wstring to a multi-byte std::string.
s | The wide string to convert |
code_page | The code-page to use for conversion |
flags | The flags to passing |
|
constexpr |
|
constexpr |
|
constexpr |
The value of the hi::cancel_features<> type trait.
|
constexpr |
|
constexpr |
|
constexpr |
|
inlineconstexpr |
An array of this type will implicitly create objects within that array.
P059R6: Implicit creation of objects for low-level object manipulation.
|
inlineconstexpr |
True is the supplied type is a character integer. This distinguishes between integer characters and integer numbers.
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inline |
The old terminate handler.
This is the handler returned by std::set_terminate()
.
|
constexpr |
|
constexpr |
|
constexpr |
All values of numeric type In
can be represented without loss of range by numeric type Out
.