1use macroquad::ui::{hash, root_ui, widgets};
2
3use macroquad::prelude::*;
4
5#[macroquad::main("Events")]
6async fn main() {
7 loop {
8 clear_background(WHITE);
9 root_ui().window(hash!(), Vec2::new(20., 20.), Vec2::new(450., 200.), |ui| {
10 let (mouse_x, mouse_y) = mouse_position();
11 ui.label(None, &format!("Mouse position: {mouse_x} {mouse_y}"));
12
13 let (mouse_wheel_x, mouse_wheel_y) = mouse_wheel();
14 ui.label(None, &format!("Mouse wheel x: {mouse_wheel_x}"));
15 ui.label(None, &format!("Mouse wheel y: {mouse_wheel_y}"));
16
17 widgets::Group::new(hash!(), Vec2::new(200., 90.))
18 .position(Vec2::new(240., 0.))
19 .ui(ui, |ui| {
20 ui.label(None, "Pressed kbd keys");
21
22 if let Some(key) = get_last_key_pressed() {
23 ui.label(None, &format!("{key:?}"))
24 }
25 });
26
27 widgets::Group::new(hash!(), Vec2::new(200., 90.))
28 .position(Vec2::new(240., 92.))
29 .ui(ui, |ui| {
30 ui.label(None, "Pressed mouse keys");
31
32 if is_mouse_button_down(MouseButton::Left) {
33 ui.label(None, "Left");
34 }
35 if is_mouse_button_down(MouseButton::Right) {
36 ui.label(None, "Right");
37 }
38 if is_mouse_button_down(MouseButton::Middle) {
39 ui.label(None, "Middle");
40 }
41 });
42 });
43 next_frame().await;
44 }
45}