#![no_std]
#![allow(dead_code, non_camel_case_types, non_snake_case)]
pub extern crate log;
extern crate alloc;
extern crate std;
pub mod asset;
pub mod audio;
pub mod color;
pub mod event;
pub mod graphics;
pub mod image;
pub mod math;
pub mod sync;
pub mod time;
mod engine;
pub use cgmath;
pub use engine::{start, Context};
pub use fontdue;
pub trait App: 'static + Sized {
fn new(_ctx: &mut Context<Self>) -> Self;
fn on_update(&mut self, _ctx: &mut Context<Self>, _delta: f32) {}
fn on_close_requested(&mut self, _ctx: &mut Context<Self>) {}
fn on_received_character(&mut self, _ctx: &mut Context<Self>, _character: char) {}
fn on_key_pressed(&mut self, _ctx: &mut Context<Self>, _key: event::KeyboardButton, _is_repeat: bool) {}
fn on_key_released(&mut self, _ctx: &mut Context<Self>, _key: event::KeyboardButton) {}
fn on_cursor_pressed(
&mut self,
_ctx: &mut Context<Self>,
_button: event::CursorButton,
_physical_pos: cgmath::Vector2<f32>,
_normalized_pos: cgmath::Vector2<f32>,
) {
}
fn on_cursor_released(
&mut self,
_ctx: &mut Context<Self>,
_button: event::CursorButton,
_physical_pos: cgmath::Vector2<f32>,
_normalized_pos: cgmath::Vector2<f32>,
) {
}
fn on_cursor_scroll(&mut self, _ctx: &mut Context<Self>, _direction: event::ScrollDirection) {}
fn on_cursor_moved(
&mut self,
_ctx: &mut Context<Self>,
_physical_pos: cgmath::Vector2<f32>,
_normalized_pos: cgmath::Vector2<f32>,
) {
}
fn on_cursor_delta(&mut self, _ctx: &mut Context<Self>, _delta: cgmath::Vector2<f32>, _focused: bool) {}
fn on_cursor_left(&mut self, _ctx: &mut Context<Self>) {}
fn on_cursor_entered(&mut self, _ctx: &mut Context<Self>) {}
fn on_window_resized(
&mut self,
_ctx: &mut Context<Self>,
_physical_size: cgmath::Vector2<f32>,
_logical_size: cgmath::Vector2<f32>,
_scale_factor: f32,
) {
}
fn on_window_focused(&mut self, _ctx: &mut Context<Self>, _focused: bool) {}
}