From 167e31655b63aa4d4548532cf0410cea9fd145ca Mon Sep 17 00:00:00 2001 From: Kai Stevenson Date: Sun, 9 Aug 2026 16:30:29 -0700 Subject: drawing --- src/ui.rs | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/ui.rs (limited to 'src/ui.rs') diff --git a/src/ui.rs b/src/ui.rs new file mode 100644 index 0000000..d55c5fb --- /dev/null +++ b/src/ui.rs @@ -0,0 +1,33 @@ +use egui::Ui; + +use crate::{Config, Diagnostics, Input, State, camera::CameraState}; + +pub fn draw_egui( + ui: &mut Ui, + config: &mut Config, + state: &mut State, + camera: &mut CameraState, + diagnostics: &Diagnostics, + input: &Input, +) { + ui.heading("Config"); + ui.add(egui::Slider::new(&mut config.brush_size, 1..=100).text("Brush size")); + ui.add(egui::Slider::new(&mut config.fps, 1..=1000).text("Max FPS")); + ui.label(format!("Real FPS: {}", diagnostics.fps)); + ui.heading("Camera"); + ui.add(egui::Slider::new(&mut camera.zoom, 0.0..=10.0).text("Zoom")); + ui.add(egui::Slider::new(&mut camera.x, -1000.0..=1000.0).text("X")); + ui.add(egui::Slider::new(&mut camera.y, -1000.0..=1000.0).text("Y")); + ui.heading("Input"); + ui.label(format!( + "Mouse: x,y=({x}, {y}), lmb_pressed={lmb}", + x = input.last_mouse_pos_on_screen.0, + y = input.last_mouse_pos_on_screen.1, + lmb = input.is_lmb_down + )); + ui.label(format!( + "Mouse (board): x,y=({x}, {y})", + x = input.last_mouse_pos_on_board.0, + y = input.last_mouse_pos_on_board.1, + )); +} -- cgit v1.3.1