pub use about::AboutWindow; use egui::{Context, ViewportBuilder, ViewportId}; pub use game::GameWindow; pub use gdb::GdbServerWindow; pub use input::InputWindow; pub use shortcuts::ShortcutsWindow; pub use vip::{ BgMapWindow, CharacterDataWindow, FrameBufferWindow, ObjectWindow, RegisterWindow, WorldWindow, }; use winit::event::KeyEvent; use crate::emulator::SimId; mod about; mod game; mod game_screen; mod gdb; mod input; mod shortcuts; mod utils; mod vip; pub trait AppWindow { fn viewport_id(&self) -> ViewportId; fn sim_id(&self) -> SimId { SimId::Player1 } fn initial_viewport(&self) -> ViewportBuilder; fn show(&mut self, ctx: &Context); fn on_init(&mut self, ctx: &Context, render_state: &egui_wgpu::RenderState) { let _ = ctx; let _ = render_state; } fn on_destroy(&mut self) {} fn handle_key_event(&mut self, event: &KeyEvent) -> bool { let _ = event; false } fn handle_gamepad_event(&mut self, event: &gilrs::Event) -> bool { let _ = event; false } }