ui allocation scheme

This commit is contained in:
Krzosa Karol
2025-01-10 11:14:56 +01:00
parent 74a60e812d
commit 26d8c176a0
6 changed files with 108 additions and 46 deletions

View File

@@ -273,6 +273,7 @@ type_t type__app_frame_t = { type_kind_struct, s8_const_lit("app_frame_t"), size
{.name = s8_const_lit("next"), .type = &(type_t){type_kind_pointer, s8_const_lit("app_frame_t*"), sizeof(void *), .base = &type__app_frame_t}, .offset = offsetof(app_frame_t, next), .dont_serialize = 0},
{.name = s8_const_lit("delta"), .type = &type__f64, .offset = offsetof(app_frame_t, delta), .dont_serialize = 0},
{.name = s8_const_lit("dpr"), .type = &type__f32, .offset = offsetof(app_frame_t, dpr), .dont_serialize = 0},
{.name = s8_const_lit("frame"), .type = &type__u64, .offset = offsetof(app_frame_t, frame), .dont_serialize = 0},
{.name = s8_const_lit("window_size"), .type = &type__v2f32_t, .offset = offsetof(app_frame_t, window_size), .dont_serialize = 0},
{.name = s8_const_lit("mouse_pos"), .type = &type__v2f32_t, .offset = offsetof(app_frame_t, mouse_pos), .dont_serialize = 0},
{.name = s8_const_lit("event_count"), .type = &type__i32, .offset = offsetof(app_frame_t, event_count), .dont_serialize = 0},
@@ -280,5 +281,5 @@ type_t type__app_frame_t = { type_kind_struct, s8_const_lit("app_frame_t"), size
{.name = s8_const_lit("last_event"), .type = &(type_t){type_kind_pointer, s8_const_lit("app_event_t*"), sizeof(void *), .base = &type__app_event_t}, .offset = offsetof(app_frame_t, last_event), .dont_serialize = 0},
{.name = s8_const_lit("update"), .type = &type__f64, .offset = offsetof(app_frame_t, update), .dont_serialize = 0},
},
.count = 9,
.count = 10,
};

View File

@@ -110,6 +110,7 @@ struct app_frame_t {
app_frame_t* next;
f64 delta;
f32 dpr;
u64 frame;
v2f32_t window_size;
v2f32_t mouse_pos;
i32 event_count;

View File

@@ -179,6 +179,7 @@ void meta_app(ma_arena_t *arena) {
app_frame_t *next;
f64 delta;
f32 dpr;
u64 frame;
v2f32_t window_size;
v2f32_t mouse_pos;

View File

@@ -364,6 +364,7 @@ int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int n
frame.mouse_pos = w32_get_mouse_pos(w32_window_handle);
frame.delta = time_delta;
frame.update = time_update;
frame.frame = frame_counter;
b32 waited = w32_get_events(tcx.temp, &frame, wait_for_events);
if (waited) {