From 8fbab09fce5e3779509d1fe109708164c30e01da Mon Sep 17 00:00:00 2001 From: Jonni Liljamo Date: Fri, 3 Mar 2023 13:01:59 +0200 Subject: [PATCH] feat(client): add a menuwindow wrapper in egui utils --- client/src/util/egui/menuwindow.rs | 53 ++++++++++++++++++++++++++++++ client/src/util/egui/mod.rs | 3 ++ 2 files changed, 56 insertions(+) create mode 100644 client/src/util/egui/menuwindow.rs diff --git a/client/src/util/egui/menuwindow.rs b/client/src/util/egui/menuwindow.rs new file mode 100644 index 0000000..6a8cd21 --- /dev/null +++ b/client/src/util/egui/menuwindow.rs @@ -0,0 +1,53 @@ +/* + * This file is part of laurelin/client + * Copyright (C) 2023 Jonni Liljamo + * + * Licensed under GPL-3.0-only. + * See LICENSE for licensing information. + */ + +use bevy_inspector_egui::bevy_egui::egui; + +/// wrapper for menu windows +pub fn menuwindow( + ctx: &egui::Context, + title: &str, + fixed_size: &egui::Vec2, + show: impl FnOnce(&mut egui::Ui), +) { + egui::Window::new(egui::RichText::new(title).size(32.)) + .collapsible(false) + .resizable(false) + .anchor(egui::Align2::CENTER_CENTER, egui::Vec2::ZERO) + .fixed_size(*fixed_size) + .show(ctx, |ui| { + // Override egui style for this scope. + let mut egui_style = (*ui.style_mut()).clone(); + egui_style.text_styles = [ + ( + egui::TextStyle::Heading, + egui::FontId::new(30.0, egui::FontFamily::Proportional), + ), + ( + egui::TextStyle::Body, + egui::FontId::new(18.0, egui::FontFamily::Proportional), + ), + ( + egui::TextStyle::Monospace, + egui::FontId::new(14.0, egui::FontFamily::Proportional), + ), + ( + egui::TextStyle::Button, + egui::FontId::new(24.0, egui::FontFamily::Proportional), + ), + ( + egui::TextStyle::Small, + egui::FontId::new(10.0, egui::FontFamily::Proportional), + ), + ] + .into(); + ui.set_style(egui_style); + + show(ui); + }); +} diff --git a/client/src/util/egui/mod.rs b/client/src/util/egui/mod.rs index cbd6762..c40ba74 100644 --- a/client/src/util/egui/mod.rs +++ b/client/src/util/egui/mod.rs @@ -8,3 +8,6 @@ mod password; pub use password::password; + +mod menuwindow; +pub use menuwindow::menuwindow; -- 2.44.1