diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-06-17 11:12:54 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-06-17 11:12:54 -0400 |
| commit | 48f56a7e5db638fb3526277513b8f14cbe405398 (patch) | |
| tree | 36d3b013d704a35d0a0a9315df887f4857ed224e /tests | |
| parent | 66ebed74456f76277597b3b07f3e67cc45388ece (diff) | |
pke: expose colors for FontRender and pke_ui_box
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/pke-test-serialization.cpp | 62 |
1 files changed, 43 insertions, 19 deletions
diff --git a/tests/pke-test-serialization.cpp b/tests/pke-test-serialization.cpp index c24faca..7a9ec41 100644 --- a/tests/pke-test-serialization.cpp +++ b/tests/pke-test-serialization.cpp @@ -400,6 +400,8 @@ CharSpacingScale:1.000000 SurfaceAreaSize:250;250 SurfaceAreaPos:0;0 SurfaceAreaFlags:0x03 +ColorForeground:0.400000;0.900000;0.500000;0.800000 +ColorBackground:0.000000;0.000000;0.000000;0.000000 FontRender:00000000!00000001 ChildId:00000000!00000000 @@ -418,7 +420,7 @@ UUID:02020202-0202-0202-0202-020202020202 Flags:0x84 PosTopLeft:0.100000;0.100000 MaxSize:0.800000;0.800000 -Type:0x28 +Type:0x32 Layer:0x00 :PKFE:)VOGON"; @@ -459,7 +461,7 @@ int pke_test_serialization_003() { PKE_TEST_ASSERT(h->kvp_containers.next == 4, err_index); // FontRenderSettings PKE_TEST_ASSERT(h->kvp_containers[0].child_handles.next == 0, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 6, err_index); + PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 8, err_index); // FontRender PKE_TEST_ASSERT(h->kvp_containers[1].child_handles.next == 1, err_index); PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 3, err_index); @@ -473,7 +475,7 @@ int pke_test_serialization_003() { // 12 for (k = 0; k < h->kvp_containers.next; ++k) { for (i = 0; i < h->kvp_containers[k].arr.next; ++i) { - // 12 + (3 * (6 + 3 + 1 + 6)) + // 12 + (3 * (8 + 3 + 1 + 6)) kve = &h->kvp_containers[k].arr[i]; PKE_TEST_ASSERT(kve->key != nullptr, err_index); PKE_TEST_ASSERT(kve->val != nullptr, err_index); @@ -481,7 +483,7 @@ int pke_test_serialization_003() { } } - // 60 + // 66 PKE_TEST_ASSERT(strstr(test_003_str, s.c_str()) != nullptr, err_index); pke_serialize_teardown(h); @@ -512,7 +514,7 @@ int pke_test_deserialization_103() { PKE_TEST_ASSERT(h->kvp_containers.next == 4, err_index); // FontRenderSettings PKE_TEST_ASSERT(h->kvp_containers[0].child_handles.next == 0, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 6, err_index); + PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 8, err_index); // FontRender PKE_TEST_ASSERT(h->kvp_containers[1].child_handles.next == 1, err_index); PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 3, err_index); @@ -526,7 +528,7 @@ int pke_test_deserialization_103() { // 12 for (k = 0; k < h->kvp_containers.next; ++k) { for (i = 0; i < h->kvp_containers[k].arr.next; ++i) { - // 12 + (3 * (6 + 3 + 1 + 6)) + // 12 + (3 * (8 + 3 + 1 + 6)) kve = &h->kvp_containers[k].arr[i]; PKE_TEST_ASSERT(kve->key != nullptr, err_index); PKE_TEST_ASSERT(kve->val != nullptr, err_index); @@ -538,22 +540,26 @@ int pke_test_deserialization_103() { FontTypeIndex fti = FontTypeIndex{0}; FontType *fonts = FontType_GetFonts(fti); - // 60 + // 66 PKE_TEST_ASSERT(fti > FontTypeIndex{0}, err_index); PKE_TEST_ASSERT(fonts != nullptr, err_index); PKE_TEST_ASSERT(fonts->h_render > FontRenderIndex{0}, err_index); PKE_TEST_ASSERT(fonts->n_render > FontRenderIndex{0}, err_index); FontRender *fr = &fonts[0].renders[0]; - // 64 + // 70 PKE_TEST_ASSERT(fr->settings.char_scale == 1.f, err_index); PKE_TEST_ASSERT(fr->settings.line_height_scale == 1.f, err_index); PKE_TEST_ASSERT(fr->settings.char_spacing_scale == 1.f, err_index); PKE_TEST_ASSERT(fr->settings.surface_area_size == glm::ivec2(250,250), err_index); PKE_TEST_ASSERT(fr->settings.surface_area_pos == glm::ivec2(0,0), err_index); PKE_TEST_ASSERT(fr->settings.surface_area_type_flags == FONT_RENDER_SURFACE_AREA_TYPE_FLAGS_FLUID, err_index); + // auto equal_4 = glm::epsilonEqual(fr->settings.color_foreground, glm::vec4(0.4, 0.9, 0.5, 0.8), epsilon_4); + // PKE_TEST_ASSERT(equal_4 == bool_4, err_index); + PKE_TEST_ASSERT(fr->settings.color_foreground == glm::vec4(0.4, 0.9, 0.5, 0.8), err_index); + PKE_TEST_ASSERT(fr->settings.color_background == glm::vec4(0.0, 0.0, 0.0, 0.0), err_index); - // 70 + // 78 PKE_TEST_ASSERT(fr->uuid == uuid_n[1], err_index); PKE_TEST_ASSERT(fr->text.val != nullptr, err_index); PKE_TEST_ASSERT(fr->text.val[0] == 'a', err_index); @@ -562,6 +568,16 @@ int pke_test_deserialization_103() { PKE_TEST_ASSERT(fr->text.val[3] == 'f', err_index); PKE_TEST_ASSERT(fr->text.val[4] == '\0', err_index); + // 85 + pke_ui_box_count_T count; + pke_ui_box **boxes = pke_ui_get_root_boxes(&count); + pke_ui_box *box = boxes[0]; + PKE_TEST_ASSERT(count == 1, err_index) + PKE_TEST_ASSERT(box->internal.h_children == 0, err_index) + PKE_TEST_ASSERT(box->type == PKE_UI_BOX_TYPE_TEXT, err_index) + PKE_TEST_ASSERT(PK_HAS_FLAG(box->flags, PKE_UI_BOX_FLAG_POSITION_TYPE_DYNAMIC), err_index) + PKE_TEST_ASSERT(PK_HAS_FLAG(box->flags, PKE_UI_BOX_FLAG_VISIBILITY_INVISIBLE), err_index) + pke_deserialize_teardown(h); } catch (const std::exception &ex) { @@ -583,6 +599,8 @@ PosTopLeft:1.000000;1.000000 MaxSize:1278.000000;718.000000 Type:0x00 Layer:0x00 +ColorBorder:1.000000;0.000000;0.000000;1.000000 +ColorBackground:0.200000;0.300000;0.200000;0.500000 UIBox:00000000!00000001 UUID:01010101-0101-0101-0101-010101010101 @@ -592,6 +610,8 @@ PosTopLeft:0.100000;0.100000 MaxSize:0.800000;0.800000 Type:0x00 Layer:0x00 +ColorBorder:1.000000;0.000000;0.000000;1.000000 +ColorBackground:0.200000;0.300000;0.200000;0.500000 :PKFE:)VOGON"; int pke_test_serialization_004() { @@ -627,15 +647,15 @@ int pke_test_serialization_004() { PKE_TEST_ASSERT(h->kvp_containers.next == 2, err_index); // ui box PKE_TEST_ASSERT(h->kvp_containers[0].child_handles.next == 1, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 6, err_index); + PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 8, err_index); // ui box PKE_TEST_ASSERT(h->kvp_containers[1].child_handles.next == 0, err_index); - PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 7, err_index); + PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 9, err_index); // 8 for (k = 0; k < h->kvp_containers.next; ++k) { for (i = 0; i < h->kvp_containers[k].arr.next; ++i) { - // 8 + (3 * (7 + 6)) + // 8 + (3 * (9 + 8)) kve = &h->kvp_containers[k].arr[i]; PKE_TEST_ASSERT(kve->key != nullptr, err_index); PKE_TEST_ASSERT(kve->val != nullptr, err_index); @@ -643,7 +663,7 @@ int pke_test_serialization_004() { } } - // 47 + // 59 PKE_TEST_ASSERT(strstr(test_004_str, s.c_str()) != nullptr, err_index); pke_serialize_teardown(h); @@ -673,15 +693,15 @@ int pke_test_deserialization_104() { PKE_TEST_ASSERT(h->kvp_containers.next == 2, err_index); // ui box PKE_TEST_ASSERT(h->kvp_containers[0].child_handles.next == 1, err_index); - PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 6, err_index); + PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 8, err_index); // ui box PKE_TEST_ASSERT(h->kvp_containers[1].child_handles.next == 0, err_index); - PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 7, err_index); + PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 9, err_index); // 8 for (k = 0; k < h->kvp_containers.next; ++k) { for (i = 0; i < h->kvp_containers[k].arr.next; ++i) { - // 8 + (3 * (7 + 6)) + // 8 + (3 * (9 + 8)) kve = &h->kvp_containers[k].arr[i]; PKE_TEST_ASSERT(kve->key != nullptr, err_index); PKE_TEST_ASSERT(kve->val != nullptr, err_index); @@ -693,12 +713,12 @@ int pke_test_deserialization_104() { pke_ui_box_count_T box_count; pke_ui_box **root_boxes = pke_ui_get_root_boxes(&box_count); - // 47 + // 59 PKE_TEST_ASSERT(root_boxes != nullptr, err_index); PKE_TEST_ASSERT(box_count == 1, err_index); PKE_TEST_ASSERT(root_boxes[0] != nullptr, err_index); - // 50 + // 62 PKE_TEST_ASSERT(root_boxes[0]->uuid == uuid_n[2], err_index); PKE_TEST_ASSERT(PK_HAS_FLAG(root_boxes[0]->flags, PKE_UI_BOX_FLAG_POSITION_TYPE_STATIC), err_index); PKE_TEST_ASSERT(root_boxes[0]->pos_top_left == glm::vec2(1.f,1.f), err_index); @@ -709,9 +729,11 @@ int pke_test_deserialization_104() { PKE_TEST_ASSERT(root_boxes[0]->internal.h_children == 1, err_index); PKE_TEST_ASSERT(root_boxes[0]->internal.children != nullptr, err_index); PKE_TEST_ASSERT(root_boxes[0]->internal.children[0] != nullptr, err_index); + PKE_TEST_ASSERT(root_boxes[0]->color_border == glm::vec4(1.0,0.0,0.0,1.0), err_index); + PKE_TEST_ASSERT(root_boxes[0]->color_background == glm::vec4(0.2,0.3,0.2,0.5), err_index); pke_ui_box *box_c = root_boxes[0]->internal.children[0]; - // 60 + // 74 PKE_TEST_ASSERT(box_c->uuid == uuid_n[1], err_index); PKE_TEST_ASSERT(PK_HAS_FLAG(box_c->flags, PKE_UI_BOX_FLAG_POSITION_TYPE_DYNAMIC), err_index); PKE_TEST_ASSERT(box_c->pos_top_left == glm::vec2(0.1,0.1), err_index); @@ -721,6 +743,8 @@ int pke_test_deserialization_104() { PKE_TEST_ASSERT(box_c->internal.parent == root_boxes[0], err_index); PKE_TEST_ASSERT(box_c->internal.h_children == 0, err_index); PKE_TEST_ASSERT(box_c->internal.children == nullptr, err_index); + PKE_TEST_ASSERT(box_c->color_border == glm::vec4(1.0,0.0,0.0,1.0), err_index); + PKE_TEST_ASSERT(box_c->color_background == glm::vec4(0.2,0.3,0.2,0.5), err_index); pke_deserialize_teardown(h); |
