pub struct SoftMiddleware<RenderSurface, Input> { /* private fields */ }
Expand description
Default Middleware for the Softbuffer backend.
Implementations§
source§impl<RenderSurface, Input> SoftMiddleware<RenderSurface, Input>where
RenderSurface: RenderSurface,
impl<RenderSurface, Input> SoftMiddleware<RenderSurface, Input>where
RenderSurface: RenderSurface,
sourcepub fn new(render_surface: RenderSurface, input: Input) -> Self
pub fn new(render_surface: RenderSurface, input: Input) -> Self
Create new middleware instance with desired render surface and input handler.
sourcepub fn with_default_scale(self, default_scale: u32) -> Self
pub fn with_default_scale(self, default_scale: u32) -> Self
Set default scale for the window.
sourcepub fn with_background_color(self, background_color: u32) -> Self
pub fn with_background_color(self, background_color: u32) -> Self
Set background color for the unoccupied space.
Trait Implementations§
source§impl<'a, RenderSurface, Input> Middleware<'a, SoftControl> for SoftMiddleware<RenderSurface, Input>where
RenderSurface: RenderSurface + 'a,
Input: 'a + Input<'a, SoftEventContext<'a>, Event = WindowEvent>,
impl<'a, RenderSurface, Input> Middleware<'a, SoftControl> for SoftMiddleware<RenderSurface, Input>where
RenderSurface: RenderSurface + 'a,
Input: 'a + Input<'a, SoftEventContext<'a>, Event = WindowEvent>,
§type Event = WindowEvent
type Event = WindowEvent
Event type to be handled;
§type EventContext = &'a Window
type EventContext = &'a Window
Specific context supporting the event handling.
§type Context = SoftContext<'a, Input>
type Context = SoftContext<'a, Input>
Context to be passed to the application.
§type RenderTarget = SoftRenderTarget<'a, RenderSurface>
type RenderTarget = SoftRenderTarget<'a, RenderSurface>
Render target to be passed to the application.
source§fn init(&'a mut self, control: &'a mut SoftControl) -> Self::Init
fn init(&'a mut self, control: &'a mut SoftControl) -> Self::Init
Initialize during startup.
source§fn update(
&'a mut self,
control: &'a mut SoftControl,
delta: Duration
) -> Self::Context
fn update( &'a mut self, control: &'a mut SoftControl, delta: Duration ) -> Self::Context
Provide context for the application update process.
source§fn handle_event(
&mut self,
event: Self::Event,
event_context: Self::EventContext,
control: &mut SoftControl
) -> Option<Self::Event>
fn handle_event( &mut self, event: Self::Event, event_context: Self::EventContext, control: &mut SoftControl ) -> Option<Self::Event>
Handle event generated by the backend, return it if not consumed.
source§fn render(&'a mut self, surface: Self::Surface) -> Self::RenderTarget
fn render(&'a mut self, surface: Self::Surface) -> Self::RenderTarget
Provide render context for the application to draw on.
Auto Trait Implementations§
impl<RenderSurface, Input> Freeze for SoftMiddleware<RenderSurface, Input>
impl<RenderSurface, Input> RefUnwindSafe for SoftMiddleware<RenderSurface, Input>where
Input: RefUnwindSafe,
RenderSurface: RefUnwindSafe,
impl<RenderSurface, Input> Send for SoftMiddleware<RenderSurface, Input>
impl<RenderSurface, Input> Sync for SoftMiddleware<RenderSurface, Input>
impl<RenderSurface, Input> Unpin for SoftMiddleware<RenderSurface, Input>
impl<RenderSurface, Input> UnwindSafe for SoftMiddleware<RenderSurface, Input>where
Input: UnwindSafe,
RenderSurface: UnwindSafe,
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
Mutably borrows from an owned value. Read more
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
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>
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)
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)
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.