Skip to content

Tree and Window

Page
Animated Visual Sources
Easing Functions
Element Transitions
Navigation Transitions
Spec Vocabulary A named, composable bundle of layout defaults: the margin, the six sizes and the two alignments every spec carries.

Classes

Page
ConnectedAnimation A connected animation: one element flying from where it was (the source, snapshotted by ConnectedAnimationService::prepare_to_animate()) to where its counterpart is (the destination, named by try_start()), usually across a page navigation.
ui::AutomationEvents Receives what changed in a Window, for accessibility clients.
ui::BackgroundBrush A control's Background: either a fixed color, a theme resource (ThemeColor), or nothing, plus the optional BrushTransition that animates every change of what is drawn.
ui::BackgroundHop The awaitable on_background() returns: submits the resumption to a scheduler.
ui::ChildVisitor What Element::for_each_child() calls once per child: a non-owning reference to any callable taking an Element&, two pointers wide, so walking the tree allocates nothing.
ui::Clipboard The system clipboard as a control or app sees it: text, a bitmap and storage items.
ui::ColorAnimator Runs a BrushTransition for a control that owns a background.
ui::CommandHandler What the command does, given the invoking control's CommandParameter.
ui::CommandRef What a control's .command field holds: a non-owning reference to a ui::Command, written as the command itself (.command = save), or empty.
ui::ControlDescription The description an input control (TextBox, PasswordBox, NumberBox, AutoSuggestBox, RichEditBox, ComboBox) carries under itself.
ui::ControlHeader The Header label an input control (Slider, ComboBox, ToggleSwitch, TextBox, NumberBox, ...) carries above itself.
ui::DragDrop The drag in progress, one per process: how a control starts an in-process drag and drop.
ui::Element The base of every node in the UI tree: a control, a panel, a window's content.
ui::ElementWatch A non-owning pointer to an element that goes null when the element is destroyed.
ui::ExpandCollapseProvider The ExpandCollapse pattern: a collapsed or expanded state (an Expander, a ComboBox, a DropdownButton).
ui::FireAndForget The return type of a coroutine that is started and not waited on, such as a click handler that loads something on a worker and shows it when it is done.
ui::GridItemProvider The GridItem pattern: one cell of a Grid.
ui::GridProvider The Grid pattern: cells addressed by row and column (a TableView).
ui::InvokeProvider The Invoke pattern: a single parameterless action, as a button has.
ui::JumpListHost What keeps the app's jump list for ui::set_jump_list() and ui::add_recent_file().
ui::Launcher What opens URIs and files with the apps the OS has registered for them. ui::launch_uri() and ui::launch_file() go through it, and so do a hyperlink Button's and a Hyperlink inline's navigate_uri.
ui::LottieIconSource The base of the stock animated icons.
ui::MessageBoxHost What shows the message boxes ui::message_box() asks for.
ui::Notifier What shows the notifications ui::notify() asks for.
ui::Paint What a color field takes: a fixed Color, a Brush (a gradient or acrylic), a ThemeColor read from the theme each time it is drawn, or nothing, which keeps the control's own color.
ui::PrintHost What print() hands the job to: the platform's print dialog and spooler, or a test double (ui::testing::TestPrintHost).
ui::RangeValueProvider The RangeValue pattern: a bounded number (a Slider, a ProgressBar, a RatingControl), in the control's own units.
ui::ScrollProvider The Scroll pattern: how far a view is scrolled (Scroll, VirtualList, TableView).
ui::SelectionItemProvider The SelectionItem pattern: one selectable entry of a Selection container (a radio button, a list item).
ui::SelectionProvider The Selection pattern: a container whose entries are SelectionItems (a list, a Carousel).
ui::TableItemProvider The TableItem pattern: one cell of a Table, which knows its column header.
ui::TableProvider The Table pattern: a Grid with column headers.
ui::TextInteraction Selection and link state over laid-out inline text, shared by TextControl, RichText and RichTextOverflow.
ui::ThemeColor A color read from the theme each time it is used: a theme-resource brush.
ui::ToggleProvider The Toggle pattern: an on, off or indeterminate state a click advances, as a check box has.
ui::TrayIcon An icon in the taskbar's notification area, with a hover text, a right-click menu and notifications.
ui::UiThreadHop The awaitable on_ui_thread() returns: posts the resumption to the window through WindowRef.
ui::ValueProvider The Value pattern: a text value (a TextBox's contents, a read-only ComboBox's selected item).
ui::VisualTree A flat, data-oriented snapshot of the laid-out tree's shape: one slot per Element, with parent / first-child / next-sibling links by stable VisualId, bounds and dirty flags held in parallel arrays.
ui::Window The logical, platform-independent window: the root of a UI tree.
ui::WindowRef A weak handle to a Window, for a worker that may outlive it.

Structs

