Expand description
This crate contains Bevy’s UI system, which can be used to create UI for both 2D and 3D games
§Basic usage
Spawn UI elements with widget::Button
, ImageNode
, Text
and Node
This UI is laid out with the Flexbox and CSS Grid layout models (see https://cssreference.io/flexbox/)
Modules§
- debug
- experimental
- Experimental features are not yet stable and may change or be removed in the future.
- gradients
- interaction_
states - measurement
- prelude
- The UI prelude.
- ui_
transform - update
- This module contains systems that update the UI when something changes
- widget
- This module contains the basic building blocks of Bevy’s UI
Structs§
- Angular
Color Stop - An angular color stop for a conic gradient
- Background
Color - The background color of the node
- Background
Gradient - A UI node that displays a gradient
- Border
Color - The border color of the UI node.
- Border
Gradient - A UI node border that displays a gradient
- Border
Radius - Used to add rounded corners to a UI node. You can set a UI node to have uniformly rounded corners or specify different radii for each corner. If a given radius exceeds half the length of the smallest dimension between the node’s height or width, the radius will calculated as half the smallest dimension.
- BoxShadow
- List of shadows to draw for a
Node
. - Calculated
Clip - The calculated clip of the node
- Checkable
- Component that indicates that a widget can be checked.
- Checked
- Component that indicates whether a checkbox or radio button is in a checked state.
- Color
Stop - A color stop for a gradient
- Computed
Node - Provides the computed size and layout properties of the node.
- Computed
UiRender Target Info - Derived information about the render target for this UI node.
- Computed
UiTarget Camera - Derived information about the camera target for this UI node.
- Conic
Gradient - A conic gradient
- Content
Size - A node with a
ContentSize
component is a node where its size is based on its content. - Default
UiCamera - Fixed
Measure - A
FixedMeasure
is aMeasure
that ignores all constraints and always returns the same size. - GlobalZ
Index GlobalZIndex
allows aNode
entity anywhere in the UI hierarchy to escape the implicit draw ordering of the UI’s layout tree and be rendered above or below other UI nodes. Nodes with aGlobalZIndex
of greater than 0 will be drawn on top of nodes without aGlobalZIndex
or nodes with a lowerGlobalZIndex
. Nodes with aGlobalZIndex
of less than 0 will be drawn below nodes without aGlobalZIndex
or nodes with a greaterGlobalZIndex
.- Grid
Placement - Represents the position of a grid item in a single axis.
- Grid
Track - A
GridTrack
is a Row or Column of a CSS Grid. This struct specifies what size the track should be. See below for the different “track sizing functions” you can specify. - Interaction
Disabled - A component indicating that a widget is disabled and should be “grayed out”. This is used to prevent user interaction with the widget. It should not, however, prevent the widget from being updated or rendered, or from acquiring keyboard focus.
- IsDefault
UiCamera - Marker used to identify default cameras, they will have priority over the
PrimaryWindow
camera. - Layout
Config - This component can be added to any UI node to modify its layout behavior.
- Layout
Context - Linear
Gradient - A linear gradient
- Measure
Args - Node
- The base component for UI entities. It describes UI layout and style properties.
- Node
Query - Main query for
ui_focus_system
- Node
Query Item - Automatically generated
WorldQuery
item type forNodeQuery
, returned when iterating over query results. - Node
Query Read Only - Automatically generated
WorldQuery
type for a read-only variant ofNodeQuery
. - Node
Query Read Only Item - Automatically generated
WorldQuery
item type forNodeQueryReadOnly
, returned when iterating over query results. - Outline
- The
Outline
component adds an outline outside the edge of a UI node. Outlines do not take up space in the layout. - Overflow
- Whether to show or hide overflowing items
- Overflow
Clip Margin - The bounds of the visible area when a UI node is clipped.
- Override
Clip - UI node entities with this component will ignore any clipping rect they inherit,
the node will not be clipped regardless of its ancestors’
Overflow
setting. - Pressed
- Component that indicates whether a button or widget is currently in a pressed or “held down” state.
- Radial
Gradient - A radial gradient
- Relative
Cursor Position - A component storing the position of the mouse relative to the node, (0., 0.) being the center and (0.5, 0.5) being the bottom-right If the mouse is not over the node, the value will go beyond the range of (-0.5, -0.5) to (0.5, 0.5)
- Repeated
Grid Track - Represents a possibly repeated
GridTrack
. - Resolved
Border Radius - Represents the resolved border radius values for a UI node.
- Scroll
Position - The scroll position of the node. Values are in logical pixels, increasing from top-left to bottom-right.
- Shadow
Style - State
- Contains entities whose Interaction should be set to None
- UiGlobal
Transform - Absolute 2D transform for UI nodes
- UiPlugin
- The basic plugin for Bevy UI
- UiPosition
- Responsive position relative to a UI node.
- UiRect
- A type which is commonly used to define margins, paddings and borders.
- UiScale
- The current scale of the UI.
- UiStack
- The current UI stack, which contains all UI nodes ordered by their depth (back-to-front).
- UiTarget
Camera - Indicates that this root
Node
entity should be rendered to a specific camera. - UiTransform
- Relative 2D transform for UI nodes
- Val2
- A pair of
Val
s used to represent a 2-dimensional size or offset. - ZIndex
- Indicates that this
Node
entity’s front-to-back ordering is not controlled solely by its location in the UI hierarchy. A node with a higher z-index will appear on top of sibling nodes with a lower z-index.
Enums§
- Align
Content - Used to control how items are distributed.
- Align
Items - Used to control how each individual item is aligned by default within the space they’re given.
- Align
Self - Used to control how the specified item is aligned within the space it’s given.
- Available
Space - The amount of space available to a node in a given axis https://www.w3.org/TR/css-sizing-3/#available
- BoxSizing
- Which part of a Node’s box length styles like width and height control
- Display
- Defines the layout model used by this node.
- Flex
Direction - Defines how flexbox items are ordered within a flexbox
- Flex
Wrap - Defines if flexbox items appear on a single line or on multiple lines
- Focus
Policy - Describes whether the node should block interactions with lower nodes
- Gradient
- Grid
Auto Flow - Controls whether grid items are placed row-wise or column-wise as well as whether the sparse or dense packing algorithm is used.
- Grid
Placement Error - Errors that occur when setting constraints for a
GridPlacement
- Grid
Track Repetition - How many times to repeat a repeated grid track
- Interaction
- Describes what type of input interaction has occurred for a UI node.
- Interpolation
Color Space - The color space used for interpolation.
- Justify
Content - Used to control how items are distributed.
- Justify
Items - Used to control how each individual item is aligned by default within the space they’re given.
- Justify
Self - Used to control how the specified item is aligned within the space it’s given.
- Layout
Error - MaxTrack
Sizing Function - MinTrack
Sizing Function - Node
Measure - A type to serve as Taffy’s node context (which allows the content size of leaf nodes to be computed)
- Overflow
Axis - Whether to show or hide overflowing items
- Overflow
Clip Box - Used to determine the bounds of the visible area when a UI node is clipped.
- Position
Type - The strategy used to position this node
- Radial
Gradient Shape - UiSystems
- The label enum labeling the types of systems in the Bevy UI
- Val
- Represents the possible value types for layout properties.
- ValArithmetic
Error - ValParse
Error
Traits§
- InColor
Space - Set the color space used for interpolation.
- Measure
- A
Measure
is used to compute the size of a ui node when the size of that node is based on its content. - ValNum
- All the types that should be able to be used in the
Val
enum should implement this trait.
Functions§
- auto
- Returns a
Val::Auto
where the value is automatically determined based on the context and otherNode
properties. - clip_
check_ recursive - Walk up the tree child-to-parent checking that
point
is not clipped by any ancestor node. Ifentity
has anOverrideClip
component it ignores any inherited clipping and returns true. - percent
- Returns a
Val::Percent
representing a percentage of the parent node’s length along a specific axis. - px
- Returns a
Val::Px
representing a value in logical pixels. - ui_
focus_ system - The system that sets Interaction for all UI elements based on the mouse cursor activity
- ui_
layout_ system - Updates the UI’s layout tree, computes the new layout geometry and then updates the sizes and transforms of all the UI nodes.
- vh
- Returns a
Val::Vh
representing a percentage of the viewport height. - vmax
- Returns a
Val::VMax
representing a percentage of the viewport’s larger dimension. - vmin
- Returns a
Val::VMin
representing a percentage of the viewport’s smaller dimension. - vw
- Returns a
Val::Vw
representing a percentage of the viewport width.