A full-screen alert dialog that the user must acknowledge.
An editor for a fixed-size array.
A bookcase layout is a min-max layout; it should be a list of
BookFiles, where each
BookFile
has a
container
and a
book
. The book’s determine the size of the entire
Bookcase, but their
sizes are not manipulated. The containers are resized to fit the bookcase though, to align them.
A button UI element.
A
Centered is a
Flow that is oriented vertically and is centered.
A checkbox.
An area that tracks mouse events.
Created through the Editable
attribute
An editor for a value that can be parsed from a string, but with custom parsing and stringification.
Contains a single element with a background color and click area.
A docking layout, where each child specifies which side of the parent it should be docked to.
It is top-down: it starts with a given area (say the screen) and then divides it into smaller pieces with each new element added to it.
A dropdown element: shows the dropdown
when show
is specified.
A dropdown select element. Presents a button next to content
that, when clicked, shows a dropdown with the items in items
.
A duration that can be edited.
A full-screen prompt dialog to edit a value.
A row with a title and an element, used as part of larger editors.
A
FixedGrid is a grid of elements with a fixed stride.
A flow layout.
It is bottom-up: it auto-resizes itself to fit its constituent components.
Keeps track of which element has focus.
Provides a context for focusable UI elements.
A FontAwesome icon.
An element that will invoke a callback when a hotkey is pressed.
An editor for a
IndexMap. The key and value types must implement
Editor.
A slider for an integer value.
An editor for a
HashMap. The key and value types must implement
Editor.
A simple UI line. Use components like line_from
, line_to
, line_width
, background_color
, border_color
, border_radius
and border_thickness
to control its appearance.
An editor for a list of items that implement
Editor; each item can be edited, moved up or down, or deleted.
Measures the size of its inner element and calls the callback when it changes.
A single item in a list editor
A configurable list editor that allows you to specify the editor for the items, and to provide other preset options.
Delegates a type editor to edit in a new screen
.
Contains several elements with a background color and click area.
An editor for a value that can be parsed from a string.
A full-screen prompt dialog that the user must acknowledge.
A simple UI rect. Use components like width
, height
, background_color
, border_color
, border_radius
and border_thickness
to control its appearance.
Contains an element with a background color and click area.
A scroll area that can be used to scroll its child.
A simple separator, similar to <hr>
in HTML.
A slider for a floating-point value.
A header bar of tabs. Does not contain the tab content.
A set of tabs. Contains a TabBar
and the content of the selected tab.
A text editor.
Shows an animated progress bar to indicate that progress is
being made and has not frozen.
A tooltip element: shows the tooltip
when the inner
is hovered.
A base element for all UI elements. It contains all the components needed for a UI element to work.
This only exists so that we can implement
From<String>
for
Text, and then use it in
for instance
Button.
A
Dock that is always the size of the window.
Helper for mutating UI state in multiple places.
Helper that takes an existing WithChange<T>
and applies a projection from T
to U
.
The color used for the background of the app.
Background color: Background color of an entity with a rect
component.
Border color: Border color of an entity with a rect
component.
Border radius: Radius for each corner of an entity with a rect
component.
Border thickness: Border thickness of an entity with a rect
component.
Helper for constructing a
Cb.
Ctrl on windows, Command on osx
The error color.
Fit horizontal parent: Layout fit: horizontal parent.
Font family: Font family to be used. Can either be ‘Default’, ‘FontAwesome’, ‘FontAwesomeSolid’, ‘Code’ or a url to a font.
Font size: Size of the font.
Font style: One of Bold, BoldItalic, Medium, MediumItalic, Regular, Italic, Light or LightItalic.
GPU UI size: Upload the width and height of this UI element to the GPU.
Height: The height of a UI element.
Adds the Editable
attribute to multiple components where depending on ambient_ui_native
is not
possible.
Is book file: This is a file in a layout_bookcase
.
Margin: Layout margin: [top, right, bottom, left].
Maximum height: The maximum height of a UI element.
Maximum width: The maximum width of a UI element.
Mesh to local from size: Update the mesh_to_local
based on the width and height of this entity.
Minimum height: The minimum height of a UI element.
Minimum width: The minimum width of a UI element.
Padding: Layout padding: [top, right, bottom, left].
The primary color.
Screen: This entity will be treated as a screen. Used by the Screen ui component.
The secondary color.
Space between items: Space between items in a layout.
Text: Create a text mesh on this entity.
The color used for tooltip backgrounds.
A hook that returns the current focus state for this element and a callback to set the focus state.
A hook that returns the current focus state for this element, given a specific instance_id
, and a callback to set the focus state.
A hook that returns the current window logical resolution (i.e. taking DPI scaling into account)
A hook that returns the current window physical resolution (i.e. not taking DPI scaling into account)
Width: The width of a UI element.
Converts the given element into a rect.