Struct egui::pass_state::PassState
source · pub struct PassState {
pub used_ids: IdMap<Rect>,
pub widgets: WidgetRects,
pub layers: HashMap<LayerId, PerLayerState>,
pub tooltips: TooltipPassState,
pub available_rect: Rect,
pub unused_rect: Rect,
pub used_by_panels: Rect,
pub scroll_target: [Option<ScrollTarget>; 2],
pub scroll_delta: (Vec2, ScrollAnimation),
pub highlight_next_pass: HashSet<Id, BuildIdHasher>,
pub debug_rect: Option<DebugRect>,
}
Expand description
State that is collected during a pass, then saved for the next pass, and then cleared.
(NOTE: we usually run only one pass per frame).
One per viewport.
Fields§
§used_ids: IdMap<Rect>
All Id
s that were used this pass.
widgets: WidgetRects
All widgets produced this pass.
layers: HashMap<LayerId, PerLayerState>
Per-layer state.
Not all layers registers themselves there though.
tooltips: TooltipPassState
§available_rect: Rect
Starts off as the screen_rect
, shrinks as panels are added.
The crate::CentralPanel
does not change this.
This is the area available to Window’s.
unused_rect: Rect
Starts off as the screen_rect
, shrinks as panels are added.
The crate::CentralPanel
retracts from this.
used_by_panels: Rect
How much space is used by panels.
scroll_target: [Option<ScrollTarget>; 2]
The current scroll area should scroll to this range (horizontal, vertical).
scroll_delta: (Vec2, ScrollAnimation)
The current scroll area should scroll by this much.
The delta dictates how the content should move.
A positive X-value indicates the content is being moved right, as when swiping right on a touch-screen or track-pad with natural scrolling.
A positive Y-value indicates the content is being moved down, as when swiping down on a touch-screen or track-pad with natural scrolling.
highlight_next_pass: HashSet<Id, BuildIdHasher>
Highlight these widgets the next pass.
debug_rect: Option<DebugRect>
Implementations§
source§impl PassState
impl PassState
pub(crate) fn begin_pass(&mut self, screen_rect: Rect)
sourcepub(crate) fn available_rect(&self) -> Rect
pub(crate) fn available_rect(&self) -> Rect
How much space is still available after panels has been added. This is the “background” area, what egui doesn’t cover with panels (but may cover with windows). This is also the area to which windows are constrained.
sourcepub(crate) fn allocate_left_panel(&mut self, panel_rect: Rect)
pub(crate) fn allocate_left_panel(&mut self, panel_rect: Rect)
Shrink available_rect
.
sourcepub(crate) fn allocate_right_panel(&mut self, panel_rect: Rect)
pub(crate) fn allocate_right_panel(&mut self, panel_rect: Rect)
Shrink available_rect
.
sourcepub(crate) fn allocate_top_panel(&mut self, panel_rect: Rect)
pub(crate) fn allocate_top_panel(&mut self, panel_rect: Rect)
Shrink available_rect
.
sourcepub(crate) fn allocate_bottom_panel(&mut self, panel_rect: Rect)
pub(crate) fn allocate_bottom_panel(&mut self, panel_rect: Rect)
Shrink available_rect
.
pub(crate) fn allocate_central_panel(&mut self, panel_rect: Rect)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PassState
impl RefUnwindSafe for PassState
impl Send for PassState
impl Sync for PassState
impl Unpin for PassState
impl UnwindSafe for PassState
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)