Skip to content

Commit ba45f9b

Browse files
committed
[C libgui] Dispatch window resized event to all elements upon reception
1 parent 5c97bf7 commit ba45f9b

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

programs/subprojects/libgui/libgui.c

+11
Original file line numberDiff line numberDiff line change
@@ -366,10 +366,21 @@ static void _handle_amc_messages(gui_application_t* app, bool should_block, bool
366366
continue;
367367
}
368368
else if (event == AWM_WINDOW_RESIZED) {
369+
/*
369370
got_resize_msg = true;
370371
awm_window_resized_msg_t* m = (awm_window_resized_msg_t*)msg->body;
371372
newest_resize_msg = *m;
372373
continue;
374+
*/
375+
//awm_window_resized_msg_t* m = (awm_window_resized_msg_t*)&newest_resize_msg;
376+
awm_window_resized_msg_t* m = (awm_window_resized_msg_t*)msg->body;
377+
window->size = m->new_size;
378+
//printf("%ld handling resize message %d %d\n", getpid(), m->new_size.width, m->new_size.height);
379+
for (uint32_t i = 0; i < window->all_gui_elems->size; i++) {
380+
gui_elem_t* elem = array_lookup(window->all_gui_elems, i);
381+
elem->base._priv_window_resized_cb(elem, window->size);
382+
}
383+
continue;
373384
}
374385
else if (event == AWM_WINDOW_RESIZE_ENDED) {
375386
continue;

0 commit comments

Comments
 (0)