From fb7a6a573f4259045cdc08d556298b6c41bda5fb Mon Sep 17 00:00:00 2001 From: hgn Date: Wed, 17 Apr 2024 18:29:19 +0100 Subject: [PATCH] checkbox imgui api --- src/fonts/vg_font_thin_3.png | Bin 21525 -> 21948 bytes src/fonts/vg_font_thin_3.xcf | Bin 627594 -> 632306 bytes vg_build_font.h | 3 +++ vg_imgui.c | 40 ++++++++++++++++++++++++++++++----- vg_imgui.h | 1 + 5 files changed, 39 insertions(+), 5 deletions(-) diff --git a/src/fonts/vg_font_thin_3.png b/src/fonts/vg_font_thin_3.png index ad1f1f46da24a25fbf8f4c418efb1c631e9a3aa7..18139a2944e86c8b77988d05d92aa7f33bd06a2c 100644 GIT binary patch delta 15565 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 ADF6Tf delta 14873 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 E0l=6#YybcN diff --git a/src/fonts/vg_font_thin_3.xcf b/src/fonts/vg_font_thin_3.xcf index 85ed68942883c3580b27cd5b621267b5e99eec90..1e40c461bac84e22cad69ef8a585c43c5388a91e 100644 GIT binary patch delta 7920 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 Y_USmaBad$n?ah7bZLe>AWX~7>1!V$;tN;K2 diff --git a/vg_build_font.h b/vg_build_font.h index 5278ca1..5ee5e10 100644 --- a/vg_build_font.h +++ b/vg_build_font.h @@ -111,6 +111,7 @@ void vg_build_default_font(void) vg_build_font_face_run( &small, 'a', 'z', 0, 28 ); vg_build_font_face_run( &small, '0', '9', 208,14 ); vg_build_font_face_run( &small, 0x7f, 0xa4, 0,42 ); + vg_build_font_face_run( &small, 0xb0, 0xb2, 208,28 ); vg_build_write_font_face( fp, &small ); vg_font_face large = @@ -128,6 +129,7 @@ void vg_build_default_font(void) vg_build_font_face_run( &large, 'a', 'z', 0, 98 ); vg_build_font_face_run( &large, '0', '9', 312,77 ); vg_build_font_face_run( &large, 0x7f, 0xa4, 0,119 ); + vg_build_font_face_run( &large, 0xb0, 0xb2, 312,98 ); vg_build_write_font_face( fp, &large ); vg_font_face title = @@ -152,6 +154,7 @@ void vg_build_default_font(void) vg_build_font_face_run( &title, 0x7f, 0x88, 120,350 ); vg_build_font_face_run( &title, 0x93, 0x98, 360,350 ); vg_build_font_face_run( &title, 0x99, 0xa4, 0,392 ); + vg_build_font_face_run( &title, 0xb0, 0xb2, 288,392 ); vg_build_write_font_face( fp, &title ); fclose( fp ); diff --git a/vg_imgui.c b/vg_imgui.c index 60bb296..bb4f46f 100644 --- a/vg_imgui.c +++ b/vg_imgui.c @@ -839,7 +839,7 @@ u32 ui_ntext( ui_rect rect, const char *str, u32 len, ui_px scale, text_cursor[0] -= vg_ui.font->sx*scale; ui_rect glyph; - ui_text_glyph( vg_ui.font, '\xb6' /*FIXME*/, glyph ); + ui_text_glyph( vg_ui.font, '\xb1' /*FIXME*/, glyph ); ui_fill_rect( text_cursor, 0x00ffffff, glyph ); text_cursor[0] += vg_ui.font->sx*scale; } @@ -1199,6 +1199,14 @@ void ui_postrender(void) * ----------------------------------------------------------------------------- */ +enum ui_button_state ui_checkbox_base( ui_rect box, i32 *data ) +{ + enum ui_button_state state = ui_button_base( box ); + if( state == k_ui_button_click ) + *data = (*data) ^ 0x1; + return state; +} + int ui_checkbox( ui_rect inout_panel, const char *str_label, i32 *data ) { ui_rect rect, label, box; @@ -1206,12 +1214,34 @@ int ui_checkbox( ui_rect inout_panel, const char *str_label, i32 *data ) ui_split( rect, k_ui_axis_v, -rect[3], 0, label, box ); ui_text( label, str_label, k_ui_scale, k_ui_align_middle_left, 0 ); + + enum ui_button_state state = ui_checkbox_base( box, data ); - int changed = ui_colourbutton( box, k_ui_bg, 0, 0 ) == k_ui_button_click; - if( changed ) - *data = (*data) ^ 0x1; + if( state == k_ui_button_holding_inside ) + { + ui_fill( box, ui_colour(k_ui_bg+2) ); + ui_outline( box, 1, ui_colour(k_ui_fg), 0 ); + } + else if( state == k_ui_button_holding_outside ) + { + ui_fill( box, ui_colour(k_ui_bg) ); + ui_outline( box, 1, ui_colour(k_ui_fg), 0 ); + } + else if( state == k_ui_button_hover ) + { + ui_fill( box, ui_colour(k_ui_bg) ); + ui_outline( box, 1, ui_colour(k_ui_fg), 0 ); + } + else + { + ui_fill( box, ui_colour(k_ui_bg) ); + ui_outline( box, 1, ui_colour(k_ui_bg+4), 0 ); + } + + bool changed = (state == k_ui_button_click); - if( *data ){ + if( *data ) + { ui_rect_pad( box, (ui_px[2]){4,4} ); ui_fill( box, ui_colour( k_ui_orange ) ); } diff --git a/vg_imgui.h b/vg_imgui.h index 7e882aa..8ec0330 100644 --- a/vg_imgui.h +++ b/vg_imgui.h @@ -277,6 +277,7 @@ enum ui_button_state ui_button( ui_rect inout_panel, const char *string ); void ui_postrender(void); +enum ui_button_state ui_checkbox_base( ui_rect box, i32 *data ); int ui_checkbox( ui_rect inout_panel, const char *str_label, i32 *data ); void ui_enum( ui_rect inout_panel, const char *str_label, struct ui_enum_opt *options, u32 len, i32 *value ); -- 2.25.1