diff options
| author | Kai Stevenson <kai@kaistevenson.com> | 2026-08-09 16:30:29 -0700 |
|---|---|---|
| committer | Kai Stevenson <kai@kaistevenson.com> | 2026-08-09 16:30:29 -0700 |
| commit | 167e31655b63aa4d4548532cf0410cea9fd145ca (patch) | |
| tree | 2b9b3d3832404979fecfa3972464c37613d43db2 /src/ui.rs | |
| parent | 2eff3a26da27f68355ee2316f956e1bdfb6f1b68 (diff) | |
drawing
Diffstat (limited to 'src/ui.rs')
| -rw-r--r-- | src/ui.rs | 33 |
1 files changed, 33 insertions, 0 deletions
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, + )); +} |
