cepheid

An Aurora 4X clone
Log | Files | Refs | README

commit 071239df07ee045485a73c2b6e9c204893c2c2af
parent c1e1eafb7745db8b2958ab205defe606149005ab
Author: hhvn <dev@hhvn.uk>
Date:   Mon,  5 Sep 2022 12:25:43 +0100

ui_loop() - common actions performed each frame

Diffstat:
Msrc/main.c | 12+++---------
Msrc/main.h | 1+
Msrc/ui.c | 12++++++++++++
3 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/src/main.c b/src/main.c @@ -31,12 +31,7 @@ main(void) { ClearWindowState(FLAG_WINDOW_HIDDEN); ui_update_screen(); - while (!WindowShouldClose()) { - ffree(); - - if (IsWindowResized()) - ui_update_screen(); - + while (ui_loop()) { if (IsKeyDown(KEY_LEFT_ALT) || IsKeyDown(KEY_RIGHT_ALT)) { /* AAAAAAAAAAHHHHHHHHHHHH. WHY NOT JUST USE KEY_1, KEY_2..! */ if (IsKeyPressed(KEY_ONE)) view_tabs.sel = 0; @@ -47,9 +42,6 @@ main(void) { else if (IsKeyPressed(KEY_SIX)) view_tabs.sel = 5; } - view_prev = view_tabs.sel; - - ui_clickable_update(); view_handlers[view_tabs.sel](view_prev != view_tabs.sel); BeginDrawing(); @@ -58,6 +50,8 @@ main(void) { view_drawers[view_tabs.sel](); ui_draw_views(); EndDrawing(); + + view_prev = view_tabs.sel; } data_unload(); diff --git a/src/main.h b/src/main.h @@ -56,6 +56,7 @@ extern Screen screen; extern View_sys view_sys; void ui_init(void); void ui_update_screen(void); +int ui_loop(void); void ui_deinit(void); void ui_print(int x, int y, Color col, char *format, ...); void ui_title(char *fmt, ...); diff --git a/src/ui.c b/src/ui.c @@ -77,6 +77,18 @@ ui_update_screen(void) { screen.diag = sqrt(SQUARE(screen.w) + SQUARE(screen.h)); } +int +ui_loop(void) { + if (WindowShouldClose()) + return 0; + + ffree(); + if (IsWindowResized()) + ui_update_screen(); + ui_clickable_update(); + return 1; +} + void ui_deinit(void) { CloseWindow();