Skip to content

Core

Classes

Page
ui::Binding A spec field's value: either a constant or a live binding to a Property, told apart in the source.
ui::Callback The one handler type: a std::move_only_function, so a handler may capture a std::unique_ptr.
ui::Callback< R(Args...) const > See the primary template; a const-callable handler, as a const member calls it.
ui::Callback< R(Args...)> See the primary template.
ui::CheckedField The type of a check box's checked (CheckBox, ToggleButton, AppBarToggleButton): true, false or std::nullopt for indeterminate.
ui::ChoiceBinding What bind_choice() returns: a two-way binding of an index onto a property holding one of a list of values.
ui::CodePoints The code points of a UTF-8 string, for a range-for: for (char32_t cp : code_points(text)).
ui::Computed A read-only value derived from one or more sources: fn(a, b, ...), computed now and again whenever any source changes.
ui::ItemCount How many items an index-based control shows, and the changes that lead from one count to the next.
ui::ItemKey What makes two items of a collection "the same item" when the collection is assigned as a whole: the type of ui::ForEach's .key field, and what ui::item_count() takes for a view.
ui::ObservableVector A collection that reports each edit: what was inserted, removed, replaced or moved, and where.
ui::OptionalFloat A float that may be unset: the type of every optional size, length and value in an option field or setter.
ui::Property An observable value: application state written once, from which every display of it is derived through bind() or observe().
ui::PropertyBase The non-template core of Property and Signal: the head of the intrusive observer list and the dispatch loop.
ui::Scheduler A pool of worker threads for background work and parallel layout.
ui::Signal An event with no value, meaning "ask again".
ui::Subscription One edge of the observer graph: keeps a handler registered on a Property or Signal for as long as it lives, owned by the observer.
ui::TwoWayBinding What bind() of a non-const Property returns: a Binding that writes back.
ui::TwoWayField The type of an editable spec field: one the user changes and a two-way bind() writes back from (a text box's text, a slider's value, a selected_index, an is_open).
ui::Utf16Decoder Puts UTF-16 code units that arrive one at a time, as typed characters do, back together into UTF-8.

Structs

Page
ui::CollectionChange One change of a ui::ObservableVector, delivered to its observers after the collection has already changed.
ui::Color An RGBA color with float channels in 0..1 and straight (non-premultiplied) alpha.
ui::DateFormatSymbols The names and patterns a locale writes dates and times with, as the date and time controls use them.
ui::DecimalFormatter Formats and parses plain decimal numbers.
ui::Edges Some edges of a ui::Thickness by name, the others 0: .margin = ui::Edges{.left = 32}.
ui::IncrementNumberRounder Rounds to a multiple of increment, which must be positive.
ui::KeyCombo A key and its modifiers, without the action it runs.
ui::KeyEvent One keyboard event, delivered to the focused element by Window::handle_key().
ui::ModifierKeys The modifier keys held with a key or a pointer event, and the ones a KeyCombo asks for.
ui::NumberFormatSymbols The separators and digit grouping a locale writes a number with, as a DecimalFormatter uses them.
ui::Point A 2D position in device-independent pixels (DIPs, 1/96 inch), y pointing down.
ui::PointerEvent One mouse / touch / pen event, in window-client DIPs, as delivered to Element::handle_pointer() and Window::handle_pointer().
ui::Rect Axis-aligned rectangle: (x, y) is the top-left, extents are width/height.
ui::Size A width/height pair in DIPs: what Element::measure() returns and takes as available.
ui::Strings The text libwinui itself shows or gives screen readers, English by default.
ui::Symmetric A ui::Thickness with one value on the left and right and another on the top and bottom: .padding = ui::Symmetric{.horizontal = 16, .vertical = 8}.
ui::TextInputEvent Typed text, delivered to the focused element and bubbled up its parents like a key (Element::handle_text()).
ui::Thickness A per-edge thickness in DIPs, used for margins, paddings and border widths.
ui::ThreadCheckFailure One wrong-thread call, handed to the thread check handler.
ui::Utf8Decoded One decoded code point and the number of bytes it took, as returned by decode_utf8().
ui::Vector3 A 3D vector: what an element's translation, scale and center point are.

Namespaces

Page
ui 80 functions, 13 enumerations, 5 aliases, 15 constants
ui::colors 3 constants