.up = _vg_console_on_up,
.down = _vg_console_on_down,
.change = _vg_console_on_update,
- .enter = _vg_console_on_enter
+ .enter = _vg_console_on_enter,
};
ui_textbox( rect_input, NULL,
vg_console.input, vg_list_size(vg_console.input), 1,
typedef i16 ui_px;
typedef ui_px ui_rect[4];
+typedef ui_px ui_point[2];
typedef struct ui_vert ui_vert;
enum ui_axis {
void (*enter)( char *, u32 ),
(*up)( char *, u32 ),
(*down)( char *, u32 ),
- (*change)( char *, u32 );
+ (*change)( char *, u32 ),
+ (*escape)( void );
}
callbacks;
}
static void ui_defocus_all(void){
if( vg_ui.focused_control_type == k_ui_control_textbox ){
SDL_StopTextInput();
+ if( vg_ui.textbox.callbacks.escape )
+ vg_ui.textbox.callbacks.escape();
}
+ vg_ui.ignore_input_frames = 2;
vg_ui.focused_control_id = NULL;
vg_ui.focused_control_hit = 0;
vg_ui.focused_control_type = k_ui_control_none;
static void _ui_textbox_enter(void){
if( vg_ui.focused_control_type == k_ui_control_textbox ){
+ vg_ui.ignore_input_frames = 2;
+
if( vg_ui.textbox.callbacks.enter )
vg_ui.textbox.callbacks.enter( vg_ui.textbuf, vg_ui.textbox.len );