Files
wgpu-renderer/Source/State.rs
2021-11-09 21:07:16 -03:00

14 lines
502 B
Rust

use crate::Render::Renderer;
use anyhow::Result;
use std::time::Duration;
use winit::event::*;
/// Represents a application with reactive state.
pub trait State: Sized + 'static {
fn Init(renderer: &Renderer) -> Result<Self>;
fn Input(&mut self, renderer: &Renderer, event: &WindowEvent) -> bool;
fn Update(&mut self, renderer: &Renderer, delta: Duration);
fn Resize(&mut self, renderer: &Renderer);
fn Draw(&mut self, renderer: &mut Renderer) -> Result<(), wgpu::SurfaceError>;
}