4 Commits
Author SHA1 Message Date
hulthe 5e1c3b18c7 Add more fonts 2025-06-12 20:24:17 +02:00
hulthe a91cafa74a Add fonts 2025-06-12 20:23:57 +02:00
hulthe 64642b404d Add App 2025-06-12 20:23:52 +02:00
hulthe 6f591627be initial commit 2025-06-12 20:23:22 +02:00
+1 -6
View File
@@ -10,9 +10,8 @@ use egui::{
Align, Button, Color32, FontData, FontDefinitions, PointerButton, RichText, ScrollArea, Stroke, Align, Button, Color32, FontData, FontDefinitions, PointerButton, RichText, ScrollArea, Stroke,
}; };
/// We derive Deserialize/Serialize so we can persist app state on shutdown.
#[derive(serde::Deserialize, serde::Serialize)] #[derive(serde::Deserialize, serde::Serialize)]
#[serde(default)] // if we add new fields, give them default values when deserializing old state #[serde(default)]
pub struct App { pub struct App {
preferences: Preferences, preferences: Preferences,
@@ -141,8 +140,6 @@ impl App {
Stroke::new(1.0, Color32::from_rgb(200, 200, 200)); Stroke::new(1.0, Color32::from_rgb(200, 200, 200));
}); });
// Load previous app state (if any).
// Note that you must enable the `persistence` feature for this to work.
if let Some(storage) = cc.storage { if let Some(storage) = cc.storage {
return eframe::get_value(storage, eframe::APP_KEY).unwrap_or_default(); return eframe::get_value(storage, eframe::APP_KEY).unwrap_or_default();
} }
@@ -197,8 +194,6 @@ impl eframe::App for App {
//}); //});
egui::TopBottomPanel::top("top_panel").show(ctx, |ui| { egui::TopBottomPanel::top("top_panel").show(ctx, |ui| {
// The top panel is often a good place for a menu bar:
egui::containers::menu::Bar::new().ui(ui, |ui| { egui::containers::menu::Bar::new().ui(ui, |ui| {
// NOTE: no File->Quit on web pages! // NOTE: no File->Quit on web pages!
ui.menu_button("Menu ⚙", |ui| { ui.menu_button("Menu ⚙", |ui| {