Crate cuicui_layout
source ·Expand description
Layouting system for bevy cuicui.
The layouting system is very dumb. It is based on Containers.
A Container layouts its content in either a column or a row.
The individual items are positioned according to:
Container::align: The container’s childrenAlignment.Container::distrib: The container’s childrenDistribution.Container::flow: The direction in which the container’s childrenFlow.
By default, items are aligned at the center of the container, distributed on the flow direction evenly within the container.
All things in a cuicui layout has a known size. This is why everything needs to live in a root container of a fixed size.
That’s it! Now make a nice UI using bevy.
Modules
- Bevy [
Bundle]s grouping components used by the layouting systems. - The base
MakeBundlefor layouts.
Macros
- Wrapper around
MakeBundle.
Structs
- An error caused by a bad layout.
- Parameters of a container, ie: a node that contains other nodes.
- Use this camera’s logical size as the root fixed-size container for
cuicui_layout. - Add the
compute_layoutsystem to the bevyUpdateset. - Position and size of a
Nodeas computed by the layouting algo. - Set this
Rootto track theLayoutRootCamera’s size. - A
Tthat applies to thewidthandheightof something.
Enums
- The cross axis alignment. Aka alignment.
- The main axis alignment. Aka distribution.
- The layout direction of a
Container. - A constraint on an axis of a terminal
Node(ie: doesn’t have aChildrenconstraint). - A [
Component] integrating the attached [Entity] into thecuicui_layoutlayouting algorithm. - A constraint on an axis of containers.
- Systems added by
Plug.
Functions
- Update transform of things that have a
PosRectcomponent.
Type Definitions
WorldQueryitem used by the layout function.