gfx2d sketch
This commit is contained in:
@@ -2,19 +2,37 @@
|
||||
#include "core/core_inc.c"
|
||||
#include "app/app.h"
|
||||
#include "app/app.c"
|
||||
// #include "debug.c"
|
||||
#include "ui2.c"
|
||||
#include "gfx2d/gfx2d.c"
|
||||
#include "ui.c"
|
||||
|
||||
gfx2d_t *gfx2d = NULL;
|
||||
void app_init(void) {
|
||||
tcx.temp = ma_push_arena(&tcx.perm, mib(1));
|
||||
gfx2d = ma_push_type(&tcx.perm, gfx2d_t);
|
||||
gfx2d->ma = ma_push_arena(&tcx.perm, mib(2));
|
||||
}
|
||||
|
||||
f64 delta_time;
|
||||
void app_update(app_event_t *events, i32 event_count) {
|
||||
if (event_count) delta_time = events[0].delta_time;
|
||||
draw_textf(v2f64(0,0), "delta time: %f", delta_time);
|
||||
|
||||
|
||||
for (i32 i = 0; i < event_count; i += 1) {
|
||||
ui_demo(events + i);
|
||||
// @todo: record render commands and replay
|
||||
// @todo: ignore render commands
|
||||
for (i32 i = 0; i < event_count - 1; i += 1) {
|
||||
ui_demo(gfx2d, events + i);
|
||||
gfx2d->cmds_len = 0;
|
||||
ma_set0(gfx2d->ma);
|
||||
}
|
||||
|
||||
{
|
||||
app_event_t *ev = &events[event_count - 1];
|
||||
|
||||
gfx2d_begin(gfx2d, ev);
|
||||
gfx2d_clear(gfx2d, white_color_global);
|
||||
ui_demo(gfx2d, ev);
|
||||
// gfx2d_textf(gfx2d, v2f64(0,0), black_color_global, "delta time: %f", ev->delta_time);
|
||||
gfx2d_end(gfx2d);
|
||||
}
|
||||
ma_set0(tcx.temp);
|
||||
|
||||
|
||||
#if 0
|
||||
ma_scratch_scope(temp) {
|
||||
@@ -32,5 +50,4 @@ void app_update(app_event_t *events, i32 event_count) {
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user