pub struct State { /* private fields */ }Expand description
Handles the integration between egui and a sdl3 Window.
Instantiate one of these per viewport/window.
Implementations§
Source§impl State
impl State
pub fn new(window: &Window, egui_ctx: Context, viewport_id: ViewportId) -> Self
pub fn get_window_size(&self) -> (u32, u32)
Sourcepub fn get_drawable_size(&self) -> (u32, u32)
pub fn get_drawable_size(&self) -> (u32, u32)
Drawable (physical pixel) size, cached and refreshed on resize.
This is the size a GPU backend should use for its viewport/framebuffer:
on HiDPI it differs from Self::get_window_size (logical points).
pub fn get_pointer_pos_in_points(&self) -> Option<Pos2>
pub fn set_theme(&mut self, theme: Theme)
Sourcepub fn handle_platform_output(&mut self, platform_output: PlatformOutput)
pub fn handle_platform_output(&mut self, 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
Sourcepub fn take_egui_input(&mut self) -> RawInput
pub fn take_egui_input(&mut self) -> RawInput
Prepare for a new frame by extracting the accumulated input,
as well as setting the time
You need to set egui::RawInput::viewports yourself though.
Sourcepub fn on_event(&mut self, window: &Window, event: &Event) -> EventResponse
pub fn on_event(&mut self, window: &Window, event: &Event) -> EventResponse
Call this when there is a new event.
The result can be extracted with Self::take_egui_input.
Sourcepub fn sync_window_size(&mut self, window: &Window)
pub fn sync_window_size(&mut self, window: &Window)
Refresh the cached window/drawable size and native pixels-per-point from the live window. Call once per frame so an orientation change is reflected even when the platform doesn’t deliver a size-changed event (Android is unreliable here — the surface can resize on rotation without an event).