Struct egui::UiStack

source ·
pub struct UiStack {
    pub id: Id,
    pub info: UiStackInfo,
    pub layout_direction: Direction,
    pub min_rect: Rect,
    pub max_rect: Rect,
    pub parent: Option<Arc<UiStack>>,
}
Expand description

Information about a crate::Ui and its parents.

UiStack serves to keep track of the current hierarchy of crate::Uis, such that nested widgets or user code may adapt to the surrounding context or obtain layout information from a crate::Ui that might be several steps higher in the hierarchy.

Note: since UiStack contains a reference to its parent, it is both a stack, and a node within that stack. Most of its methods are about the specific node, but some methods walk up the hierarchy to provide information about the entire stack.

Fields§

§id: Id§info: UiStackInfo§layout_direction: Direction§min_rect: Rect§max_rect: Rect§parent: Option<Arc<UiStack>>

Implementations§

source§

impl UiStack

source

pub fn kind(&self) -> Option<UiKind>

source

pub fn frame(&self) -> &Frame

source

pub fn tags(&self) -> &UiTags

User tags.

source

pub fn is_panel_ui(&self) -> bool

Is this crate::Ui a panel?

source

pub fn is_root_ui(&self) -> bool

Is this a root crate::Ui, i.e. created with crate::Ui::new()?

source

pub fn has_visible_frame(&self) -> bool

This this crate::Ui a crate::Frame with a visible stroke?

source§

impl UiStack

source

pub fn iter(&self) -> UiStackIterator<'_>

Return an iterator that walks the stack from this node to the root.

source

pub fn contained_in(&self, kind: UiKind) -> bool

Check if this node is or is contained in a crate::Ui of a specific kind.

Trait Implementations§

source§

impl Debug for UiStack

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where 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.

source§

impl<T, U> TryFrom<U> for T
where 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 T
where 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.