Struct egui::RawInput [−][src]
pub struct RawInput {
pub scroll_delta: Vec2,
pub zoom_delta: f32,
pub screen_size: Vec2,
pub screen_rect: Option<Rect>,
pub pixels_per_point: Option<f32>,
pub time: Option<f64>,
pub predicted_dt: f32,
pub modifiers: Modifiers,
pub events: Vec<Event>,
}
Expand description
What the integrations provides to egui at the start of each frame.
Set the values that make sense, leave the rest at their Default::default()
.
You can check if egui
is using the inputs using
crate::Context::wants_pointer_input
and crate::Context::wants_keyboard_input
.
All coordinates are in points (logical pixels) with origin (0, 0) in the top left corner.
Fields
scroll_delta: Vec2
How many points (logical pixels) the user scrolled
zoom_delta: f32
Zoom scale factor this frame (e.g. from ctrl-scroll or pinch gesture).
zoom = 1
: no change (default).zoom < 1
: pinch togetherzoom > 1
: pinch spread
screen_size: Vec2
Use instead: screen_rect: Some(Rect::from_pos_size(Default::default(), screen_size))
screen_rect: Option<Rect>
Position and size of the area that egui should use. Usually you would set this to
Some(Rect::from_pos_size(Default::default(), screen_size))
.
but you could also constrain egui to some smaller portion of your window if you like.
None
will be treated as “same as last frame”, with the default being a very big area.
pixels_per_point: Option<f32>
Also known as device pixel ratio, > 1 for high resolution screens. If text looks blurry you probably forgot to set this. Set this the first frame, whenever it changes, or just on every frame.
time: Option<f64>
Monotonically increasing time, in seconds. Relative to whatever. Used for animations.
If None
is provided, egui will assume a time delta of predicted_dt
(default 1/60 seconds).
predicted_dt: f32
Should be set to the expected time between frames when painting at vsync speeds. The default for this is 1/60. Can safely be left at its default value.
modifiers: Modifiers
Which modifier keys are down at the start of the frame?
events: Vec<Event>
In-order events received this frame.
There is currently no way to know if egui handles a particular event,
but you can check if egui is using the keyboard with crate::Context::wants_keyboard_input
and/or the pointer (mouse/touch) with crate::Context::is_using_pointer
.
Implementations
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for RawInput
impl UnwindSafe for RawInput
Blanket Implementations
Mutably borrows from an owned value. Read more