Struct ruscii::app::App

source ·
pub struct App { /* private fields */ }
Expand description

The essential parts of the application, containing its Config, State, and Window.

App objects are created with a default maximum framerate of 30 using App::default. To change this, pass a Config object with the desired framerate using App::config.

Implementations§

source§

impl App

source

pub fn config(config: Config) -> App

Constructs an App with the given Config.

source

pub fn window(&self) -> &Window

source

pub fn run<F>(&mut self, frame_action: F)where F: FnMut(&mut State, &mut Window),

Begins running the terminal application.

This function begins a loop where key events are first registered, the window is cleared, frame_action is called adding characters to the Canvas, and the window is redrawn.

If the time it takes to execute all of these is less than the App expects according to the framerate set in the Config, the current thread is put to sleep until the next frame, thereby limiting FPS.

Catches all unwinding panics that occur within frame_action, allowing terminal recovery.

Trait Implementations§

source§

impl Default for App

source§

fn default() -> App

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl !RefUnwindSafe for App

§

impl Send for App

§

impl !Sync for App

§

impl Unpin for App

§

impl !UnwindSafe for App

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · 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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.