Page
ui::Accessibility The semantic name and description a control exposes to assistive technology (name / description).
ui::ArrangeContext What Element::arrange() hands arrange_override(): the measurer and theme the element was last measured with, so a container that measures again while arranging (a virtualizing list realizing rows) has them.
ui::AutomationProviders What a node lets an accessibility client do: one pointer per pattern, null for a pattern it does not support.
ui::BringIntoViewOptions Where in the viewport a scrolling ancestor puts the element Element::start_bring_into_view() reveals.
ui::BrushTransition Animates a background color change (a spec's background_transition) linearly in RGB over duration, from the color on screen at that moment.
ui::CaptionInsets The caption space a window with content extended into its title bar still has to leave alone (WindowStyle::extend_content_into_title_bar): the OS's caption buttons on one side, and on the other whatever the OS keeps there (nothing on a left-to-right window).
ui::ClipboardContent What to put on the clipboard.
ui::ClipboardContentOptions Whether content may be kept in the clipboard history (Win+V) and synced to the user's other devices.
ui::Command An action together with what every control invoking it would otherwise repeat: text, an icon, a shortcut, a description and whether it may run.
ui::CommandValues What a Command's fields hold right now (Command::current()).
ui::DataPackage What a drag carries: text, files and an application-defined payload, such as a ListView's dragged item indices or a TreeView's node path.
ui::DoubleAnimation A from/to/by animation of one property.
ui::DragEventArgs What a drop target is told as a drag moves over it and ends on it.
ui::DragResponse A drop target's answer to a drag over it: what a drop there would do, and what the pointer shows meanwhile.
ui::ElementMotionDeleter
ui::ExpressionAnimation An animation driven by a C++ callable.
ui::FileType One entry of a picker's type box: a name and the extensions it stands for (".txt"; "*" for everything).
ui::Inline One run of inline text with its own formatting.
ui::InstanceActivation What a second start of the program hands to the one already running (ui::claim_single_instance()).
ui::JumpTask One entry in the Tasks section of the app's jump list (ui::set_jump_list()): clicking it starts the app again with arguments on its command line.
ui::KeyFrame One key frame: a value at a time (milliseconds from the animation's start).
ui::KeyFrameAnimation A key frame animation of one property.
ui::MeasureContext What a measure pass hands each element's measure_override(), and what a container hands on to its children's measure().
ui::MessageBoxOptions What ui::message_box() shows.
ui::Notification A desktop notification: what ui::notify() and TrayIcon::notify() show.
ui::Paragraph Inlines that flow together as one block, with a margin around it.
ui::ParallelLayout How Window::layout() may spread measuring over worker threads (Window::set_parallel_layout()).
ui::PickFileOptions What pick_file() and pick_files() are asked for.
ui::PickFolderOptions What pick_folder() and pick_folders() are asked for.
ui::PickSaveFileOptions What pick_save_file() is asked for.
ui::PopupChrome How the window draws around a popup's content: the shadow behind it, and the corners and elevation that shadow is cast at.
ui::PopupClosingArgs What a popup's on_closing gets: why it is closing.
ui::PopupRequest What Element::open_popup() floats above the tree: the content, what it hangs from, and how it behaves.
ui::PrintContext What a print job measures and draws with: a text measurer for the printer and the light theme, since paper is white.
ui::PrintJob A document to print: how many pages it has, and how to draw each.
ui::PrintPage One page of a print job, as its callbacks get it.
ui::RenderContext What a render pass hands each element's render_override() beside the renderer, and what a container hands on to its children's render().
ui::ScalarTransition Animates every change to an element's opacity or rotation (Element::set_opacity_transition(), Element::set_rotation_transition()) over duration along the cubic Bézier (0.8,0)-(0.2,1), from wherever the property is drawn at that moment.
ui::SpellCheckOptions TextBox spell checking for one window.
ui::SpringAnimation A spring: a damped harmonic oscillator pulled to final_value (on a scalar property, final_value.x).
ui::TaskbarProgress The taskbar button's progress bar: Window::taskbar_progress() is a Property of it, written by the app and shown on the taskbar on every change.
ui::TextHighlighter Ranges of a text block's content painted with their own background and, optionally, foreground.
ui::ThumbnailButton A button under the taskbar thumbnail, as media players use for play, pause and skip.
ui::TransitionStoryboard The storyboard a theme or navigation transition builds for one element: key-framed tracks over its TransitionTargetState, started delay late (a stagger), scaling about scale_origin.
ui::TransitionTargetState The opacity, scale and offset a transition or a navigation transition animates.
ui::TransitionTrack One key-framed track of a transition storyboard.
ui::TrayFlyoutOptions What tray_flyout_options() takes: the few things an app chooses about a tray flyout.
ui::TrayIconOptions What a TrayIcon is created with: the icon, its hover text, its right-click menu and, optionally, the window a click opens next to it.
ui::Vector3Transition Animates every change to an element's translation or scale (Element::set_translation_transition(), Element::set_scale_transition()), with ScalarTransition's curve.
ui::WindowClosingArgs What a Window's on_closing gets.
ui::WindowIcon A small picture for the OS to show: the caption and taskbar icon, a taskbar overlay badge, or a thumbnail-toolbar button.
ui::WindowOptions What a Window is created with: title, size, theme, frame, placement and the per-window services.
ui::WindowPlacement Where a window was, in a form an app can store on close and hand back on the next run (Window::placement(), ui::WindowOptions::placement).
ui::WindowStyle The frame a window is drawn with: caption buttons, sizing border, frame kind, z-order and title-bar extension.

Namespaces

Page
ui 48 functions, 34 enumerations, 6 aliases
ui::transition_storyboards 10 functions, 1 enumerations