/*
* This file is part of laurelin/client
* Copyright (C) 2023 Jonni Liljamo <jonni@liljamo.com>
*
* 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);
});
}