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: Direction

Main axis direction

§main_wrap: bool

If 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: Align

How to align things on the main axis.

§main_justify: bool

Justify the main axis?

§cross_align: Align

How 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: bool

Justify 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

source

pub fn left_to_right(valign: Align) -> Layout

Place elements horizontally, left to right.

The valign parameter controls how to align elements vertically.

source

pub fn right_to_left(valign: Align) -> Layout

Place elements horizontally, right to left.

The valign parameter controls how to align elements vertically.

source

pub fn top_down(halign: Align) -> Layout

Place elements vertically, top to bottom.

Use the provided horizontal alignment.

source

pub fn top_down_justified(halign: Align) -> Layout

Top-down layout justified so that buttons etc fill the full available width.

source

pub fn bottom_up(halign: Align) -> Layout

Place elements vertically, bottom up.

Use the provided horizontal alignment.

source

pub fn from_main_dir_and_cross_align( main_dir: Direction, cross_align: Align ) -> Layout

source

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!

source

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.

source

pub fn with_main_align(self, main_align: Align) -> Layout

The alignment to use on the main axis.

source

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.

source

pub fn with_main_justify(self, main_justify: bool) -> Layout

Justify widgets on the main axis?

Justify here means “take up all available space”.

source

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

source

pub fn main_dir(&self) -> Direction

source

pub fn main_wrap(&self) -> bool

source

pub fn cross_align(&self) -> Align

source

pub fn cross_justify(&self) -> bool

source

pub fn is_horizontal(&self) -> bool

source

pub fn is_vertical(&self) -> bool

source

pub fn prefer_right_to_left(&self) -> bool

source

pub fn horizontal_placement(&self) -> Align

e.g. for adjusting the placement of something.

source

pub fn horizontal_align(&self) -> Align

e.g. for when aligning text within a button.

source

pub fn vertical_align(&self) -> Align

e.g. for when aligning text within a button.

source

pub fn horizontal_justify(&self) -> bool

source

pub fn vertical_justify(&self) -> bool

source§

impl Layout

source

pub fn align_size_within_rect(&self, size: Vec2, outer: Rect) -> Rect

source§

impl Layout

This impl block contains no items.

Trait Implementations§

source§

impl Clone for Layout

source§

fn clone(&self) -> Layout

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Layout

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Default for Layout

source§

fn default() -> Layout

Returns the “default value” for a type. Read more
source§

impl PartialEq<Layout> for Layout

source§

fn eq(&self, other: &Layout) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for Layout

source§

impl Eq for Layout

source§

impl StructuralEq for Layout

source§

impl StructuralPartialEq for Layout

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<S> FromSample<S> for S

§

fn from_sample_(s: S) -> S

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<F, T> IntoSample<T> for Fwhere T: FromSample<F>,

§

fn into_sample(self) -> T

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> ToSample<U> for Twhere U: FromSample<T>,

§

fn to_sample_(self) -> U

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Upcast<T> for T

§

fn upcast(&self) -> Option<&T>

§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> Any for Twhere T: Any,

§

impl<T> CloneAny for Twhere T: Any + Clone,

§

impl<T> Component for Twhere T: Send + Sync + 'static,

§

impl<S, T> Duplex<S> for Twhere T: FromSample<S> + ToSample<S>,

source§

impl<T> SerializableAny for Twhere T: 'static + Any + Clone + Send + Sync,