| 1074 | } |
| 1075 | |
| 1076 | void UI_apply_layout(UI_Context *ctx) { |
| 1077 | UI_assert(ctx != nullptr && "UI context *ctx is a null pointer!"); |
| 1078 | UI_assert(ctx->initialized && "UI context wasn't initialized!"); |
| 1079 | auto buffer = UI_get_current_frame_buffer(ctx); |
| 1080 | for (int i = 0; i < buffer->count; i++) { |
| 1081 | UI_Block* root = &buffer->data[i]; |
| 1082 | if (root->parent != nullptr) |
| 1083 | continue; |
| 1084 | for (Axis2 axis = (Axis2)0; axis < axis_count; axis = (Axis2)((int)axis + 1)) { |
| 1085 | UI_layout_solve_standalone_sizes(ctx, axis); |
| 1086 | UI_preorder_traversal(root, axis, UI_callback_solve_upwards_sizes); |
| 1087 | UI_postorder_traversal(root, axis, UI_callback_solve_downwards_sizes); |
| 1088 | UI_preorder_traversal (root, axis, UI_callback_solve_violations); |
| 1089 | UI_preorder_traversal (root, axis, UI_callback_set_cursors); |
| 1090 | UI_postorder_traversal(root, axis, UI_callback_finalize_custom_positions); |
| 1091 | UI_preorder_traversal (root, axis, UI_callback_finalize_auto_positions); |
| 1092 | UI_postorder_traversal(root, axis, UI_callback_finalize_custom_positions); |
| 1093 | } |
| 1094 | } |
| 1095 | UI_set_clip_rects(ctx); |
| 1096 | // if (ctx->popup) { |
| 1097 | // UI_preorder_traversal(ctx->popup, (Axis2)0, UI_callback_bring_to_front); |
| 1098 | // } |
| 1099 | } |
| 1100 | |
| 1101 | void UI_end_frame(UI_Context *ctx) { |
| 1102 | UI_assert(ctx != nullptr && "UI context *ctx is a null pointer!"); |
no test coverage detected