From 81df4702c424f91cca5570ab2554d1d4cbae534d Mon Sep 17 00:00:00 2001 From: Benji Dial Date: Wed, 3 Mar 2021 22:43:17 -0500 Subject: 64kiB kernel area, ps/2 mouse support, signed decimals in knob format --- src/user/mdemo/main.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/user/mdemo/main.c (limited to 'src/user/mdemo/main.c') diff --git a/src/user/mdemo/main.c b/src/user/mdemo/main.c new file mode 100644 index 0000000..fc7de80 --- /dev/null +++ b/src/user/mdemo/main.c @@ -0,0 +1,42 @@ +#include +#include + +#define TEXT_COLOR ((_pixel_t){.r = 0x00, .g = 0x00, .b = 0x00}) +#define BG_COLOR ((_pixel_t){.r = 0xbf, .g = 0xbf, .b = 0xbf}) + +static const char *const mb_names[] = { + "left", "right", "middle" +}; + +void main() { + struct popup main_win; + info_popup(&main_win, "Click me!", TEXT_COLOR, BG_COLOR); + + while (1) { + struct window_action winact; + _get_win_action(main_win.handle, &winact); + + switch (winact.action_type) { + struct popup modal; + case NOT_READY: + _wait_for_action(); + _yield_task(); + continue; + + case KEY_DOWN: + return; + + case MOUSE_DOWN: + info_popupf(&modal, + "Got %s click at (%d, %d)!", + TEXT_COLOR, BG_COLOR, + mb_names[winact.as_mouse.which], + winact.as_mouse.x, winact.as_mouse.y); + make_modal(&modal); + continue; + + default: + continue; + } + } +} \ No newline at end of file -- cgit v1.2.3