From 69c810702d42d5ae002660776df743a777b57afc Mon Sep 17 00:00:00 2001 From: Patrick Jakobsen Date: Tue, 26 Sep 2023 10:41:49 +0200 Subject: [PATCH] Introduced GUI_Node_Reference wrapper type --- gui/gui.c | 205 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 113 insertions(+), 92 deletions(-) diff --git a/gui/gui.c b/gui/gui.c index cbfd33e..62911be 100644 --- a/gui/gui.c +++ b/gui/gui.c @@ -150,7 +150,21 @@ typedef struct GUI_Node { #define GUI_NODE_SIBLING(node) ((GUI_Node*)(node)->rdic_node.sibling) #define GUI_NODE_FIRST_CHILD(node) ((GUI_Node*)(node)->rdic_node.first_child) - +typedef union GUI_Node_Reference { + RDIC_Node_Reference rdic; + struct { + GUI_Node *node; + unsigned int generation; + }; +} GUI_Node_Reference; +#define gui_node_references_equal(n, m) rdic_node_references_equal((n).rdic,(m).rdic) +#if 0 +// NOTE(Zelaven): This was just for debugging with better debug messages. +int _gui_node_references_equal(GUI_Node_Reference n, GUI_Node_Reference m) +{ + return rdic_node_references_equal(n.rdic,m.rdic); +} +#endif typedef struct { GUI_Rectangle rectangle; @@ -169,7 +183,7 @@ struct GUI_Subtree { GUI_Subtree *next; GUI_Subtree *structural_parent; - RDIC_Node_Reference relative_to; + GUI_Node_Reference relative_to; int flat_offset_x; int flat_offset_y; int offset_relative_node_percentage_x; @@ -190,9 +204,9 @@ typedef struct { GUI_Subtree *last_subtree; GUI_Subtree *current_subtree; - RDIC_Node_Reference focused_node; - RDIC_Node_Reference hovered_node; - RDIC_Node_Reference top_node_under_cursor; + GUI_Node_Reference focused_node; + GUI_Node_Reference hovered_node; + GUI_Node_Reference top_node_under_cursor; int mouse_pressed; int mouse_down; int mouse_x; @@ -315,7 +329,7 @@ void gui_apply_input( } } - context->top_node_under_cursor.node = &top_node_under_cursor->rdic_node; + context->top_node_under_cursor.node = top_node_under_cursor; context->top_node_under_cursor.generation = top_node_under_cursor->rdic_node.generation; DEBUG("Top node under cursor: %.*s\n", @@ -324,17 +338,19 @@ void gui_apply_input( } -RDIC_Node_Reference gui_get_node( +GUI_Node_Reference gui_get_node( GUI_Context *context, - RDIC_Node_Reference last_reference, + GUI_Node_Reference last_reference, GUI_Layout_Direction direction, GUI_Style *style, GUI_Size size[static 2]) { int get_node_flags = 0; - RDIC_Node_Reference new_reference = - rdic_get_node(&context->current_subtree->rdic, last_reference, &get_node_flags); - GUI_Node *node = (GUI_Node*)new_reference.node; + GUI_Node_Reference new_reference = { + .rdic = rdic_get_node( + &context->current_subtree->rdic, last_reference.rdic, &get_node_flags), + }; + GUI_Node *node = new_reference.node; node->layout_direction = direction; node->style = style; node->semantic_size[GUI_AXIS2_X] = size[GUI_AXIS2_X]; @@ -372,9 +388,9 @@ RDIC_Node_Reference gui_get_node( // ref.node->dirty = true? // That is one option, specifying the dirty flag as a part of the API itself. // I think I like that option. -RDIC_Node_Reference gui_context_start_frame( +GUI_Node_Reference gui_context_start_frame( GUI_Context *context, - RDIC_Node_Reference last_root_reference, + GUI_Node_Reference last_root_reference, int width, int height, GUI_Layout_Direction layout_direction, GUI_Style *style) @@ -393,9 +409,13 @@ RDIC_Node_Reference gui_context_start_frame( context->last_subtree = &background_subtree; context->current_subtree = &background_subtree; - RDIC_Node_Reference new_root_reference = rdic_context_start_frame( - &background_subtree.rdic, - last_root_reference); + GUI_Node_Reference new_root_reference = { + .rdic = rdic_context_start_frame( + &background_subtree.rdic, last_root_reference.rdic) + }; + //RDIC_Node_Reference new_root_reference = rdic_context_start_frame( + // &background_subtree.rdic, + // last_root_reference); GUI_Node *root = (GUI_Node*)new_root_reference.node; root->dirty = false; if(!gui_node_references_equal(last_root_reference, new_root_reference)) { @@ -424,14 +444,14 @@ void gui_context_finish_frame( context->node_freelist = context->first_subtree->rdic.node_freelist; } -RDIC_Node_Reference gui_push_subtree( +GUI_Node_Reference gui_push_subtree( GUI_Context *context, GUI_Subtree *subtree, - RDIC_Node_Reference last_root_reference, + GUI_Node_Reference last_root_reference, GUI_Layout_Direction layout_direction, GUI_Style *style, GUI_Size size[static 2], - RDIC_Node_Reference relative_to) + GUI_Node_Reference relative_to) { context->node_freelist = context->current_subtree->rdic.node_freelist; subtree->rdic.node_freelist = context->node_freelist; @@ -444,9 +464,10 @@ RDIC_Node_Reference gui_push_subtree( context->current_subtree = subtree; subtree->relative_to = relative_to; - RDIC_Node_Reference new_root_reference = rdic_context_start_frame( - &subtree->rdic, - last_root_reference); + GUI_Node_Reference new_root_reference = { + .rdic = rdic_context_start_frame( + &subtree->rdic, last_root_reference.rdic) + }; GUI_Node *root = (GUI_Node*)new_root_reference.node; root->dirty = false; if(!gui_node_references_equal(last_root_reference, new_root_reference)) { @@ -476,9 +497,9 @@ void gui_pop_subtree( void gui_push_parent( GUI_Context *context, - RDIC_Node_Reference parent) + GUI_Node_Reference parent) { - rdic_push_parent(&context->current_subtree->rdic, parent); + rdic_push_parent(&context->current_subtree->rdic, parent.rdic); } void gui_pop_parent( @@ -679,16 +700,16 @@ void gui_generate_draw_commands( -RDIC_Node_Reference gui_layout( +GUI_Node_Reference gui_layout( GUI_Context *context, - RDIC_Node_Reference last_reference, + GUI_Node_Reference last_reference, GUI_Layout_Direction direction, GUI_Style *style, GUI_Size size[static 2]) { - RDIC_Node_Reference new_reference = gui_get_node( + GUI_Node_Reference new_reference = gui_get_node( context, last_reference, direction, style, size); - GUI_Node *node = (GUI_Node*)new_reference.node; + GUI_Node *node = new_reference.node; node->text_string = (GUI_String){0}; node->debug_string = GUI_STRING("gui_layout"); return new_reference; @@ -698,15 +719,15 @@ RDIC_Node_Reference gui_layout( // --- -RDIC_Node_Reference gui_dumb_block( +GUI_Node_Reference gui_dumb_block( GUI_Context *context, - RDIC_Node_Reference last_reference, + GUI_Node_Reference last_reference, GUI_Style *style, GUI_Size size[static 2]) { - RDIC_Node_Reference new_reference = gui_get_node( + GUI_Node_Reference new_reference = gui_get_node( context, last_reference, GUI_LAYOUT_NONE, style, size); - GUI_Node *node = (GUI_Node*)new_reference.node; + GUI_Node *node = new_reference.node; node->text_string = (GUI_String){0}; node->debug_string = GUI_STRING("gui_dumb_block"); return new_reference; @@ -716,14 +737,14 @@ RDIC_Node_Reference gui_dumb_block( #define ENABLE_DEBUG 0 bool gui_dumb_button( GUI_Context *context, - RDIC_Node_Reference *last_reference, + GUI_Node_Reference *last_reference, GUI_String text, GUI_Style *style, GUI_Size size[static 2]) { - RDIC_Node_Reference new_reference = gui_get_node( + GUI_Node_Reference new_reference = gui_get_node( context, *last_reference, GUI_LAYOUT_NONE, style, size); - GUI_Node *node = (GUI_Node*)new_reference.node; + GUI_Node *node = new_reference.node; node->debug_string = text; node->text_string = text; @@ -763,14 +784,14 @@ bool gui_dumb_button( #define ENABLE_DEBUG 0 bool gui_slider( GUI_Context *context, - RDIC_Node_Reference *last_reference, - RDIC_Node_Reference *inner_box_reference, + GUI_Node_Reference *last_reference, + GUI_Node_Reference *inner_box_reference, float *value, GUI_Style *background_style, GUI_Style *bar_style, GUI_Size size[static 2]) { - RDIC_Node_Reference new_reference = gui_get_node( + GUI_Node_Reference new_reference = gui_get_node( context, *last_reference, GUI_LAYOUT_NONE, background_style, size); GUI_Node *node = (GUI_Node*)new_reference.node; node->debug_string = GUI_STRING("gui_slider"); @@ -778,7 +799,7 @@ bool gui_slider( // NOTE(Zelaven): We need a handle to this node, but we set its values later. gui_push_parent(context, new_reference); - RDIC_Node_Reference new_inner_reference = gui_get_node( + GUI_Node_Reference new_inner_reference = gui_get_node( context, *inner_box_reference, GUI_LAYOUT_NONE, bar_style, size); bool value_changed = false; @@ -886,7 +907,7 @@ void test_gui( {GUI_SIZERULE_PIXELS, 24, 100}}; static GUI_Style other_dumb_button_style = {24, 42, 88, 0x0000ffff,0,0}; - static RDIC_Node_Reference root = {0}; + static GUI_Node_Reference root = {0}; root = gui_context_start_frame( context, root, full_gui_rectangle.x1-full_gui_rectangle.x0, @@ -894,7 +915,7 @@ void test_gui( GUI_LAYOUT_HORIZONTAL, &root_style); - static RDIC_Node_Reference dumb_button = {0}; + static GUI_Node_Reference dumb_button = {0}; if(my_bool) if(gui_dumb_button( context, @@ -913,7 +934,7 @@ void test_gui( my_bool = false; ((GUI_Node*)root.node)->dirty = true; } - static RDIC_Node_Reference dumb_button2 = {0}; + static GUI_Node_Reference dumb_button2 = {0}; if(gui_dumb_button( context, &dumb_button2, @@ -938,7 +959,7 @@ void test_gui( static GUI_Size layout_size[2] = { {GUI_SIZERULE_PIXELS, 400, 100}, {GUI_SIZERULE_PIXELS, 400, 100}}; - static RDIC_Node_Reference layout = {0}; + static GUI_Node_Reference layout = {0}; layout = gui_layout( context, layout, GUI_LAYOUT_VERTICAL, &layout_style, layout_size); gui_push_parent(context, layout); @@ -949,25 +970,25 @@ void test_gui( static GUI_Style inner_block_2_style = {200, 253, 235, 0,0,0}; static GUI_Style inner_block_3_style = {235, 253, 200, 0,0,0}; static GUI_Style inner_block_4_style = {0 , 0, 0, 0,0,0}; - static RDIC_Node_Reference dumb_block2 = {0}; + static GUI_Node_Reference dumb_block2 = {0}; dumb_block2 = gui_dumb_block( context, dumb_block2, &inner_block_2_style, dumb_button_size); - static RDIC_Node_Reference dumb_block3 = {0}; + static GUI_Node_Reference dumb_block3 = {0}; dumb_block3 = gui_dumb_block( context, dumb_block3, &inner_block_3_style, dumb_button_size); - static RDIC_Node_Reference dumb_block4 = {0}; + static GUI_Node_Reference dumb_block4 = {0}; dumb_block4 = gui_dumb_block( context, dumb_block4, &inner_block_4_style, dumb_button_size); - static RDIC_Node_Reference dumb_button3 = {0}; + static GUI_Node_Reference dumb_button3 = {0}; if(gui_dumb_button( context, &dumb_button3, @@ -984,7 +1005,7 @@ void test_gui( static GUI_Size dumb_block5_size[2] = { {GUI_SIZERULE_PERCENTOFPARENT, 42, 100}, {GUI_SIZERULE_PERCENTOFPARENT, 24, 100}}; - static RDIC_Node_Reference dumb_block5 = {0}; + static GUI_Node_Reference dumb_block5 = {0}; dumb_block5 = gui_dumb_block( context, dumb_block5, @@ -998,8 +1019,8 @@ void test_gui( static GUI_Size slider_size[2] = { {GUI_SIZERULE_PIXELS, 100, 100}, {GUI_SIZERULE_PIXELS, 40, 100}}; - static RDIC_Node_Reference slider = {0}; - static RDIC_Node_Reference slider_inner = {0}; + static GUI_Node_Reference slider = {0}; + static GUI_Node_Reference slider_inner = {0}; static float slider_value = 0.25f; //slider_bar.blue = 255 * slider_value; //slider_value += 0.01f; @@ -1025,7 +1046,7 @@ void test_gui( static GUI_Size block_after_layout_size[2] = { {GUI_SIZERULE_PIXELS, 50, 100}, {GUI_SIZERULE_PIXELS, 50, 100}}; - static RDIC_Node_Reference dumb_block_after_layout = {0}; + static GUI_Node_Reference dumb_block_after_layout = {0}; dumb_block_after_layout = gui_dumb_block( context, dumb_block_after_layout, @@ -1038,7 +1059,7 @@ void test_gui( {GUI_SIZERULE_PIXELS, 100, 100}, }; my_style.border_thickness = border_thickness; - static RDIC_Node_Reference new_style_gui_dumb_block = {0}; + static GUI_Node_Reference new_style_gui_dumb_block = {0}; new_style_gui_dumb_block = gui_dumb_block( context, new_style_gui_dumb_block, @@ -1071,7 +1092,7 @@ void test_gui__calculator( {GUI_SIZERULE_PERCENTOFPARENT, 100, 100}, {GUI_SIZERULE_PERCENTOFPARENT, 25, 100}}; - static RDIC_Node_Reference root = {0}; + static GUI_Node_Reference root = {0}; root = gui_context_start_frame( context, root, //full_gui_rectangle.x1-full_gui_rectangle.x0, @@ -1081,8 +1102,8 @@ void test_gui__calculator( &root_style); #if 1 - static RDIC_Node_Reference rows[4] = {0}; - static RDIC_Node_Reference buttons[4][4] = {0}; + static GUI_Node_Reference rows[4] = {0}; + static GUI_Node_Reference buttons[4][4] = {0}; GUI_String button_labels[4][4] = { {GUI_STRING("1"), GUI_STRING("2"), GUI_STRING("3"), GUI_STRING("+")}, {GUI_STRING("4"), GUI_STRING("5"), GUI_STRING("6"), GUI_STRING("-")}, @@ -1108,11 +1129,11 @@ void test_gui__calculator( gui_pop_parent(context); } #else - static RDIC_Node_Reference row1 = {0}; + static GUI_Node_Reference row1 = {0}; row1 = gui_layout2( context, row1, GUI_LAYOUT_HORIZONTAL, &row_style, row_size); gui_push_parent(context, row1); - static RDIC_Node_Reference row1_buttons[4] = {0}; + static GUI_Node_Reference row1_buttons[4] = {0}; char *row1_button_labels[4] = {"1", "2", "3", "+"}; for(size_t i = 0; i < ARRAYLENGTH(row1_buttons); i++) { @@ -1157,7 +1178,7 @@ void test_gui__scrollbars( {GUI_SIZERULE_PERCENTOFPARENT, 50, 100}, {GUI_SIZERULE_PERCENTOFPARENT, 100, 100}}; - static RDIC_Node_Reference root = {0}; + static GUI_Node_Reference root = {0}; root = gui_context_start_frame( context, root, full_gui_rectangle.x1-full_gui_rectangle.x0, @@ -1167,23 +1188,23 @@ void test_gui__scrollbars( &root_style); - static RDIC_Node_Reference top = {0}; - static RDIC_Node_Reference middle = {0}; - static RDIC_Node_Reference bottom = {0}; + static GUI_Node_Reference top = {0}; + static GUI_Node_Reference middle = {0}; + static GUI_Node_Reference bottom = {0}; top = gui_dumb_block(context, top, &outer_style, top_bottom_size); middle = gui_layout( context, middle, GUI_LAYOUT_HORIZONTAL, &outer_style, middle_size); gui_push_parent(context, middle); { - static RDIC_Node_Reference left = {0}; - static RDIC_Node_Reference center = {0}; - static RDIC_Node_Reference right = {0}; + static GUI_Node_Reference left = {0}; + static GUI_Node_Reference center = {0}; + static GUI_Node_Reference right = {0}; left = gui_dumb_block(context, left, &outer_style, side_size); center = gui_dumb_block(context, center, &outer_style, center_size); gui_push_parent(context, center); { - static RDIC_Node_Reference scrollbox_layout = {0}; + static GUI_Node_Reference scrollbox_layout = {0}; static GUI_Size full_size[2] = { {GUI_SIZERULE_PERCENTOFPARENT, 100, 100}, {GUI_SIZERULE_PERCENTOFPARENT, 100, 100}}; @@ -1191,8 +1212,8 @@ void test_gui__scrollbars( context, scrollbox_layout, GUI_LAYOUT_HORIZONTAL, &outer_style, full_size); gui_push_parent(context, scrollbox_layout); { - static RDIC_Node_Reference scrollregion_layout = {0}; - static RDIC_Node_Reference scrollbar_layout = {0}; + static GUI_Node_Reference scrollregion_layout = {0}; + static GUI_Node_Reference scrollbar_layout = {0}; static GUI_Size scrollregion_size[2] = { {GUI_SIZERULE_PERCENTOFPARENT, 90, 100}, {GUI_SIZERULE_PERCENTOFPARENT, 100, 100}}; @@ -1203,7 +1224,7 @@ void test_gui__scrollbars( context, scrollregion_layout, GUI_LAYOUT_VERTICAL, &outer_style, scrollregion_size); gui_push_parent(context, scrollregion_layout); { - static RDIC_Node_Reference elements[6] = {0}; + static GUI_Node_Reference elements[6] = {0}; for(size_t i = 0; i < ARRAYLENGTH(elements); i++) { elements[i] = gui_dumb_block( @@ -1231,9 +1252,9 @@ void test_gui__scrollbars( bar_upper_spacer_size[GUI_AXIS2_Y].value = spacer_upper; bar_lower_spacer_size[GUI_AXIS2_Y].value = spacer_lower; - static RDIC_Node_Reference scrollbar_upper_spacer = {0}; - static RDIC_Node_Reference scrollbar_knob = {0}; - static RDIC_Node_Reference scrollbar_lower_spacer = {0}; + static GUI_Node_Reference scrollbar_upper_spacer = {0}; + static GUI_Node_Reference scrollbar_knob = {0}; + static GUI_Node_Reference scrollbar_lower_spacer = {0}; scrollbar_upper_spacer = gui_dumb_block( context, scrollbar_upper_spacer, &outer_style, bar_upper_spacer_size); scrollbar_knob = gui_dumb_block( @@ -1267,7 +1288,7 @@ void test_gui__draw_command_using_sliders( //static float border_thickness = 0; static GUI_Style root_style = {42, 24, 88, 0,0,0}; - static RDIC_Node_Reference root = {0}; + static GUI_Node_Reference root = {0}; root = gui_context_start_frame( context, root, full_gui_rectangle.x1-full_gui_rectangle.x0, @@ -1278,7 +1299,7 @@ void test_gui__draw_command_using_sliders( static GUI_Size layout_size[2] = { {GUI_SIZERULE_PERCENTOFPARENT, 100, 100}, {GUI_SIZERULE_PERCENTOFPARENT, 50, 100}}; - static RDIC_Node_Reference layout = {0}; + static GUI_Node_Reference layout = {0}; layout = gui_layout( context, layout, GUI_LAYOUT_VERTICAL, &root_style, layout_size); gui_push_parent(context, layout); @@ -1288,8 +1309,8 @@ void test_gui__draw_command_using_sliders( static GUI_Size slider_size[2] = { {GUI_SIZERULE_PIXELS, 200, 100}, {GUI_SIZERULE_PIXELS, 40, 100}}; - static RDIC_Node_Reference slider = {0}; - static RDIC_Node_Reference slider_inner = {0}; + static GUI_Node_Reference slider = {0}; + static GUI_Node_Reference slider_inner = {0}; static GUI_Style button_style = {200, 0, 0, 0,5,0}; static GUI_Size button_size[2] = { @@ -1310,7 +1331,7 @@ void test_gui__draw_command_using_sliders( {GUI_SIZERULE_PERCENTOFPARENT, 100, 100}, {GUI_SIZERULE_PIXELS, 40, 100}}; - static RDIC_Node_Reference row1_layout = {0}; + static GUI_Node_Reference row1_layout = {0}; row1_layout = gui_layout( context, row1_layout, GUI_LAYOUT_HORIZONTAL, &root_style, row_layout_size); #if 1 @@ -1327,11 +1348,11 @@ void test_gui__draw_command_using_sliders( &slider_value, &slider_background, &slider_bar, slider_size); border_thickness = 51.*slider_value; - static RDIC_Node_Reference spacer1 = {0}; + static GUI_Node_Reference spacer1 = {0}; spacer1 = gui_dumb_block( context, spacer1, &button_spacer_style, button_spacer_size); - static RDIC_Node_Reference button_thickness_down = {0}; + static GUI_Node_Reference button_thickness_down = {0}; if(gui_dumb_button(context, &button_thickness_down, GUI_STRING("-"), &button_style, button_size)) { @@ -1339,11 +1360,11 @@ void test_gui__draw_command_using_sliders( printf("-\n"); } - static RDIC_Node_Reference spacer2 = {0}; + static GUI_Node_Reference spacer2 = {0}; spacer2 = gui_dumb_block( context, spacer2, &button_spacer_style, button_spacer_size); - static RDIC_Node_Reference button_thickness_up = {0}; + static GUI_Node_Reference button_thickness_up = {0}; if(gui_dumb_button(context, &button_thickness_up, GUI_STRING("+"), &button_style, button_size)) { @@ -1354,12 +1375,12 @@ void test_gui__draw_command_using_sliders( gui_pop_parent(context); #endif - static RDIC_Node_Reference slider_spacer = {0}; + static GUI_Node_Reference slider_spacer = {0}; slider_spacer = gui_dumb_block( context, slider_spacer, &slider_spacer_style, slider_spacer_size); - static RDIC_Node_Reference slider2 = {0}; - static RDIC_Node_Reference slider2_inner = {0}; + static GUI_Node_Reference slider2 = {0}; + static GUI_Node_Reference slider2_inner = {0}; static float slider2_value = 0.25f; slider2_value = ((float)roundedness) / 100.; gui_slider(context, &slider2, &slider2_inner, @@ -1393,7 +1414,7 @@ void test_gui__subtree( {GUI_SIZERULE_PIXELS, 200, 100}, {GUI_SIZERULE_PIXELS, 600, 100}}; - static RDIC_Node_Reference root = {0}; + static GUI_Node_Reference root = {0}; root = gui_context_start_frame( context, root, full_gui_rectangle.x1-full_gui_rectangle.x0, @@ -1402,11 +1423,11 @@ void test_gui__subtree( &root_style); - static RDIC_Node_Reference top = {0}; - static RDIC_Node_Reference middle = {0}; - static RDIC_Node_Reference bottom = {0}; + static GUI_Node_Reference top = {0}; + static GUI_Node_Reference middle = {0}; + static GUI_Node_Reference bottom = {0}; - static RDIC_Node_Reference slider = {0}; + static GUI_Node_Reference slider = {0}; static float slider_value = 0.25f; top = gui_layout( context, top, GUI_LAYOUT_HORIZONTAL, &outer_style, top_bottom_size); @@ -1417,8 +1438,8 @@ void test_gui__subtree( static GUI_Size slider_size[2] = { {GUI_SIZERULE_PIXELS, 200, 100}, {GUI_SIZERULE_PIXELS, 40, 100}}; - //static RDIC_Node_Reference slider = {0}; - static RDIC_Node_Reference slider_inner = {0}; + //static GUI_Node_Reference slider = {0}; + static GUI_Node_Reference slider_inner = {0}; // NOTE(Zelaven): This line is not good because it causes jankyness when // using the slider, and the slider behaves properly without it. // NOTE(Zelaven): This line is actually necessary if the value is writable @@ -1431,7 +1452,7 @@ void test_gui__subtree( middle = gui_dumb_block(context, middle, &outer_style, middle_size); static GUI_Subtree middle_subtree = {0}; - static RDIC_Node_Reference middle_subtree_root = {0}; + static GUI_Node_Reference middle_subtree_root = {0}; middle_subtree_root = gui_push_subtree( context, &middle_subtree, middle_subtree_root, GUI_LAYOUT_VERTICAL, &element_style, test_size, middle); @@ -1453,7 +1474,7 @@ void test_gui__subtree( .width = 10, .height = 10, }; - static RDIC_Node_Reference inner_top = {0}; + static GUI_Node_Reference inner_top = {0}; inner_top = gui_dumb_block(context, inner_top, &outer_style, element_size); ((GUI_Node*)inner_top.node)->image = &test_image; } gui_pop_subtree(context);