pub struct State { /* private fields */ }Expand description
Handles the integration between egui and a sdl2 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
Sourcepub fn set_rotation(&mut self, rotation: Rotation)
pub fn set_rotation(&mut self, rotation: Rotation)
Present the UI at a quarter turn to the window, for a panel that is not mounted the way it is read.
This is the half of the turn that egui sees: the layout rect becomes the
turned screen, and pointer positions are mapped back into it. The other
half is the backend’s — see crate::EguiWindow::set_rotation, which
sets both.
pub fn rotation(&self) -> Rotation
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>
Sourcepub fn set_max_texture_side(&mut self, max_texture_side: Option<usize>)
pub fn set_max_texture_side(&mut self, max_texture_side: Option<usize>)
Cap the texture size egui lays its font atlas out for, from the painter’s own limit. egui defaults to 2048, past what handheld drivers accept, and the atlas is allocated before the first frame.
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).
Auto Trait Implementations§
impl !RefUnwindSafe for State
impl !Send for State
impl !Sync for State
impl !UnwindSafe for State
impl Freeze for State
impl Unpin for State
impl UnsafeUnpin for State
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more