About popup
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
use egui::{CentralPanel, Context, Image, ViewportBuilder, ViewportId};
|
||||
|
||||
use super::AppWindow;
|
||||
|
||||
pub struct AboutWindow;
|
||||
|
||||
impl AppWindow for AboutWindow {
|
||||
fn viewport_id(&self) -> ViewportId {
|
||||
ViewportId::from_hash_of("About")
|
||||
}
|
||||
|
||||
fn initial_viewport(&self) -> ViewportBuilder {
|
||||
ViewportBuilder::default()
|
||||
.with_title("About Lemur")
|
||||
.with_inner_size((300.0, 200.0))
|
||||
}
|
||||
|
||||
fn show(&mut self, ctx: &Context) {
|
||||
CentralPanel::default().show(ctx, |ui| {
|
||||
ui.vertical_centered(|ui| {
|
||||
ui.label("Lemur Virtual Boy Emulator");
|
||||
ui.hyperlink("https://git.virtual-boy.com/PVB/lemur");
|
||||
let logo = Image::new(egui::include_image!("../../assets/lemur-256x256.png"))
|
||||
.max_width(256.0)
|
||||
.maintain_aspect_ratio(true);
|
||||
ui.add(logo);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
+30
-22
@@ -98,6 +98,36 @@ impl GameWindow {
|
||||
ui.close_menu();
|
||||
}
|
||||
});
|
||||
ui.menu_button("Options", |ui| self.show_options_menu(ctx, ui));
|
||||
ui.menu_button("Multiplayer", |ui| {
|
||||
if self.sim_id == SimId::Player1
|
||||
&& !self.client.has_player_2()
|
||||
&& ui.button("Open Player 2").clicked()
|
||||
{
|
||||
self.client
|
||||
.send_command(EmulatorCommand::StartSecondSim(None));
|
||||
self.proxy.send_event(UserEvent::OpenPlayer2).unwrap();
|
||||
ui.close_menu();
|
||||
}
|
||||
if self.client.has_player_2() {
|
||||
let linked = self.client.are_sims_linked();
|
||||
if linked && ui.button("Unlink").clicked() {
|
||||
self.client.send_command(EmulatorCommand::Unlink);
|
||||
ui.close_menu();
|
||||
}
|
||||
if !linked && ui.button("Link").clicked() {
|
||||
self.client.send_command(EmulatorCommand::Link);
|
||||
ui.close_menu();
|
||||
}
|
||||
}
|
||||
});
|
||||
ui.menu_button("About", |ui| {
|
||||
self.proxy.send_event(UserEvent::OpenAbout).unwrap();
|
||||
ui.close_menu();
|
||||
});
|
||||
}
|
||||
|
||||
fn show_options_menu(&mut self, ctx: &Context, ui: &mut Ui) {
|
||||
ui.menu_button("Video", |ui| {
|
||||
ui.menu_button("Screen Size", |ui| {
|
||||
let current_dims = ctx.input(|i| i.viewport().inner_rect.unwrap());
|
||||
@@ -207,28 +237,6 @@ impl GameWindow {
|
||||
ui.close_menu();
|
||||
}
|
||||
});
|
||||
ui.menu_button("Multiplayer", |ui| {
|
||||
if self.sim_id == SimId::Player1
|
||||
&& !self.client.has_player_2()
|
||||
&& ui.button("Open Player 2").clicked()
|
||||
{
|
||||
self.client
|
||||
.send_command(EmulatorCommand::StartSecondSim(None));
|
||||
self.proxy.send_event(UserEvent::OpenPlayer2).unwrap();
|
||||
ui.close_menu();
|
||||
}
|
||||
if self.client.has_player_2() {
|
||||
let linked = self.client.are_sims_linked();
|
||||
if linked && ui.button("Unlink").clicked() {
|
||||
self.client.send_command(EmulatorCommand::Unlink);
|
||||
ui.close_menu();
|
||||
}
|
||||
if !linked && ui.button("Link").clicked() {
|
||||
self.client.send_command(EmulatorCommand::Link);
|
||||
ui.close_menu();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
fn show_color_picker(&mut self, ui: &mut Ui) {
|
||||
|
||||
Reference in New Issue
Block a user