api change
authorhgn <hgodden00@gmail.com>
Wed, 6 Sep 2023 12:51:51 +0000 (13:51 +0100)
committerhgn <hgodden00@gmail.com>
Wed, 6 Sep 2023 12:51:51 +0000 (13:51 +0100)
vg_imgui.h

index d1070394ee1353c63d27bffcf085ae1d17d9a7cf..b624e7f4ed5507ccedb73fbafa921608cf73f2b8 100644 (file)
@@ -72,6 +72,10 @@ enum ui_scheme_colour{
    k_ui_brighter = 8
 };
 
+static ui_px k_ui_widget_height = 28,
+             k_ui_scale = 2,
+             k_ui_padding = 8;
+
 typedef u32 ui_scheme[8*4];
 
 #define UI_RGB( STDHEX )          0xff000000       |\
@@ -1189,15 +1193,22 @@ static void ui_dev_colourview(void)
    }
 }
 
+static void ui_standard_widget( ui_rect inout_panel, ui_rect out_rect ){
+   ui_split( inout_panel, k_ui_axis_h, k_ui_widget_height*k_ui_scale,
+             k_ui_padding, out_rect, inout_panel );
+}
+
 /*
  * checkbox
  * -----------------------------------------------------------------------------
  */
 
-static int ui_checkbox( ui_rect rect, const char *str_label, int *data ){
-   ui_rect label, box;
+static int ui_checkbox( ui_rect inout_panel, const char *str_label, i32 *data ){
+   ui_rect rect, label, box;
+   ui_standard_widget( inout_panel, rect );
+
    ui_split( rect, k_ui_axis_v, -rect[3], 0, label, box );
-   ui_text( label, str_label, 1, k_ui_align_middle_left, 0 );
+   ui_text( label, str_label, k_ui_scale, k_ui_align_middle_left, 0 );
 
    int changed = ui_colourbutton( box, k_ui_bg )==1;
    if( changed )
@@ -1220,13 +1231,14 @@ static int ui_checkbox( ui_rect rect, const char *str_label, int *data ){
  * unfortunately no return value since we only find out that event in the 
  * postrender step.
  */
-static void ui_enum( ui_rect rect, const char *str_label, 
+static void ui_enum( ui_rect inout_panel, const char *str_label, 
                      struct ui_enum_opt *options, u32 len, i32 *value )
 {
-   ui_rect label, box;
-   ui_split( rect, k_ui_axis_v, ui_text_line_width( str_label ) + 8, 
+   ui_rect rect, label, box;
+   ui_standard_widget( inout_panel, rect );
+   ui_split( rect, k_ui_axis_v, (ui_text_line_width( str_label )+8)*k_ui_scale, 
                 0, label, box );
-   ui_text( label, str_label, 1, k_ui_align_middle_left, 0 );
+   ui_text( label, str_label, k_ui_scale, k_ui_align_middle_left, 0 );
 
    const char *display = "OUT OF RANGE";
    for( u32 i=0; i<len; i ++ ){
@@ -1236,7 +1248,7 @@ static void ui_enum( ui_rect rect, const char *str_label,
       }
    }
 
-   if( ui_button_text( box, display, 1 ) == 1 ){
+   if( ui_button_text( box, display, k_ui_scale ) == 1 ){
       vg_ui.focused_control_type = k_ui_control_enum;
       vg_ui.ptr_enum = value;
       vg_ui._enum.option_count = len;
@@ -1270,8 +1282,8 @@ static void ui_enum_post(void){
       if( vg_ui._enum.options[i].value == *value ) 
          colour = k_ui_orange;
 
-      if( ui_colourbutton_text( button, vg_ui._enum.options[i].alias, 1,
-                                colour ) == 1 ){
+      if( ui_colourbutton_text( button, vg_ui._enum.options[i].alias, 
+                                k_ui_scale, colour ) == 1 ){
          *value = vg_ui._enum.options[i].value;
          close = 1;
       }
@@ -1990,50 +2002,4 @@ static void ui_label( ui_rect rect, const char *text, ui_px size,
    ui_text( l, text, 1, k_ui_align_middle_left, 0 );
 }
 
-
-
-static ui_px k_vgi_widget_height = 24,
-             k_vgi_scale = 1;
-
-enum vgi_window_flag{
-   k_vgi_window_resizeable = 0x1,
-   k_vgi_window_moveable   = 0x2,
-   k_vgi_window_closeable  = 0x4,
-   k_vgi_window_standard   =
-      k_vgi_window_moveable|
-      k_vgi_window_closeable
-};
-
-static int vgi_window( ui_rect in_window, const char *title, u32 flags, 
-                       ui_rect out_panel ){
-   ui_fill( in_window, ui_colour( k_ui_bg+1 ) );
-   ui_outline( in_window, 1, ui_colour( k_ui_bg+7 ) );
-
-   ui_rect bar;
-   ui_split( in_window, k_ui_axis_h, k_vgi_widget_height*k_vgi_scale, 0, 
-             bar, out_panel );
-   ui_fill( bar, ui_colour( k_ui_bg+7 ) );
-   ui_text( bar, title, k_vgi_scale, k_ui_align_middle_center, 
-            ui_colourcont(k_ui_bg+7) );
-
-   if( flags & k_vgi_window_closeable ){
-      ui_rect quit_button;
-      ui_split( bar, k_ui_axis_v, bar[2]-bar[3], 2, bar, quit_button );
-      if( ui_button_text( quit_button, "X", 1 ) == 1 ){
-         return 0;
-      }
-   }
-
-   return 1;
-}
-
-
-
-
-
-
-
-
-
-
 #endif /* VG_IMGUI_H */