Struct AppHandler

Source
pub struct AppHandler<A: Application> { /* private fields */ }
Expand description

Default implementation for winit::application::ApplicationHandler.

The new winit requires an implementation of that trait to be able to use an EventLoop, and everything, including the main window, will be done from that. This type implements this trait and does some basic tasks:

  • Creates the MainWindowWithRenderer object.
  • Forwards the events to your application object.

For that it requires that your application object implements UiBuilder and Application.

If you have special needs you can skip this and write your own implementation of winit::application::ApplicationHandler.

Implementations§

Source§

impl<A: Application> AppHandler<A>

Source

pub fn new(event_loop: &EventLoop<AppEvent<A>>, app_data: A::Data) -> Self

Creates a new AppHandler.

It creates an empty handler. It automatically creates an EventLoopProxy.

Source

pub fn imgui_builder(&mut self) -> &mut ContextBuilder

Returns the ContextBuilder of this application.

With this you can change the ImGui options before the context is created.

Source

pub fn set_attributes(&mut self, wattrs: WindowAttributes)

Sets the window attributes that will be used to create the main window.

Source

pub fn attributes(&mut self) -> &mut WindowAttributes

Gets the current window attributes.

It returns a mutable reference, so you can modify it in-place, which is sometimes more convenient.

Source

pub fn data(&self) -> &A::Data

Gets the custom data.

Source

pub fn data_mut(&mut self) -> &mut A::Data

Gets a mutable reference to the custom data.

Source

pub fn app(&self) -> Option<&A>

Gets the inner app object.

Source

pub fn app_mut(&mut self) -> Option<&mut A>

Gets a mutable reference to the inner app object.

Source

pub fn into_inner(self) -> (Option<A>, A::Data)

Extracts the inner values.

You may need this after the main loop has finished to get the result of your program execution.

Source

pub fn event_proxy(&self) -> &EventLoopProxy<AppEvent<A>>

Gets the inner EventLoopProxy.

Trait Implementations§

Source§

impl<A> ApplicationHandler<AppEvent<A>> for AppHandler<A>
where A: Application,

Source§

fn suspended(&mut self, event_loop: &ActiveEventLoop)

Emitted when the application has been suspended. Read more
Source§

fn resumed(&mut self, event_loop: &ActiveEventLoop)

Emitted when the application has been resumed. Read more
Source§

fn window_event( &mut self, event_loop: &ActiveEventLoop, window_id: WindowId, event: WindowEvent, )

Emitted when the OS sends an event to a winit window.
Source§

fn device_event( &mut self, event_loop: &ActiveEventLoop, device_id: DeviceId, event: DeviceEvent, )

Emitted when the OS sends an event to a device.
Source§

fn user_event(&mut self, event_loop: &ActiveEventLoop, event: AppEvent<A>)

Emitted when an event is sent from EventLoopProxy::send_event.
Source§

fn new_events(&mut self, _event_loop: &ActiveEventLoop, _cause: StartCause)

Emitted when new events arrive from the OS to be processed. Read more
Source§

fn about_to_wait(&mut self, _event_loop: &ActiveEventLoop)

Emitted when the event loop is about to block and wait for new events. Read more
Source§

fn exiting(&mut self, event_loop: &ActiveEventLoop)

Emitted when the event loop is being shut down. Read more
Source§

fn memory_warning(&mut self, event_loop: &ActiveEventLoop)

Emitted when the application has received a memory warning. Read more

Auto Trait Implementations§

§

impl<A> Freeze for AppHandler<A>
where <A as Application>::Data: Freeze, A: Freeze,

§

impl<A> !RefUnwindSafe for AppHandler<A>

§

impl<A> !Send for AppHandler<A>

§

impl<A> !Sync for AppHandler<A>

§

impl<A> Unpin for AppHandler<A>
where <A as Application>::Data: Unpin, A: Unpin,

§

impl<A> !UnwindSafe for AppHandler<A>

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> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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>,

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> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more