Struct Scene

Source
pub struct Scene<D> { /* private fields */ }

Implementations§

Source§

impl<D: 'static> Scene<D>

Source

pub fn new(window: Window, data: D) -> Self

Examples found in repository?
examples/minimal.rs (line 33)
30fn main() -> io::Result<()> {
31    let window = Window::init()?;
32    handle_panics();
33    Scene::new(window, AppData::default())
34        // Insert the 2 widgets to run (hello will run first, then quit_handler)
35        .insert_widgets((hello, quit_handler))
36        // Run the application with a poll time of 100ms and a exit condition where AppData::should_exit is true
37        .run(100, |scene| !scene.data().should_exit)?;
38    Ok(())
39}
More examples
Hide additional examples
examples/mode.rs (line 72)
69pub fn main() -> io::Result<()> {
70    let window = Window::init()?;
71    handle_panics();
72    Scene::new(window, Data::default())
73        .insert_widget(render_state)
74        .insert_conditional_widgets(|_w, d| d.state == AppState::None, (keybinds_test,))
75        .insert_conditional_widgets(
76            |_w, d| d.state == AppState::Keybinds,
77            (quit_test, back_test),
78        )
79        .run(100, |scene| !scene.data_mut().should_exit)?;
80    Ok(())
81}
Source

pub fn data(&self) -> &D

Examples found in repository?
examples/minimal.rs (line 37)
30fn main() -> io::Result<()> {
31    let window = Window::init()?;
32    handle_panics();
33    Scene::new(window, AppData::default())
34        // Insert the 2 widgets to run (hello will run first, then quit_handler)
35        .insert_widgets((hello, quit_handler))
36        // Run the application with a poll time of 100ms and a exit condition where AppData::should_exit is true
37        .run(100, |scene| !scene.data().should_exit)?;
38    Ok(())
39}
Source

pub fn data_mut(&mut self) -> &mut D

Examples found in repository?
examples/mode.rs (line 79)
69pub fn main() -> io::Result<()> {
70    let window = Window::init()?;
71    handle_panics();
72    Scene::new(window, Data::default())
73        .insert_widget(render_state)
74        .insert_conditional_widgets(|_w, d| d.state == AppState::None, (keybinds_test,))
75        .insert_conditional_widgets(
76            |_w, d| d.state == AppState::Keybinds,
77            (quit_test, back_test),
78        )
79        .run(100, |scene| !scene.data_mut().should_exit)?;
80    Ok(())
81}
Source

pub fn insert_widget(&mut self, widget: impl Widget<D> + 'static) -> &mut Self

Examples found in repository?
examples/mode.rs (line 73)
69pub fn main() -> io::Result<()> {
70    let window = Window::init()?;
71    handle_panics();
72    Scene::new(window, Data::default())
73        .insert_widget(render_state)
74        .insert_conditional_widgets(|_w, d| d.state == AppState::None, (keybinds_test,))
75        .insert_conditional_widgets(
76            |_w, d| d.state == AppState::Keybinds,
77            (quit_test, back_test),
78        )
79        .run(100, |scene| !scene.data_mut().should_exit)?;
80    Ok(())
81}
Source

pub fn insert_widgets(&mut self, set: impl WidgetSet<D>) -> &mut Self

Examples found in repository?
examples/minimal.rs (line 35)
30fn main() -> io::Result<()> {
31    let window = Window::init()?;
32    handle_panics();
33    Scene::new(window, AppData::default())
34        // Insert the 2 widgets to run (hello will run first, then quit_handler)
35        .insert_widgets((hello, quit_handler))
36        // Run the application with a poll time of 100ms and a exit condition where AppData::should_exit is true
37        .run(100, |scene| !scene.data().should_exit)?;
38    Ok(())
39}
Source

pub fn insert_special_widget( &mut self, widget: impl SpecialWidget<D> + 'static, ) -> &mut Self

Source

pub fn insert_conditional_widgets( &mut self, cond: impl Fn(&mut Window, &mut D) -> bool + 'static, widgets: impl WidgetSet<D>, ) -> &mut Self

Examples found in repository?
examples/mode.rs (line 74)
69pub fn main() -> io::Result<()> {
70    let window = Window::init()?;
71    handle_panics();
72    Scene::new(window, Data::default())
73        .insert_widget(render_state)
74        .insert_conditional_widgets(|_w, d| d.state == AppState::None, (keybinds_test,))
75        .insert_conditional_widgets(
76            |_w, d| d.state == AppState::Keybinds,
77            (quit_test, back_test),
78        )
79        .run(100, |scene| !scene.data_mut().should_exit)?;
80    Ok(())
81}
Source

pub fn take_all(self) -> (Window, D)

Source

pub fn update(&mut self)

Source

pub fn run( &mut self, update_millis: u64, run_cond: impl Fn(&mut Self) -> bool, ) -> Result<&mut Self>

Examples found in repository?
examples/minimal.rs (line 37)
30fn main() -> io::Result<()> {
31    let window = Window::init()?;
32    handle_panics();
33    Scene::new(window, AppData::default())
34        // Insert the 2 widgets to run (hello will run first, then quit_handler)
35        .insert_widgets((hello, quit_handler))
36        // Run the application with a poll time of 100ms and a exit condition where AppData::should_exit is true
37        .run(100, |scene| !scene.data().should_exit)?;
38    Ok(())
39}
More examples
Hide additional examples
examples/mode.rs (line 79)
69pub fn main() -> io::Result<()> {
70    let window = Window::init()?;
71    handle_panics();
72    Scene::new(window, Data::default())
73        .insert_widget(render_state)
74        .insert_conditional_widgets(|_w, d| d.state == AppState::None, (keybinds_test,))
75        .insert_conditional_widgets(
76            |_w, d| d.state == AppState::Keybinds,
77            (quit_test, back_test),
78        )
79        .run(100, |scene| !scene.data_mut().should_exit)?;
80    Ok(())
81}

Auto Trait Implementations§

§

impl<D> Freeze for Scene<D>
where D: Freeze,

§

impl<D> !RefUnwindSafe for Scene<D>

§

impl<D> !Send for Scene<D>

§

impl<D> !Sync for Scene<D>

§

impl<D> Unpin for Scene<D>
where D: Unpin,

§

impl<D> !UnwindSafe for Scene<D>

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

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.