Skip to main content

State

Struct State 

Source
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

Source

pub fn new(window: &Window, egui_ctx: Context, viewport_id: ViewportId) -> Self

Source

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.

Source

pub fn rotation(&self) -> Rotation

Source

pub fn get_window_size(&self) -> (u32, u32)

Source

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).

Source

pub fn get_pointer_pos_in_points(&self) -> Option<Pos2>

Source

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.

Source

pub fn set_theme(&mut self, theme: Theme)

Source

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
Source

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.

Source

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.

Source

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

Source§

fn simd_from(_simd: S, value: T) -> T

Source§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

Source§

fn simd_into(self, simd: S) -> T

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>