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:

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§

source§

impl InteractionSnapshot

source

pub fn ui(&self, ui: &mut Ui)

Trait Implementations§

source§

impl Clone for InteractionSnapshot

source§

fn clone(&self) -> InteractionSnapshot

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 Default for InteractionSnapshot

source§

fn default() -> InteractionSnapshot

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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,

source§

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>,

source§

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>,

source§

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,