Struct egui_winit::State
source · pub struct State { /* private fields */ }
Expand description
Handles the integration between egui and a winit Window.
Instantiate one of these per viewport/window.
Implementations§
source§impl State
impl State
sourcepub fn new(
viewport_id: ViewportId,
display_target: &dyn HasRawDisplayHandle,
native_pixels_per_point: Option<f32>,
max_texture_side: Option<usize>
) -> Self
pub fn new( viewport_id: ViewportId, display_target: &dyn HasRawDisplayHandle, native_pixels_per_point: Option<f32>, max_texture_side: Option<usize> ) -> Self
Construct a new instance
pub fn init_accesskit<T: From<ActionRequestEvent> + Send>( &mut self, window: &Window, event_loop_proxy: EventLoopProxy<T>, initial_tree_update_factory: impl 'static + FnOnce() -> TreeUpdate + Send )
sourcepub fn set_max_texture_side(&mut self, max_texture_side: usize)
pub fn set_max_texture_side(&mut self, max_texture_side: usize)
Call this once a graphics context has been created to update the maximum texture dimensions that egui will use.
sourcepub fn pixels_per_point(&self) -> f32
pub fn pixels_per_point(&self) -> f32
The number of physical pixels per logical point,
as configured on the current egui context (see egui::Context::pixels_per_point
).
sourcepub fn egui_input(&self) -> &RawInput
pub fn egui_input(&self) -> &RawInput
The current input state.
This is changed by Self::on_window_event
and cleared by Self::take_egui_input
.
sourcepub fn egui_input_mut(&mut self) -> &mut RawInput
pub fn egui_input_mut(&mut self) -> &mut RawInput
The current input state.
This is changed by Self::on_window_event
and cleared by Self::take_egui_input
.
sourcepub fn update_viewport_info(&self, info: &mut ViewportInfo, window: &Window)
pub fn update_viewport_info(&self, info: &mut ViewportInfo, window: &Window)
Update the given viewport info with the current state of the window.
Call before Self::update_viewport_info
sourcepub fn take_egui_input(&mut self, window: &Window) -> RawInput
pub fn take_egui_input(&mut self, window: &Window) -> RawInput
Prepare for a new frame by extracting the accumulated input,
as well as setting the time and screen rectangle.
You need to set egui::RawInput::viewports
yourself though.
Use Self::update_viewport_info
to update the info for each
viewport.
sourcepub fn on_window_event(
&mut self,
egui_ctx: &Context,
event: &WindowEvent<'_>
) -> EventResponse
pub fn on_window_event( &mut self, egui_ctx: &Context, event: &WindowEvent<'_> ) -> EventResponse
Call this when there is a new event.
The result can be found in Self::egui_input
and be extracted with Self::take_egui_input
.
sourcepub fn on_accesskit_action_request(&mut self, request: ActionRequest)
pub fn on_accesskit_action_request(&mut self, request: ActionRequest)
Call this when there is a new [accesskit::ActionRequest
].
The result can be found in Self::egui_input
and be extracted with Self::take_egui_input
.
sourcepub fn handle_platform_output(
&mut self,
window: &Window,
egui_ctx: &Context,
platform_output: PlatformOutput
)
pub fn handle_platform_output( &mut self, window: &Window, egui_ctx: &Context, platform_output: PlatformOutput )
Call with the output given by egui
.
This will, if needed:
- update the cursor
- copy text to the clipboard
- open any clicked urls
- update the IME