DEVELOPMENT ENVIRONMENT

~liljamo/deck-builder

8fbab09fce5e3779509d1fe109708164c30e01da — Jonni Liljamo 1 year, 9 months ago 58c10dd
feat(client): add a menuwindow wrapper in egui utils
2 files changed, 56 insertions(+), 0 deletions(-)

A client/src/util/egui/menuwindow.rs
M client/src/util/egui/mod.rs
A client/src/util/egui/menuwindow.rs => client/src/util/egui/menuwindow.rs +53 -0
@@ 0,0 1,53 @@
/*
 * 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_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);
        });
}

M client/src/util/egui/mod.rs => client/src/util/egui/mod.rs +3 -0
@@ 8,3 8,6 @@

mod password;
pub use password::password;

mod menuwindow;
pub use menuwindow::menuwindow;