static tb_void_t g2_demo_render() { // render if (g_mode & G2_STYLE_MODE_FILL) { // init style g2_clear_style(g_painter); g2_mode(g_painter, G2_STYLE_MODE_FILL); g2_color(g_painter, G2_COLOR_RED); g2_shader(g_painter, g_bm? g_mhader[g_shaderi] : g_shader[g_shaderi]); // init matrix if (g_shaderi == 3) { g2_matrix_t mx; tb_size_t bw = g2_bitmap_width(g_bitmap); tb_size_t bh = g2_bitmap_height(g_bitmap); tb_size_t cw = g2_bitmap_width(g_surface); tb_size_t ch = g2_bitmap_height(g_surface); if (g_bm) { g2_matrix_init_translate(&mx, -g2_long_to_float(100), -g2_long_to_float(100)); // g2_matrix_rotate(&mx, g2_long_to_float(45)); g2_matrix_scale(&mx, g2_long_to_float(200) / bw, g2_long_to_float(200) / bh); g2_shader_matrix_set(g_mhader[g_shaderi], &mx); } else { g2_matrix_init_translate(&mx, 0, 0); // g2_matrix_rotate(&mx, g2_long_to_float(45)); g2_matrix_scale(&mx, g2_long_to_float(cw) / bw, g2_long_to_float(ch) / bh); g2_shader_matrix_set(g_shader[g_shaderi], &mx); } } // render g2_draw_path(g_painter, g_path); } if (g_mode & G2_STYLE_MODE_STOK) { // init style g2_clear_style(g_painter); g2_mode(g_painter, G2_STYLE_MODE_STOK); g2_color(g_painter, G2_COLOR_BLUE); g2_width(g_painter, g2_long_to_float(g_penw)); g2_cap(g_painter, g_cap[g_capi]); g2_join(g_painter, g_join[g_joini]); // render g2_draw_path(g_painter, g_path); } }
void OnTick() { g2_clear(); g2_color(128,0,0); g2_rect(G2_COLOR,10,10,800,600); g2_color(0,128,0); g2_rect(G2_COLOR,100,100,800,600); for(int i=0;i<100;i++) for(int j=0;j<100;j++) g2_text(i,j,"hello", 14); }