X-Git-Url: https://harrygodden.com/git/?p=vg.git;a=blobdiff_plain;f=vg_imgui.c;fp=vg_imgui.c;h=51792ff53042666d9e43853f2adf7242bbecc09d;hp=a4af9aecb3c922005ef90081792be4fc3747cd92;hb=cc5c184b1264d2e33398c1a4c03e75fb42ca04f5;hpb=70530f5055e116c22ab1b433884573944e9c4f64 diff --git a/vg_imgui.c b/vg_imgui.c index a4af9ae..51792ff 100644 --- a/vg_imgui.c +++ b/vg_imgui.c @@ -430,17 +430,20 @@ void ui_flush( enum ui_shader shader, f32 w, f32 h ){ vg_ui.vert_start = vg_ui.cur_vert; } -void ui_fill_rect( ui_rect rect, u32 colour, ui_px uv[4] ) +struct ui_vert *ui_fill_rect( ui_rect rect, u32 colour, ui_px uv[4] ) { /* this if far from ideal but stops us from crashing */ if( (vg_ui.cur_vert + 4 > vg_ui.max_verts) || (vg_ui.cur_indice + 6 > vg_ui.max_indices)) - return; + { + return &vg_ui.vertex_buffer[0]; + } struct ui_vert *vertices = &vg_ui.vertex_buffer[ vg_ui.cur_vert ]; u16 *indices = &vg_ui.indice_buffer[ vg_ui.cur_indice ]; - for( int i=0; i<4; i++ ){ + for( int i=0; i<4; i++ ) + { vertices[i].colour = colour; } @@ -465,17 +468,20 @@ void ui_fill_rect( ui_rect rect, u32 colour, ui_px uv[4] ) u16 start = vg_ui.cur_vert; u32 mesh[] = { 0,2,1, 0,3,2 }; - for( u32 i=0; isx*scale*4; @@ -907,10 +928,10 @@ u32 ui_ntext( ui_rect rect, const char *str, u32 len, ui_px scale, return printed_chars; } -void ui_text( ui_rect rect, const char *str, ui_px scale, - enum ui_align align, u32 colour ) +u32 ui_text( ui_rect rect, const char *str, ui_px scale, + enum ui_align align, u32 colour ) { - ui_ntext( rect, str, 1024, scale, align, colour ); + return ui_ntext( rect, str, 1024, scale, align, colour ); } void ui_font_face( vg_font_face *ff )