pub struct RawInput {Show 13 fields
    pub viewport_id: ViewportId,
    pub viewports: ViewportIdMap<ViewportInfo>,
    pub safe_area_insets: Option<SafeAreaInsets>,
    pub screen_rect: Option<Rect>,
    pub max_texture_side: Option<usize>,
    pub time: Option<f64>,
    pub predicted_dt: f32,
    pub modifiers: Modifiers,
    pub events: Vec<Event>,
    pub hovered_files: Vec<HoveredFile>,
    pub dropped_files: Vec<DroppedFile>,
    pub focused: bool,
    pub system_theme: Option<Theme>,
}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.
Ii “points” can be calculated from native physical pixels
using pixels_per_point = crate::Context::zoom_factor * native_pixels_per_point;
Fields§
§viewport_id: ViewportIdThe id of the active viewport.
viewports: ViewportIdMap<ViewportInfo>Information about all egui viewports.
safe_area_insets: Option<SafeAreaInsets>The insets used to only render content in a mobile safe area
None will be treated as “same as last frame”
screen_rect: Option<Rect>Position and size of the area that egui should use, in points. Usually you would set this to
Some(Rect::from_min_size(Default::default(), screen_size_in_points)).
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.
max_texture_side: Option<usize>Maximum size of one side of the font texture.
Ask your graphics drivers about this. This corresponds to GL_MAX_TEXTURE_SIZE.
The default is a very small (but very portable) 2048.
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: f32Should 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: ModifiersWhich 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.
hovered_files: Vec<HoveredFile>Dragged files hovering over egui.
dropped_files: Vec<DroppedFile>Dragged files dropped into egui.
Note: when using eframe on Windows, this will always be empty if drag-and-drop support has
been disabled in crate::viewport::ViewportBuilder.
focused: boolThe native window has the keyboard focus (i.e. is receiving key presses).
False when the user alt-tab away from the application, for instance.
system_theme: Option<Theme>Does the OS use dark or light mode?
None means “don’t know”.
Implementations§
Source§impl RawInput
 
impl RawInput
Sourcepub fn viewport(&self) -> &ViewportInfo
 
pub fn viewport(&self) -> &ViewportInfo
Info about the active viewport
Sourcepub fn take(&mut self) -> Self
 
pub fn take(&mut self) -> Self
Helper: move volatile (deltas and events), clone the rest.
- Self::hovered_filesis cloned.
- Self::dropped_filesis moved.