Struct egui::containers::area::Area
source · pub struct Area {
pub(crate) id: Id,
movable: bool,
interactable: bool,
enabled: bool,
constrain: bool,
order: Order,
default_pos: Option<Pos2>,
pivot: Align2,
anchor: Option<(Align2, Vec2)>,
new_pos: Option<Pos2>,
drag_bounds: Option<Rect>,
}
Expand description
An area on the screen that can be moved by dragging.
This forms the base of the Window
container.
egui::Area::new("my_area")
.fixed_pos(egui::pos2(32.0, 32.0))
.show(ctx, |ui| {
ui.label("Floating text!");
});
Fields§
§id: Id
§movable: bool
§interactable: bool
§enabled: bool
§constrain: bool
§order: Order
§default_pos: Option<Pos2>
§pivot: Align2
§anchor: Option<(Align2, Vec2)>
§new_pos: Option<Pos2>
§drag_bounds: Option<Rect>
Implementations§
source§impl Area
impl Area
pub fn new(id: impl Into<Id>) -> Self
pub fn id(self, id: Id) -> Self
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. Good for tooltips etc.
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 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 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.
sourcepub fn drag_bounds(self, bounds: Rect) -> Self
pub fn drag_bounds(self, bounds: Rect) -> Self
Constrain the area up to which the window can be dragged.