[][src]Struct ytesrev::window::WindowManager

pub struct WindowManager<T: Scene> {
    pub context: Sdl,
    pub canvases: Vec<(WindowSettings, Canvas<Window>)>,
    pub event_step_rule: Box<dyn Fn(Event) -> bool>,
    pub event_step_slide_rule: Box<dyn Fn(Event) -> bool>,
    pub quit_rule: Box<dyn Fn(Event) -> bool>,
    pub event_pump: EventPump,
    pub scene: T,
    // some fields omitted
}

The manager of the entire presentation.

Fields

context: Sdl

The sdl context from sdl2::init

canvases: Vec<(WindowSettings, Canvas<Window>)>

All canvases, together with their respective settings

event_step_rule: Box<dyn Fn(Event) -> bool>

What events should make the presentation step forward?

event_step_slide_rule: Box<dyn Fn(Event) -> bool>

What events should make the presentation step one slide forward?

quit_rule: Box<dyn Fn(Event) -> bool>

At what event should the presentation quit? Default: On escape or the window is closed.

event_pump: EventPump

The event pump

scene: T

The scene being presented

Methods

impl<T: Scene> WindowManager<T>[src]

pub fn init_window(
    scene: T,
    settings: WindowManagerSettings
) -> WindowManager<T>
[src]

Create a window manager

This loads all scences and creates the windows according to the settings

pub fn start(&mut self)[src]

Starts the entire presentation. This will block the current thread until the presentation has ended.

Auto Trait Implementations

impl<T> !Send for WindowManager<T>

impl<T> Unpin for WindowManager<T> where
    T: Unpin

impl<T> !Sync for WindowManager<T>

impl<T> !UnwindSafe for WindowManager<T>

impl<T> !RefUnwindSafe for WindowManager<T>

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,