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
impl Area
sourcepub fn id(self, id: Id) -> Self
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.
sourcepub fn kind(self, kind: UiKind) -> Self
pub fn kind(self, kind: UiKind) -> Self
Change the UiKind
of the arena.
Default to UiKind::GenericArea
.
pub fn layer(&self) -> LayerId
sourcepub fn enabled(self, enabled: bool) -> Self
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
.
pub fn is_enabled(&self) -> bool
pub fn is_movable(&self) -> bool
sourcepub fn interactable(self, interactable: bool) -> Self
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
.
sourcepub fn sense(self, sense: Sense) -> Self
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.
sourcepub fn order(self, order: Order) -> Self
pub fn order(self, order: Order) -> Self
order(Order::Foreground)
for an Area that should always be on top
pub fn default_pos(self, default_pos: impl Into<Pos2>) -> Self
sourcepub fn default_size(self, default_size: impl Into<Vec2>) -> Self
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.
sourcepub fn default_width(self, default_width: f32) -> Self
pub fn default_width(self, default_width: f32) -> Self
See Self::default_size
.
sourcepub fn default_height(self, default_height: f32) -> Self
pub fn default_height(self, default_height: f32) -> Self
See Self::default_size
.
sourcepub fn fixed_pos(self, fixed_pos: impl Into<Pos2>) -> Self
pub fn fixed_pos(self, fixed_pos: impl Into<Pos2>) -> Self
Positions the window and prevents it from being moved
sourcepub fn constrain(self, constrain: bool) -> Self
pub fn constrain(self, constrain: bool) -> Self
Constrains this area to Context::screen_rect
?
Default: true
.
sourcepub fn constrain_to(self, constrain_rect: Rect) -> Self
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())
.
sourcepub fn pivot(self, pivot: Align2) -> Self
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
.
sourcepub fn current_pos(self, current_pos: impl Into<Pos2>) -> Self
pub fn current_pos(self, current_pos: impl Into<Pos2>) -> Self
Positions the window but you can still move it.
sourcepub fn anchor(self, align: Align2, offset: impl Into<Vec2>) -> Self
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.