1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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,
));
}
|