pub enum Event {
Show 14 variants
Copy,
Cut,
Paste(String),
Text(String),
Key {
key: Key,
pressed: bool,
modifiers: Modifiers,
},
PointerMoved(Pos2),
PointerButton {
pos: Pos2,
button: PointerButton,
pressed: bool,
modifiers: Modifiers,
},
PointerGone,
Scroll(Vec2),
Zoom(f32),
CompositionStart,
CompositionUpdate(String),
CompositionEnd(String),
Touch {
device_id: TouchDeviceId,
id: TouchId,
phase: TouchPhase,
pos: Pos2,
force: f32,
},
}
Expand description
An input event generated by the integration.
This only covers events that egui cares about.
Variants
Copy
The integration detected a “copy” event (e.g. Cmd+C).
Cut
The integration detected a “cut” event (e.g. Cmd+X).
Paste(String)
The integration detected a “paste” event (e.g. Cmd+V).
Text(String)
Text input, e.g. via keyboard.
When the user presses enter/return, do not send a Text
(just Key::Enter
).
Key
Fields
key: Key
pressed: bool
Was it pressed or released?
modifiers: Modifiers
The state of the modifier keys at the time of the event.
A key was pressed or released.
PointerMoved(Pos2)
The mouse or touch moved to a new place.
PointerButton
Fields
pos: Pos2
Where is the pointer?
What mouse button? For touches, use PointerButton::Primary
.
pressed: bool
Was it the button/touch pressed this frame, or released?
modifiers: Modifiers
The state of the modifier keys at the time of the event.
A mouse button was pressed or released (or a touch started or stopped).
PointerGone
The mouse left the screen, or the last/primary touch input disappeared.
This means there is no longer a cursor on the screen for hovering etc.
On touch-up first send PointerButton{pressed: false, …}
followed by PointerLeft
.
Scroll(Vec2)
How many points (logical pixels) the user scrolled.
The direction of the vector indicates how to move the content that is being viewed. So if you get positive values, the content being viewed should move to the right and down, revealing new things to the left and up.
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.
Shift-scroll should result in horizontal scrolling (it is up to the integrations to do this).
Zoom(f32)
Zoom scale factor this frame (e.g. from ctrl-scroll or pinch gesture).
zoom = 1
: no change.zoom < 1
: pinch togetherzoom > 1
: pinch spread
CompositionStart
IME composition start.
CompositionUpdate(String)
A new IME candidate is being suggested.
CompositionEnd(String)
IME composition ended with this final result.
Touch
Fields
device_id: TouchDeviceId
Hashed device identifier (if available; may be zero). Can be used to separate touches from different devices.
id: TouchId
Unique identifier of a finger/pen. Value is stable from touch down to lift-up
phase: TouchPhase
One of: start move end cancel.
pos: Pos2
Position of the touch (or where the touch was last detected)
force: f32
Describes how hard the touch device was pressed. May always be 0
if the platform does
not support pressure sensitivity.
The value is in the range from 0.0 (no pressure) to 1.0 (maximum pressure).
On touch screens, report this in addition to
Self::PointerMoved
, Self::PointerButton
, Self::PointerGone
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Event
impl<'de> Deserialize<'de> for Event
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for Event
Auto Trait Implementations
impl RefUnwindSafe for Event
impl Send for Event
impl Sync for Event
impl Unpin for Event
impl UnwindSafe for Event
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more