Struct comfy_wgpu::egui::Layout
source · pub struct Layout {
pub main_dir: Direction,
pub main_wrap: bool,
pub main_align: Align,
pub main_justify: bool,
pub cross_align: Align,
pub cross_justify: bool,
}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");
});Fields§
§main_dir: DirectionMain axis direction
main_wrap: boolIf true, wrap around when reading the end of the main direction.
For instance, for main_dir == Direction::LeftToRight this will
wrap to a new row when we reach the right side of the max_rect.
main_align: AlignHow to align things on the main axis.
main_justify: boolJustify the main axis?
cross_align: AlignHow to align things on the cross axis. For vertical layouts: put things to left, center or right? For horizontal layouts: put things to top, center or bottom?
cross_justify: boolJustify the cross axis? For vertical layouts justify mean all widgets get maximum width. For horizontal layouts justify mean all widgets get maximum height.
Implementations§
source§impl 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 alignment.
sourcepub fn top_down_justified(halign: Align) -> Layout
pub fn top_down_justified(halign: Align) -> Layout
Top-down layout justified 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 alignment.
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.
Only one widget may be added to the inner Ui!
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.
source§impl 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.
pub fn horizontal_justify(&self) -> bool
pub fn vertical_justify(&self) -> bool
impl Layout
Trait Implementations§
source§impl PartialEq<Layout> for Layout
impl PartialEq<Layout> for Layout
impl Copy for Layout
impl Eq for Layout
impl StructuralEq for Layout
impl StructuralPartialEq for Layout
Auto Trait Implementations§
impl RefUnwindSafe for Layout
impl Send for Layout
impl Sync for Layout
impl Unpin for Layout
impl UnwindSafe for Layout
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.