app_frame, ui layout, draw the list
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
#include "render/backup_font.c"
|
||||
#include "render/font.c"
|
||||
#include "render/render_opengl.c"
|
||||
// #include "gfx2d/gfx2d.c"
|
||||
// #include "gfx2d/gfx2d.c"dv
|
||||
|
||||
#include "ui.c"
|
||||
|
||||
@@ -32,8 +32,6 @@ gb globals_t *globals;
|
||||
|
||||
|
||||
fn void app_init(void) {
|
||||
ui_test_iterators();
|
||||
|
||||
ma_arena_t *perm = &tcx._perm;
|
||||
globals = ma_push_type(perm, globals_t);
|
||||
// globals->gfx = ma_push_type(perm, gfx_t);
|
||||
@@ -41,65 +39,53 @@ fn void app_init(void) {
|
||||
ui_init(perm);
|
||||
}
|
||||
|
||||
fn b32 app_update(app_event_list_t events) {
|
||||
fn b32 app_update(app_frame_t *frame) {
|
||||
ui_begin_frame();
|
||||
defer_block(ui_begin_build(), ui_end_build()) {
|
||||
defer_block(ui_push_expander("app_event_t"), ui_pop_parent()) {
|
||||
defer_block(ui_push_expander("mouse_wheel_delta: v3f64_t"), ui_pop_parent()) {
|
||||
ui_label("x: f64 = value");
|
||||
ui_label("y: f64 = value");
|
||||
ui_label("z: f64 = value");
|
||||
}
|
||||
ui_label("kind: app_event_kind_t = value");
|
||||
ui_label("ctrl: b8 = value");
|
||||
ui_label("shift: b8 = value");
|
||||
defer_block(ui_push_expander("pos: v2f64_t"), ui_pop_parent()) {
|
||||
defer_block(ui_push_expander("inner_pos: v2f64_t"), ui_pop_parent()) {
|
||||
defer_block(ui_push_list_container(), ui_pop_parent()) {
|
||||
if (ui_push_expander("app_event_t")) {
|
||||
if (ui_push_expander("mouse_wheel_delta: v3f64_t")) {
|
||||
ui_label("x: f64 = value");
|
||||
ui_label("y: f64 = value");
|
||||
ui_label("z: f64 = value");
|
||||
ui_pop_expander();
|
||||
}
|
||||
ui_label("y: f64 = value");
|
||||
defer_block(ui_push_expander("inner_pos: v2f64_t"), ui_pop_parent()) {
|
||||
ui_label("x: f64 = value");
|
||||
ui_label("kind: app_event_kind_t = value");
|
||||
ui_label("ctrl: b8 = value");
|
||||
ui_label("shift: b8 = value");
|
||||
if (ui_push_expander("pos: v2f64_t")) {
|
||||
if (ui_push_expander("inner_pos: v2f64_t")) {
|
||||
ui_label("x: f64 = value");
|
||||
ui_label("y: f64 = value");
|
||||
ui_pop_expander();
|
||||
}
|
||||
ui_label("y: f64 = value");
|
||||
if (ui_push_expander("inner_pos: v2f64_t")) {
|
||||
ui_label("x: f64 = value");
|
||||
ui_label("y: f64 = value");
|
||||
ui_pop_expander();
|
||||
}
|
||||
ui_pop_expander();
|
||||
}
|
||||
ui_label("alt: b8 = value");
|
||||
ui_label("meta: b8 = value");
|
||||
ui_pop_expander();
|
||||
}
|
||||
ui_label("alt: b8 = value");
|
||||
ui_label("meta: b8 = value");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for (app_event_t *ev = events.first; ev; ev = ev->next) {
|
||||
for (app_event_t *ev = frame->first_event; ev; ev = ev->next) {
|
||||
if (globals->event.kind == app_event_kind_null) {
|
||||
globals->event = *ev;
|
||||
}
|
||||
|
||||
#if 0
|
||||
// ui_struct()
|
||||
type_t *ti = type(app_event_t);
|
||||
|
||||
ui_push_list("▼ %S: struct", ti->name);
|
||||
for (type_member_t *tm = ti->members; tm < ti->members + ti->count; tm += 1) {
|
||||
if (tm->kind == type_kind_struct) {
|
||||
ui_list_struct(tm->type, ti_get_member_offset(tm, p)
|
||||
} else {
|
||||
ui_list_item("%-20S: %S = %S", tm->name, ti_serial_type(tcx.temp, tm->type), ti_serial_data(p, type));
|
||||
}
|
||||
}
|
||||
ui_pop_list();
|
||||
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
app_event_t *ev = events.last;
|
||||
rn_begin();
|
||||
rn_draw_string(&rn_state.main_font, v2f32(0,0), black_color_global, s8_lit("hello world!"));
|
||||
rn_end(v2f64_to_v2f32(ev->window_size), white_color_global);
|
||||
rn_begin();
|
||||
rn_draw_stringf(&rn_state.main_font, v2f32(0,0), black_color_global, "delta: %f update: %f", frame->delta, frame->update);
|
||||
|
||||
}
|
||||
ui_draw();
|
||||
rn_end(frame->window_size, white_color_global);
|
||||
|
||||
#if 0
|
||||
// These steps should be totally optional!!
|
||||
@@ -138,5 +124,5 @@ fn b32 app_update(app_event_list_t events) {
|
||||
#endif
|
||||
|
||||
ui_end_frame();
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user