Struct egui::containers::area::Area

source ·
pub struct Area {
Show 15 fields pub(crate) id: Id, kind: UiKind, sense: Option<Sense>, movable: bool, interactable: bool, enabled: bool, constrain: bool, constrain_rect: Option<Rect>, order: Order, default_pos: Option<Pos2>, default_size: Vec2, pivot: Align2, anchor: Option<(Align2, Vec2)>, new_pos: Option<Pos2>, fade_in: bool,
}
Expand description

An area on the screen that can be moved by dragging.

This forms the base of the Window container.

egui::Area::new(egui::Id::new("my_area"))
    .fixed_pos(egui::pos2(32.0, 32.0))
    .show(ctx, |ui| {
        ui.label("Floating text!");
    });

The previous rectangle used by this area can be obtained through crate::Memory::area_rect().

Fields§

§id: Id§kind: UiKind§sense: Option<Sense>§movable: bool§interactable: bool§enabled: bool§constrain: bool§constrain_rect: Option<Rect>§order: Order§default_pos: Option<Pos2>§default_size: Vec2§pivot: Align2§anchor: Option<(Align2, Vec2)>§new_pos: Option<Pos2>§fade_in: bool

Implementations§

source§

impl Area

source

pub fn new(id: Id) -> Self

The id must be globally unique.

source

pub fn id(self, id: Id) -> Self

Let’s you change the id that you assigned in Self::new.

The id must be globally unique.

source

pub fn kind(self, kind: UiKind) -> Self

Change the UiKind of the arena.

Default to UiKind::GenericArea.

source

pub fn layer(&self) -> LayerId

source

pub fn enabled(self, enabled: bool) -> Self

If false, no content responds to click and widgets will be shown grayed out. You won’t be able to move the window. Default: true.

source

pub fn movable(self, movable: bool) -> Self

Moveable by dragging the area?

source

pub fn is_enabled(&self) -> bool

source

pub fn is_movable(&self) -> bool

source

pub fn interactable(self, interactable: bool) -> Self

If false, clicks goes straight through to what is behind us.

Can be used for semi-invisible areas that the user should be able to click through.

Default: true.

source

pub fn sense(self, sense: Sense) -> Self

Explicitly set a sense.

If not set, this will default to Sense::drag() if movable, Sense::click() if interactable, and Sense::hover() otherwise.

source

pub fn order(self, order: Order) -> Self

order(Order::Foreground) for an Area that should always be on top

source

pub fn default_pos(self, default_pos: impl Into<Pos2>) -> Self

source

pub fn default_size(self, default_size: impl Into<Vec2>) -> Self

The size used for the Ui::max_rect the first frame.

Text will wrap at this width, and images that expand to fill the available space will expand to this size.

If the contents are smaller than this size, the area will shrink to fit the contents. If the contents overflow, the area will grow.

If not set, style::Spacing::default_area_size will be used.

source

pub fn default_width(self, default_width: f32) -> Self

source

pub fn default_height(self, default_height: f32) -> Self

source

pub fn fixed_pos(self, fixed_pos: impl Into<Pos2>) -> Self

Positions the window and prevents it from being moved

source

pub fn constrain(self, constrain: bool) -> Self

Constrains this area to Context::screen_rect?

Default: true.

source

pub fn constrain_to(self, constrain_rect: Rect) -> Self

Constrain the movement of the window to the given rectangle.

For instance: .constrain_to(ctx.screen_rect()).

source

pub fn pivot(self, pivot: Align2) -> Self

Where the “root” of the area is.

For instance, if you set this to Align2::RIGHT_TOP then Self::fixed_pos will set the position of the right-top corner of the area.

Default: Align2::LEFT_TOP.

source

pub fn current_pos(self, current_pos: impl Into<Pos2>) -> Self

Positions the window but you can still move it.

source

pub fn anchor(self, align: Align2, offset: impl Into<Vec2>) -> Self

Set anchor and distance.

An anchor of Align2::RIGHT_TOP means “put the right-top corner of the window in the right-top corner of the screen”.

The offset is added to the position, so e.g. an offset of [-5.0, 5.0] would move the window left and down from the given anchor.

Anchoring also makes the window immovable.

It is an error to set both an anchor and a position.

source

pub(crate) fn get_pivot(&self) -> Align2

source

pub fn fade_in(self, fade_in: bool) -> Self

If true, quickly fade in the area.

Default: true.

source§

impl Area

source

pub fn show<R>( self, ctx: &Context, add_contents: impl FnOnce(&mut Ui) -> R, ) -> InnerResponse<R>

source

pub(crate) fn begin(self, ctx: &Context) -> Prepared

Trait Implementations§

source§

impl Clone for Area

source§

fn clone(&self) -> Area

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 Area

source§

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

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

impl WidgetWithState for Area

source§

impl Copy for Area

Auto Trait Implementations§

§

impl Freeze for Area

§

impl RefUnwindSafe for Area

§

impl Send for Area

§

impl Sync for Area

§

impl Unpin for Area

§

impl UnwindSafe for Area

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> ToOwned for T
where 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
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.
source§

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