/* * 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_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); }); }