App

Trait App 

Source
pub trait App {
    type Renderer: Frenderer;

    const DT: f32;

    // Required methods
    fn new(renderer: &mut Self::Renderer, assets: AssetCache) -> Self;
    fn update(&mut self, renderer: &mut Self::Renderer, input: &Input);
    fn render(&mut self, renderer: &mut Self::Renderer, dt: f32, input: &Input);
}
Expand description

App is the main public trait of frapp. Implementors get a defined new/update/render lifecycle with a choice of frenderer renderers (either frenderer::Renderer or frenderer::Immediate).

Required Associated Constants§

Source

const DT: f32

Target delta-time for simulation

Required Associated Types§

Source

type Renderer: Frenderer

The renderer type to use

Required Methods§

Source

fn new(renderer: &mut Self::Renderer, assets: AssetCache) -> Self

Initialize the app

Source

fn update(&mut self, renderer: &mut Self::Renderer, input: &Input)

Update (called every DT seconds)

Source

fn render(&mut self, renderer: &mut Self::Renderer, dt: f32, input: &Input)

Render (called once per present cycle)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§