Struct egui::interaction::InteractionSnapshot
source · pub struct InteractionSnapshot {
pub clicked: Option<Id>,
pub long_touched: Option<Id>,
pub drag_started: Option<Id>,
pub dragged: Option<Id>,
pub drag_stopped: Option<Id>,
pub hovered: HashSet<Id, BuildIdHasher>,
pub contains_pointer: HashSet<Id, BuildIdHasher>,
}
Expand description
Calculated at the start of each frame based on:
- Widget rects from precious frame
- Mouse/touch input
- Current
InteractionState
.
Fields§
§clicked: Option<Id>
The widget that got clicked this frame.
long_touched: Option<Id>
This widget was long-pressed on a touch screen, so trigger a secondary click on it (context menu).
drag_started: Option<Id>
Drag started on this widget this frame.
This will also be found in dragged
this frame.
dragged: Option<Id>
This widget is being dragged this frame.
Set the same frame a drag starts, but unset the frame a drag ends.
NOTE: this may not have a corresponding crate::WidgetRect
,
if this for instance is a drag-and-drop widget which
isn’t painted whilst being dragged
drag_stopped: Option<Id>
This widget was let go this frame, after having been dragged.
The widget will not be found in Self::dragged
this frame.
hovered: HashSet<Id, BuildIdHasher>
A small set of widgets (usually 0-1) that the pointer is hovering over.
Show these widgets as highlighted, if they are interactive.
While dragging or clicking something, nothing else is hovered.
Use Self::contains_pointer
to find a drop-zone for drag-and-drop.
contains_pointer: HashSet<Id, BuildIdHasher>
All widgets that contain the pointer this frame, regardless if the user is currently clicking or dragging.
This is usually a larger set than Self::hovered
,
and can be used for e.g. drag-and-drop zones.
Implementations§
Trait Implementations§
source§impl Clone for InteractionSnapshot
impl Clone for InteractionSnapshot
source§fn clone(&self) -> InteractionSnapshot
fn clone(&self) -> InteractionSnapshot
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Default for InteractionSnapshot
impl Default for InteractionSnapshot
source§fn default() -> InteractionSnapshot
fn default() -> InteractionSnapshot
Auto Trait Implementations§
impl Freeze for InteractionSnapshot
impl RefUnwindSafe for InteractionSnapshot
impl Send for InteractionSnapshot
impl Sync for InteractionSnapshot
impl Unpin for InteractionSnapshot
impl UnwindSafe for InteractionSnapshot
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
)