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 |\
}
}
+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 )
* 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 ++ ){
}
}
- 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;
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;
}
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 */