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

source

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

source

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 )

source

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.

source

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

source

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.

source

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.

source

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

source

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.

source

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.

source

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.

source

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

Auto Trait Implementations§

§

impl !RefUnwindSafe for State

§

impl !Send for State

§

impl !Sync for State

§

impl Unpin for State

§

impl !UnwindSafe 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<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, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.