diff options
| author | Vasco <[email protected]> | 2026-08-23 02:25:33 +0100 |
|---|---|---|
| committer | Vasco <[email protected]> | 2026-08-23 02:25:33 +0100 |
| commit | dc96fcd771bea09d726a760266739906e95c09a6 (patch) | |
| tree | 5af4d4d7660a90a04016fae4defec3c2a422477d /Peak/demos/demo.c | |
Peak 0.1.1
Diffstat (limited to 'Peak/demos/demo.c')
| -rw-r--r-- | Peak/demos/demo.c | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/Peak/demos/demo.c b/Peak/demos/demo.c new file mode 100644 index 0000000..7aec9b3 --- /dev/null +++ b/Peak/demos/demo.c @@ -0,0 +1,65 @@ +#include <stdio.h> +#include <math.h> +#include <unistd.h> + +#define PEAK_IMPLEMENTATION +#include "../peak.h" + + +void print_window_resize(PeakEvent ev) { + printf("window: %u %u\n", ev.resize.width, ev.resize.height); +} + +void print_window_close(PeakEvent ev) { + printf("WINDOW CLOSE!!!!!!\nWOWWWOWAAAAAAAAAAAAAAAAAAAAAAAAh\n"); +} + +void print_mouse(PeakEvent ev) { + printf("mouse: state=%d type=%d pos=(%f, %f)\n", ev.pointer.state, ev.pointer.type, ev.pointer.x, ev.pointer.y); +} + +void print_key(PeakEvent ev) { + printf("key: key=%d mod=%d\n", ev.key.key, ev.key.mod); +} + +typedef void (*print_event_func)(PeakEvent ev); +print_event_func print_event[PEAK_EVENT_LAST] = { + [PEAK_EVENT_NONE] = print_mouse, + [PEAK_EVENT_WINDOW_RESIZE] = print_window_resize, + [PEAK_EVENT_WINDOW_CLOSE] = print_window_close, + [PEAK_EVENT_POINTER] = print_mouse, + [PEAK_EVENT_POINTER_CONNECTED] = print_mouse, + [PEAK_EVENT_POINTER_DISCONNECTED] = print_mouse, + [PEAK_EVENT_KEY_DOWN] = print_key, + [PEAK_EVENT_KEY_UP] = print_key, +}; + + +typedef struct { + char *msg; +} AppData; + +static AppData data; + +int main(int argc, char**argv) { + peak_init(); + int running = 1000000; + PeakEvent ev; + data.msg = "hello world"; + while (running--) { + while (peak_poll_events(&ev)) { + if (ev.type == PEAK_EVENT_NONE) + continue; + print_event[ev.type](ev); + switch (ev.type) { + case PEAK_EVENT_WINDOW_CLOSE: + printf("STOPPPPEEED\n"); + return 1; + } + } + // printf("frame: %d - %s\n", running, data.msg); + } + peak_quit(); + return 0; +} + |
