use crate::*; pub trait ProgramController { fn initialise(&mut self) {} fn on_render(&mut self) {} fn on_mouse_moved(&mut self, _position: Point) {} fn on_process(&mut self, _create_window: &mut dyn FnMut(Box)) {} } /// An empty program controller, for when a program has only one window. pub struct DefaultProgramController {} impl ProgramController for DefaultProgramController {}