lemur/src/window.rs

44 lines
1.0 KiB
Rust

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
}
}