Struct me3_framework::overlay::Layout
source · [−]pub struct Layout { /* private fields */ }
Expand description
The layout of a Ui
, e.g. “vertical & centered”.
ui.with_layout(egui::Layout::right_to_left(egui::Align::TOP), |ui| {
ui.label("world!");
ui.label("Hello");
});
Implementations
sourceimpl Layout
impl Layout
sourcepub fn left_to_right(valign: Align) -> Layout
pub fn left_to_right(valign: Align) -> Layout
Place elements horizontally, left to right.
The valign
parameter controls how to align elements vertically.
sourcepub fn right_to_left(valign: Align) -> Layout
pub fn right_to_left(valign: Align) -> Layout
Place elements horizontally, right to left.
The valign
parameter controls how to align elements vertically.
sourcepub fn top_down(halign: Align) -> Layout
pub fn top_down(halign: Align) -> Layout
Place elements vertically, top to bottom.
Use the provided horizontal alignmen.
sourcepub fn top_down_justified(halign: Align) -> Layout
pub fn top_down_justified(halign: Align) -> Layout
Top-down layout justifed so that buttons etc fill the full available width.
sourcepub fn bottom_up(halign: Align) -> Layout
pub fn bottom_up(halign: Align) -> Layout
Place elements vertically, bottom up.
Use the provided horizontal alignmen.
pub fn from_main_dir_and_cross_align(
main_dir: Direction,
cross_align: Align
) -> Layout
sourcepub fn centered_and_justified(main_dir: Direction) -> Layout
pub fn centered_and_justified(main_dir: Direction) -> Layout
For when you want to add a single widget to a layout, and that widget should use up all available space.
sourcepub fn with_main_wrap(self, main_wrap: bool) -> Layout
pub fn with_main_wrap(self, main_wrap: bool) -> Layout
Wrap widgets when we overflow the main axis?
For instance, for left-to-right layouts, setting this to true
will
put widgets on a new row if we would overflow the right side of crate::Ui::max_rect
.
sourcepub fn with_main_align(self, main_align: Align) -> Layout
pub fn with_main_align(self, main_align: Align) -> Layout
The alignment to use on the main axis.
sourcepub fn with_cross_align(self, cross_align: Align) -> Layout
pub fn with_cross_align(self, cross_align: Align) -> Layout
The alignment to use on the cross axis.
The “cross” axis is the one orthogonal to the main axis. For instance: in left-to-right layout, the main axis is horizontal and the cross axis is vertical.
sourcepub fn with_main_justify(self, main_justify: bool) -> Layout
pub fn with_main_justify(self, main_justify: bool) -> Layout
Justify widgets on the main axis?
Justify here means “take up all available space”.
sourcepub fn with_cross_justify(self, cross_justify: bool) -> Layout
pub fn with_cross_justify(self, cross_justify: bool) -> Layout
Justify widgets along the cross axis?
Justify here means “take up all available space”.
The “cross” axis is the one orthogonal to the main axis. For instance: in left-to-right layout, the main axis is horizontal and the cross axis is vertical.
sourceimpl Layout
impl Layout
pub fn main_dir(&self) -> Direction
pub fn main_wrap(&self) -> bool
pub fn cross_align(&self) -> Align
pub fn cross_justify(&self) -> bool
pub fn is_horizontal(&self) -> bool
pub fn is_vertical(&self) -> bool
pub fn prefer_right_to_left(&self) -> bool
sourcepub fn horizontal_placement(&self) -> Align
pub fn horizontal_placement(&self) -> Align
e.g. for adjusting the placement of something.
- in horizontal layout: left or right?
- in vertical layout: same as
Self::horizontal_align
.
sourcepub fn horizontal_align(&self) -> Align
pub fn horizontal_align(&self) -> Align
e.g. for when aligning text within a button.
sourcepub fn vertical_align(&self) -> Align
pub fn vertical_align(&self) -> Align
e.g. for when aligning text within a button.