X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=vg%2Fvg_console.h;h=07a90d2416813c16d693d9609aafda80c2e44c3a;hb=a69a9e27e7de338a3116ed345ff2d9d19f084329;hp=43677e31c5f7f2912b284216de2f32fdacf0443f;hpb=8cb8f5f155460ca783ecc9d5edc29f924a1f3238;p=fishladder.git diff --git a/vg/vg_console.h b/vg/vg_console.h index 43677e3..07a90d2 100644 --- a/vg/vg_console.h +++ b/vg/vg_console.h @@ -46,7 +46,7 @@ struct vg_console int enabled; int scale; } -vg_console = { .scale = 2 }; +vg_console = { .scale = 1 }; // Declerations // ------------ @@ -101,49 +101,49 @@ static void vg_console_draw( void ) if( !vg_console.enabled ) return; - int ptr = vg_console.current - vg_console.len; - if( ptr <= 0 ) - ptr += vg_list_size( vg_console.lines ); - ptr --; + int ptr = vg_console.current-1; + + int const fh = 14; ui_global_ctx.cursor[0] = 0; ui_global_ctx.cursor[1] = 0; - ui_global_ctx.cursor[3] = vg_console.len*8*vg_console.scale; + ui_global_ctx.cursor[3] = vg_list_size( vg_console.lines )*fh*vg_console.scale; ui_fill_x( &ui_global_ctx ); ui_new_node( &ui_global_ctx ); - { + { ui_fill_rect( &ui_global_ctx, ui_global_ctx.cursor, 0x77333333 ); - ui_global_ctx.cursor[3] = 8*vg_console.scale; + ui_global_ctx.cursor[3] = fh*vg_console.scale; ui_align_bottom( &ui_global_ctx ); for( int i = 0; i < vg_console.len; i ++ ) { - ui_text( &ui_global_ctx, vg_console.lines[ptr], vg_console.scale ); - ui_global_ctx.cursor[1] -= 8*vg_console.scale; - - ptr --; if( ptr < 0 ) ptr = vg_list_size( vg_console.lines )-1; + + ui_text( &ui_global_ctx, ui_global_ctx.cursor, vg_console.lines[ptr], vg_console.scale, 0 ); + ui_global_ctx.cursor[1] -= fh*vg_console.scale; + + ptr --; } } ui_end_down( &ui_global_ctx ); ui_global_ctx.cursor[1] += 2; - ui_global_ctx.cursor[3] = 8*vg_console.scale; + ui_global_ctx.cursor[3] = fh*vg_console.scale; ui_new_node( &ui_global_ctx ); { ui_fill_rect( &ui_global_ctx, ui_global_ctx.cursor, 0x77333333 ); - ui_text( &ui_global_ctx, vg_console.input, vg_console.scale ); + ui_text( &ui_global_ctx, ui_global_ctx.cursor, vg_console.input, vg_console.scale, 0 ); int start = VG_MIN( vg_console.cursor_pos, vg_console.cursor_user ), end = VG_MAX( vg_console.cursor_pos, vg_console.cursor_user ); - ui_global_ctx.cursor[0] = (start * ui_glyph_spacing_x * vg_console.scale) + 2; - ui_global_ctx.cursor[2] = (start == end? 0.2f: (float)(end-start)) * (float)ui_glyph_spacing_x * (float)vg_console.scale * 0.5f; + ui_global_ctx.cursor[0] = (start * UI_GLYPH_SPACING_X * vg_console.scale); + ui_global_ctx.cursor[2] = (start == end? 0.5f: (float)(end-start)) * (float)UI_GLYPH_SPACING_X * (float)vg_console.scale; ui_fill_rect( &ui_global_ctx, ui_global_ctx.cursor, 0x66ffffff ); } @@ -180,6 +180,14 @@ static int vg_console_list( int argc, char const *argv[] ) return 0; } +static int vg_console_chartest( int argc, char const *argv[] ) +{ + vg_info( "\"THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG\"\n" ); + vg_info( "'the quick brown fox jumps over the lazy dog'\n" ); + vg_info( ":;!@#$%^& 0123456789 +-*/=~ ()[]{}<>\n" ); + return 0; +} + static void vg_console_init(void) { vg_log_callback = vg_console_println; @@ -193,6 +201,11 @@ static void vg_console_init(void) .function = vg_console_list }); + vg_function_push( (struct vg_cmd){ + .name = "chartest", + .function = vg_console_chartest + }); + // Read and exec persistent commands FILE *fp = fopen( "cfg/auto.conf", "r" ); if( fp )