ddt_ex

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | LICENSE

commit d4c1be1c735ad67a016a975c4976fd981380020a
parent f25a0cf05553d298b45ba90380f3b2c069959287
Author: Samdal <samdal@protonmail.com>
Date:   Fri, 21 Oct 2022 08:39:09 +0200

add floating gui window

Diffstat:
Msource/main.c | 19++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/source/main.c b/source/main.c @@ -22,9 +22,10 @@ typedef struct app_t #define GS_DDT_IMPL #include "gs_ddt/gs_ddt.h" -static int bg; +static int bg, window = 1; static void toggle_bg(int argc, char** argv); +static void toggle_window(int argc, char** argv); static void help(int argc, char** argv); static void echo(int argc, char** argv); static void spam(int argc, char** argv); @@ -50,6 +51,11 @@ gs_ddt_command_t commands[] = { .name = "bg", .desc = "toggles background", }, + { + .func = toggle_window, + .name = "window", + .desc = "toggles gui window", + }, }; gs_ddt_t ddt = { @@ -70,6 +76,12 @@ toggle_bg(int argc, char** argv) } void +toggle_window(int argc, char** argv) +{ + gs_ddt_printf(&ddt, "GUI Window turned %s\n", (window = !window) ? "on" : "off"); +} + +void spam(int argc, char** argv) { if (argc != 3) goto spam_invalid_command; @@ -134,6 +146,11 @@ void app_update() // Render gui gs_gui_begin(gui, NULL); + if (window && gs_gui_window_begin(gui, "App", gs_gui_rect(100, 100, 200, 200))) { + gs_gui_layout_row(gui, 1, (int[]){-1}, 0); + gs_gui_text(gui, "Hello, Gunslinger."); + gs_gui_window_end(gui); + } gs_vec2 fb = gui->framebuffer_size; gs_gui_rect_t screen = gs_gui_rect(0, 0, fb.x, fb.y);