From 9d81c808f93467705eb15afce07986787d56c8ab Mon Sep 17 00:00:00 2001 From: Harrison Lambeth Date: Wed, 8 Jan 2025 01:35:51 -0700 Subject: [PATCH 01/37] seems like this fully works --- clay.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/clay.h b/clay.h index e997dd2..08d06a2 100644 --- a/clay.h +++ b/clay.h @@ -182,6 +182,9 @@ typedef struct Clay_Context Clay_Context; typedef struct { uintptr_t nextAllocation; + Clay_Context* context; + int32_t maxElementCount; + int32_t maxMeasureTextCacheWordCount; size_t capacity; char *memory; } Clay_Arena; From 7af2d128c974b3a900554189114d9dc7b9b7b2ce Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Thu, 9 Jan 2025 12:11:08 +1300 Subject: [PATCH 02/37] Update for c99 compat --- clay.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/clay.h b/clay.h index 08d06a2..abe1ccd 100644 --- a/clay.h +++ b/clay.h @@ -182,9 +182,6 @@ typedef struct Clay_Context Clay_Context; typedef struct { uintptr_t nextAllocation; - Clay_Context* context; - int32_t maxElementCount; - int32_t maxMeasureTextCacheWordCount; size_t capacity; char *memory; } Clay_Arena; @@ -561,7 +558,7 @@ Clay_ScrollElementConfig * Clay__StoreScrollElementConfig(Clay_ScrollElementConf Clay_BorderElementConfig * Clay__StoreBorderElementConfig(Clay_BorderElementConfig config); Clay_ElementId Clay__HashString(Clay_String key, uint32_t offset, uint32_t seed); void Clay__OpenTextElement(Clay_String text, Clay_TextElementConfig *textConfig); -uint32_t Clay__GetParentElementId(void); +uint32_t Clay__GetParentElementId(); extern Clay_Color Clay__debugViewHighlightColor; extern uint32_t Clay__debugViewWidth; From 16ed00b184bc36be7c84db26698a9c31a1f7a348 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Thu, 9 Jan 2025 12:21:20 +1300 Subject: [PATCH 03/37] Expose getter for max element counts --- clay.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clay.h b/clay.h index abe1ccd..10213c0 100644 --- a/clay.h +++ b/clay.h @@ -3488,7 +3488,7 @@ void Clay_SetMaxElementCount(int32_t maxElementCount) { context->maxElementCount = maxElementCount; } else { Clay__defaultMaxElementCount = maxElementCount; // TODO: Fix this - Clay__defaultMaxMeasureTextWordCacheCount = maxElementCount * 2; + Clay__defaultMaxMeasureTextWordCacheCount = maxElementCount * 2; } } From 3effdbbfd4b1291139817b618b08d1f35afab4da Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Thu, 9 Jan 2025 12:25:00 +1300 Subject: [PATCH 04/37] update generated wasm --- .../build/clay/index.wasm | Bin 169799 -> 169842 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/clay-official-website/build/clay/index.wasm b/examples/clay-official-website/build/clay/index.wasm index 34351388ce04eee0e03ef670770d280208667cec..6125d2afc13b113b09c1592cd077c352370e3e5c 100755 GIT binary patch delta 226 zcmX@Uj_cDpt_>fUIcEOi3}a&8-ak2uOM0^~%LGZ5O&pAzlb6d*;^I_b)nJ;!T%g1? z*;#H+G^aZ+1CxUSvj&q1NFu_UmqCG9fkBgr!JJ7zf!R?ZOM$^rAWMUZ!Hfwg<0t{* zb7X<#K`I%|m{dTzEgTuF7(fCbLmU~i%$Q6j>&vSHEe)5~2a@gb+5DUuOaf+1a~KtX z3?4h($ delta 202 zcmeygj_de3t_>fUIo|!`3}a&8-ak2uOL}sc72jq>mL^G-b`D04$;)LYaWN>cYA{V< zE>Pl}>@2s(fWe)YfyqIES%b+0BoU#+;?2vTz^uS%#-swISR5I%%z#orc?(AdD+Y$i zQS$1H43nGW^?~Fj`D|eZ4JH9Ira6oXKn9N@g94MI!sLtlgePY!if|}^cv%Vzlj9YZ q1C_HYt`KD~V=~}jq-IS`z@FN From cc6dfccc7ef43ea3e4412f11c80bc49227c0619a Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Thu, 9 Jan 2025 12:31:53 +1300 Subject: [PATCH 05/37] update odin bindings and revert some accidental change s --- bindings/odin/clay-odin/linux/clay.a | Bin 196148 -> 196196 bytes bindings/odin/clay-odin/macos-arm64/clay.a | Bin 251976 -> 252016 bytes bindings/odin/clay-odin/macos/clay.a | Bin 166144 -> 166192 bytes bindings/odin/clay-odin/wasm/clay.o | Bin 278900 -> 279029 bytes bindings/odin/clay-odin/windows/clay.lib | Bin 189024 -> 189072 bytes clay.h | 2 +- 6 files changed, 1 insertion(+), 1 deletion(-) diff --git a/bindings/odin/clay-odin/linux/clay.a b/bindings/odin/clay-odin/linux/clay.a index 02437d899937e81975486a48dac7bdcb84341a00..79b1ae3b7f72c00ee5bd2484f742440071202b02 100644 GIT binary patch delta 21300 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 SU~z&nAymE9_@OA(?Ee9>!F}TZ delta 21236 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

~D{uDx+BH1 zx{FbVR#HDmsZiJGZqz7Sj73{NS3Y(XJYMepwW>$ES8?t^)fi;VP`7N>^b2rL84h&| zPZY!45W}HvnM+}AgyB%P%&lc^tl?0%%pGTLlHpLd%+<{T_lDt6w_kwk1

#ClzBk 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

8Osfl|HxwErzY;tE`4vp7 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 delta 39043 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 igS;=YJ1KOQ}K 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 LlbjK}-0*(@QWMIr diff --git a/bindings/odin/clay-odin/wasm/clay.o b/bindings/odin/clay-odin/wasm/clay.o index bf4f8db00c57986c10c7ce8f51b16d4e3e6f1d81..fbbf500c5b4f48ae7f9b529b5c0f6301176c036f 100644 GIT binary patch delta 11500 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 delta 11386 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 diff --git a/bindings/odin/clay-odin/windows/clay.lib b/bindings/odin/clay-odin/windows/clay.lib index 45e430edc1168d744e11f3faf1e0e6dd09d2c705..a6c2484fe8cdd888e067ce11808997a00b0eab00 100644 GIT binary patch delta 22491 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 diff --git a/clay.h b/clay.h index 10213c0..4dcb35a 100644 --- a/clay.h +++ b/clay.h @@ -558,7 +558,7 @@ Clay_ScrollElementConfig * Clay__StoreScrollElementConfig(Clay_ScrollElementConf Clay_BorderElementConfig * Clay__StoreBorderElementConfig(Clay_BorderElementConfig config); Clay_ElementId Clay__HashString(Clay_String key, uint32_t offset, uint32_t seed); void Clay__OpenTextElement(Clay_String text, Clay_TextElementConfig *textConfig); -uint32_t Clay__GetParentElementId(); +uint32_t Clay__GetParentElementId(void); extern Clay_Color Clay__debugViewHighlightColor; extern uint32_t Clay__debugViewWidth; From dfc9db43bc0b900158dcae48318e6baf47d5723f Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Thu, 9 Jan 2025 15:17:21 +1300 Subject: [PATCH 06/37] initial attempt --- clay.h | 54 +++- .../CMakeLists.txt | 35 +++ .../main.c | 256 ++++++++++++++++++ .../resources/Roboto-Regular.ttf | Bin 0 -> 168260 bytes .../resources/RobotoMono-Medium.ttf | Bin 0 -> 87172 bytes .../resources/profile-picture.png | Bin 0 -> 103413 bytes 6 files changed, 339 insertions(+), 6 deletions(-) create mode 100644 examples/multi-context-raylib-sidebar-scrolling-container/CMakeLists.txt create mode 100644 examples/multi-context-raylib-sidebar-scrolling-container/main.c create mode 100644 examples/multi-context-raylib-sidebar-scrolling-container/resources/Roboto-Regular.ttf create mode 100644 examples/multi-context-raylib-sidebar-scrolling-container/resources/RobotoMono-Medium.ttf create mode 100644 examples/multi-context-raylib-sidebar-scrolling-container/resources/profile-picture.png diff --git a/clay.h b/clay.h index 4dcb35a..1b649d8 100644 --- a/clay.h +++ b/clay.h @@ -60,7 +60,7 @@ #define CLAY_BORDER(...) Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .borderElementConfig = Clay__StoreBorderElementConfig(CLAY__CONFIG_WRAPPER(Clay_BorderElementConfig, __VA_ARGS__)) }, CLAY__ELEMENT_CONFIG_TYPE_BORDER_CONTAINER) -#define CLAY_BORDER_OUTSIDE(...) Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .borderElementConfig = Clay__StoreBorderElementConfig(CLAY__INIT(Clay_BorderElementConfig) { .left = __VA_ARGS__, .right = __VA_ARGS__, .top = __VA_ARGS__, .bottom = __VA_ARGS__ }) }, CLAY__ELEMENT_CONFIG_TYPE_BORDER_CONTAINER) +#define CLAY_BORDER_OUTSIDE(...) { .left = __VA_ARGS__, .right = __VA_ARGS__, .top = __VA_ARGS__, .bottom = __VA_ARGS__ } #define CLAY_BORDER_OUTSIDE_RADIUS(width, color, radius) Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .borderElementConfig = Clay__StoreBorderElementConfig(CLAY__INIT(Clay_BorderElementConfig) { .left = { width, color }, .right = { width, color }, .top = { width, color }, .bottom = { width, color }, .cornerRadius = CLAY_CORNER_RADIUS(radius) })}, CLAY__ELEMENT_CONFIG_TYPE_BORDER_CONTAINER) @@ -126,7 +126,7 @@ static uint8_t CLAY__ELEMENT_DEFINITION_LATCH; */ #define CLAY(...) \ for (\ - CLAY__ELEMENT_DEFINITION_LATCH = (Clay__OpenElement(), __VA_ARGS__, Clay__ElementPostConfiguration(), 0); \ + CLAY__ELEMENT_DEFINITION_LATCH = (Clay__OpenElement(CLAY__INIT(Clay_ElementDeclaration) __VA_ARGS__)), Clay__ElementPostConfiguration(), 0); \ CLAY__ELEMENT_DEFINITION_LATCH < 1; \ ++CLAY__ELEMENT_DEFINITION_LATCH, Clay__CloseElement() \ ) @@ -489,6 +489,17 @@ typedef struct { Clay_PointerDataInteractionState state; } Clay_PointerData; +typedef struct { + Clay_ElementId id; + Clay_LayoutConfig layoutConfig; + Clay_RectangleElementConfig rectangle; + Clay_ImageElementConfig image; + Clay_FloatingElementConfig floating; + Clay_CustomElementConfig custom; + Clay_ScrollElementConfig scroll; + Clay_BorderElementConfig border; +} Clay_ElementDeclaration; + typedef CLAY_PACKED_ENUM { CLAY_ERROR_TYPE_TEXT_MEASUREMENT_FUNCTION_NOT_PROVIDED, CLAY_ERROR_TYPE_ARENA_CAPACITY_EXCEEDED, @@ -542,7 +553,7 @@ void Clay_SetMaxMeasureTextCacheWordCount(int32_t maxMeasureTextCacheWordCount); void Clay_ResetMeasureTextCache(void); // Internal API functions required by macros -void Clay__OpenElement(void); +void Clay__OpenElement(Clay_ElementDeclaration config); void Clay__CloseElement(void); Clay_LayoutConfig * Clay__StoreLayoutConfig(Clay_LayoutConfig config); void Clay__ElementPostConfiguration(void); @@ -1436,7 +1447,16 @@ void Clay__CloseElement(void) { } } -void Clay__OpenElement(void) { +bool Clay__MemCmp(char *a, char *b, int length) { + for (int i = 0; i < length; i++) { + if (a[i] != b[i]) { + return false; + } + } + return true; +} + +void Clay__OpenElement(Clay_ElementDeclaration declaration) { Clay_Context* context = Clay_GetCurrentContext(); if (context->layoutElements.length == context->layoutElements.capacity - 1 || context->booleanWarnings.maxElementsExceeded) { context->booleanWarnings.maxElementsExceeded = true; @@ -1450,6 +1470,28 @@ void Clay__OpenElement(void) { } else { Clay__int32_tArray_Set(&context->layoutElementClipElementIds, context->layoutElements.length - 1, 0); } + Clay__GetOpenLayoutElement()->layoutConfig = Clay__StoreLayoutConfig(declaration.layoutConfig); + if (declaration.id.id != 0) { + Clay__AttachId(declaration.id); + } + if (!Clay__MemCmp((char *)(&declaration.rectangle), (char *)(&CLAY__RECTANGLE_ELEMENT_CONFIG_DEFAULT), sizeof(Clay_RectangleElementConfig))) { + Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .rectangleElementConfig = Clay__StoreRectangleElementConfig(declaration.rectangle) }, CLAY__ELEMENT_CONFIG_TYPE_RECTANGLE); + } + if (!Clay__MemCmp((char *)(&declaration.image), (char *)(&CLAY__IMAGE_ELEMENT_CONFIG_DEFAULT), sizeof(Clay_ImageElementConfig))) { + Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .imageElementConfig = Clay__StoreImageElementConfig(declaration.image) }, CLAY__ELEMENT_CONFIG_TYPE_IMAGE); + } + if (!Clay__MemCmp((char *)(&declaration.floating), (char *)(&CLAY__FLOATING_ELEMENT_CONFIG_DEFAULT), sizeof(Clay_FloatingElementConfig))) { + Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .floatingElementConfig = Clay__StoreFloatingElementConfig(declaration.floating) }, CLAY__ELEMENT_CONFIG_TYPE_FLOATING_CONTAINER); + } + if (!Clay__MemCmp((char *)(&declaration.custom), (char *)(&CLAY__CUSTOM_ELEMENT_CONFIG_DEFAULT), sizeof(Clay_CustomElementConfig))) { + Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .customElementConfig = Clay__StoreCustomElementConfig(declaration.custom) }, CLAY__ELEMENT_CONFIG_TYPE_CUSTOM); + } + if (!Clay__MemCmp((char *)(&declaration.scroll), (char *)(&CLAY__SCROLL_ELEMENT_CONFIG_DEFAULT), sizeof(Clay_ScrollElementConfig))) { + Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .scrollElementConfig = Clay__StoreScrollElementConfig(declaration.scroll) }, CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER); + } + if (!Clay__MemCmp((char *)(&declaration.border), (char *)(&CLAY__BORDER_ELEMENT_CONFIG_DEFAULT), sizeof(Clay_BorderElementConfig))) { + Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .borderElementConfig = Clay__StoreBorderElementConfig(declaration.border) }, CLAY__ELEMENT_CONFIG_TYPE_BORDER_CONTAINER); + } } void Clay__OpenTextElement(Clay_String text, Clay_TextElementConfig *textConfig) { @@ -1461,7 +1503,7 @@ void Clay__OpenTextElement(Clay_String text, Clay_TextElementConfig *textConfig) Clay_LayoutElement *parentElement = Clay__GetOpenLayoutElement(); parentElement->childrenOrTextContent.children.length++; - Clay__OpenElement(); + Clay__OpenElement((Clay_ElementDeclaration){ }); Clay_LayoutElement * openLayoutElement = Clay__GetOpenLayoutElement(); Clay__int32_tArray_Add(&context->layoutElementChildrenBuffer, context->layoutElements.length - 1); Clay__MeasureTextCacheItem *textMeasured = Clay__MeasureTextCached(&text, textConfig); @@ -3355,7 +3397,7 @@ Clay_RenderCommandArray Clay_EndLayout(void) { Clay__CloseElement(); if (context->debugModeEnabled) { context->warningsEnabled = false; - Clay__RenderDebugView(); +// Clay__RenderDebugView(); context->warningsEnabled = true; } if (context->booleanWarnings.maxElementsExceeded) { diff --git a/examples/multi-context-raylib-sidebar-scrolling-container/CMakeLists.txt b/examples/multi-context-raylib-sidebar-scrolling-container/CMakeLists.txt new file mode 100644 index 0000000..17ecc4e --- /dev/null +++ b/examples/multi-context-raylib-sidebar-scrolling-container/CMakeLists.txt @@ -0,0 +1,35 @@ +cmake_minimum_required(VERSION 3.27) +project(clay_examples_multi_context_raylib_sidebar_scrolling_container C) +set(CMAKE_C_STANDARD 99) + +# Adding Raylib +include(FetchContent) +set(FETCHCONTENT_QUIET FALSE) +set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) # don't build the supplied examples +set(BUILD_GAMES OFF CACHE BOOL "" FORCE) # don't build the supplied example games + +FetchContent_Declare( + raylib + GIT_REPOSITORY "https://github.com/raysan5/raylib.git" + GIT_TAG "master" + GIT_PROGRESS TRUE + GIT_SHALLOW TRUE +) + +FetchContent_MakeAvailable(raylib) + +add_executable(clay_examples_multi_context_raylib_sidebar_scrolling_container main.c) + +target_compile_options(clay_examples_multi_context_raylib_sidebar_scrolling_container PUBLIC) +target_include_directories(clay_examples_multi_context_raylib_sidebar_scrolling_container PUBLIC .) + +target_link_libraries(clay_examples_multi_context_raylib_sidebar_scrolling_container PUBLIC raylib) + +set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Werror -Wno-error=missing-braces -DCLAY_DEBUG") +set(CMAKE_CXX_FLAGS_RELEASE "-O3") + +add_custom_command( + TARGET clay_examples_multi_context_raylib_sidebar_scrolling_container POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory + ${CMAKE_CURRENT_SOURCE_DIR}/resources + ${CMAKE_CURRENT_BINARY_DIR}/resources) diff --git a/examples/multi-context-raylib-sidebar-scrolling-container/main.c b/examples/multi-context-raylib-sidebar-scrolling-container/main.c new file mode 100644 index 0000000..251add1 --- /dev/null +++ b/examples/multi-context-raylib-sidebar-scrolling-container/main.c @@ -0,0 +1,256 @@ +#define CLAY_IMPLEMENTATION +#include "../../clay.h" +#include "../../renderers/raylib/clay_renderer_raylib.c" + +const uint32_t FONT_ID_BODY_24 = 0; +const uint32_t FONT_ID_BODY_16 = 1; +#define COLOR_ORANGE (Clay_Color) {225, 138, 50, 255} +#define COLOR_BLUE (Clay_Color) {111, 173, 162, 255} + +Texture2D profilePicture; +#define RAYLIB_VECTOR2_TO_CLAY_VECTOR2(vector) (Clay_Vector2) { .x = vector.x, .y = vector.y } + +Clay_String profileText = CLAY_STRING("Profile Page one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen"); +Clay_TextElementConfig headerTextConfig = (Clay_TextElementConfig) { .fontId = 1, .fontSize = 16, .textColor = {0,0,0,255} }; + +void HandleHeaderButtonInteraction(Clay_ElementId elementId, Clay_PointerData pointerData, intptr_t userData) { + if (pointerData.state == CLAY_POINTER_DATA_PRESSED_THIS_FRAME) { + // Do some click handling + } +} + +// Examples of re-usable "Components" +void RenderHeaderButton(Clay_String text) { + CLAY({ + .layoutConfig = {.padding = {16, 8}}, + .rectangle = {.color = Clay_Hovered() ? COLOR_BLUE : COLOR_ORANGE} + }) { +// Clay_OnHover(HandleHeaderButtonInteraction, 1)) { + CLAY_TEXT(text, CLAY_TEXT_CONFIG(headerTextConfig)); + } +} + +Clay_LayoutConfig dropdownTextItemLayout = (Clay_LayoutConfig) { .padding = {8, 4} }; +Clay_RectangleElementConfig dropdownRectangleConfig = (Clay_RectangleElementConfig) { .color = {180, 180, 180, 255} }; +Clay_TextElementConfig dropdownTextElementConfig = (Clay_TextElementConfig) { .fontSize = 24, .textColor = {255,255,255,255} }; + +void RenderDropdownTextItem(int index) { + CLAY({ Clay_GetElementIdWithIndex(CLAY_STRING("ScrollContainerItem"), index), .layoutConfig = dropdownTextItemLayout, .rectangle = dropdownRectangleConfig }) { + CLAY_TEXT(CLAY_STRING("I'm a text field in a scroll container."), &dropdownTextElementConfig); + } +} + +Clay_RenderCommandArray CreateLayout() { + Clay_BeginLayout(); + CLAY({ .id = Clay_GetElementId(CLAY_STRING("OuterContainer")), .layoutConfig = { .sizing = { .width = CLAY_SIZING_GROW(), .height = CLAY_SIZING_GROW() }, .padding = { 16, 16 }, .childGap = 16 }, .rectangle = { .color = {200, 200, 200, 255} } }) { + CLAY({ .id = Clay_GetElementId(CLAY_STRING("SideBar")), .layoutConfig = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_GROW() }, .padding = {16, 16}, .childGap = 16 }, .rectangle = { .color = {150, 150, 255, 255} }}) { + CLAY({ .id = Clay_GetElementId(CLAY_STRING("ProfilePictureOuter")), .layoutConfig = { .sizing = { .width = CLAY_SIZING_GROW() }, .padding = { 8, 8 }, .childGap = 8, .childAlignment = { .y = CLAY_ALIGN_Y_CENTER } }, .rectangle = { .color = {130, 130, 255, 255} }}) { + CLAY({ .id = Clay_GetElementId(CLAY_STRING("ProfilePicture")), .layoutConfig = { .sizing = { .width = CLAY_SIZING_FIXED(60), .height = CLAY_SIZING_FIXED(60) } }, .image = { .imageData = &profilePicture, .sourceDimensions = {60, 60} }}) {} + CLAY_TEXT(profileText, CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {0, 0, 0, 255} })); + } + CLAY({ .id = Clay_GetElementId(CLAY_STRING("SidebarBlob1")), .layoutConfig = { .sizing = { .width = CLAY_SIZING_GROW(), .height = CLAY_SIZING_FIXED(50) }}, .rectangle = { .color = {110, 110, 255, 255} }}) {} + CLAY({ .id = Clay_GetElementId(CLAY_STRING("SidebarBlob2")), .layoutConfig = { .sizing = { .width = CLAY_SIZING_GROW(), .height = CLAY_SIZING_FIXED(50) }}, .rectangle = { .color = {110, 110, 255, 255} }}) {} + CLAY({ .id = Clay_GetElementId(CLAY_STRING("SidebarBlob3")), .layoutConfig = { .sizing = { .width = CLAY_SIZING_GROW(), .height = CLAY_SIZING_FIXED(50) }}, .rectangle = { .color = {110, 110, 255, 255} }}) {} + CLAY({ .id = Clay_GetElementId(CLAY_STRING("SidebarBlob4")), .layoutConfig = { .sizing = { .width = CLAY_SIZING_GROW(), .height = CLAY_SIZING_FIXED(50) }}, .rectangle = { .color = {110, 110, 255, 255} }}) {} + } + + CLAY({ .id = Clay_GetElementId(CLAY_STRING("RightPanel")), .layoutConfig = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_GROW(), .height = CLAY_SIZING_GROW() }, .childGap = 16 }}) { + CLAY({ .id = Clay_GetElementId(CLAY_STRING("HeaderBar")), .layoutConfig = { .sizing = { .width = CLAY_SIZING_GROW() }, .childAlignment = { .x = CLAY_ALIGN_X_RIGHT }, .padding = {8, 8}, .childGap = 8 }, .rectangle = { .color = {180, 180, 180, 255} }}) { + RenderHeaderButton(CLAY_STRING("Header Item 1")); + RenderHeaderButton(CLAY_STRING("Header Item 2")); + RenderHeaderButton(CLAY_STRING("Header Item 3")); + } + CLAY({ + .id = Clay_GetElementId(CLAY_STRING("MainContent")), + .scroll = { .vertical = true }, + .layoutConfig = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .padding = {16, 16}, .childGap = 16, .sizing = { CLAY_SIZING_GROW() } }, + .rectangle = { .color = {200, 200, 255, 255} } + }){ + CLAY({ + .id = Clay_GetElementId(CLAY_STRING("FloatingContainer")), + .layoutConfig = { .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_FIXED(300) }, .padding = { 16, 16 }}, + .floating = { .zIndex = 1, .attachment = { CLAY_ATTACH_POINT_CENTER_TOP, CLAY_ATTACH_POINT_CENTER_TOP }, .offset = {0, -16} }, + .border = CLAY_BORDER_OUTSIDE({ .color = {80, 80, 80, 255}, .width = 2 }), + .rectangle = { .color = {140,80, 200, 200 } } + }) { + CLAY_TEXT(CLAY_STRING("I'm an inline floating container."), CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {255,255,255,255} })); + } + + CLAY_TEXT(CLAY_STRING("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt."), + CLAY_TEXT_CONFIG({ .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = {0,0,0,255} })); + + CLAY({ .id = Clay_GetElementId(CLAY_STRING("Photos2")), .layoutConfig = { .childGap = 16, .padding = { 16, 16 }}, .rectangle = { .color = {180, 180, 220, 255} }}) { + CLAY({ .id = Clay_GetElementId(CLAY_STRING("Picture4")), .layoutConfig = { .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }}, .image = { .imageData = &profilePicture, .sourceDimensions = {120, 120} }}) {} + CLAY({ .id = Clay_GetElementId(CLAY_STRING("Picture5")), .layoutConfig = { .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }}, .image = { .imageData = &profilePicture, .sourceDimensions = {120, 120} }}) {} + CLAY({ .id = Clay_GetElementId(CLAY_STRING("Picture6")), .layoutConfig = { .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }}, .image = { .imageData = &profilePicture, .sourceDimensions = {120, 120} }}) {} + } + + CLAY_TEXT(CLAY_STRING("Faucibus purus in massa tempor nec. Nec ullamcorper sit amet risus nullam eget felis eget nunc. Diam vulputate ut pharetra sit amet aliquam id diam. Lacus suspendisse faucibus interdum posuere lorem. A diam sollicitudin tempor id. Amet massa vitae tortor condimentum lacinia. Aliquet nibh praesent tristique magna."), + CLAY_TEXT_CONFIG({ .fontSize = 24, .lineHeight = 60, .textColor = {0,0,0,255} })); + + CLAY_TEXT(CLAY_STRING("Suspendisse in est ante in nibh. Amet venenatis urna cursus eget nunc scelerisque viverra. Elementum sagittis vitae et leo duis ut diam quam nulla. Enim nulla aliquet porttitor lacus. Pellentesque habitant morbi tristique senectus et. Facilisi nullam vehicula ipsum a arcu cursus vitae.\nSem fringilla ut morbi tincidunt. Euismod quis viverra nibh cras pulvinar mattis nunc sed. Velit sed ullamcorper morbi tincidunt ornare massa. Varius quam quisque id diam vel quam. Nulla pellentesque dignissim enim sit amet venenatis. Enim lobortis scelerisque fermentum dui faucibus in. Pretium viverra suspendisse potenti nullam ac tortor vitae. Lectus vestibulum mattis ullamcorper velit sed. Eget mauris pharetra et ultrices neque ornare aenean euismod elementum. Habitant morbi tristique senectus et. Integer vitae justo eget magna fermentum iaculis eu. Semper quis lectus nulla at volutpat diam. Enim praesent elementum facilisis leo. Massa vitae tortor condimentum lacinia quis vel."), + CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {0,0,0,255} })); + + CLAY({ .id = Clay_GetElementId(CLAY_STRING("Photos")), .layoutConfig = { .sizing = { .width = CLAY_SIZING_GROW() }, .childAlignment = { .x = CLAY_ALIGN_X_CENTER, .y = CLAY_ALIGN_Y_CENTER }, .childGap = 16, .padding = {16, 16} }, .rectangle = { .color = {180, 180, 220, 255} }}) { + CLAY({ .id = Clay_GetElementId(CLAY_STRING("Picture2")), .layoutConfig = { .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }}, .image = { .imageData = &profilePicture, .sourceDimensions = {120, 120} }}) {} + CLAY({ .id = Clay_GetElementId(CLAY_STRING("Picture1")), .layoutConfig = { .childAlignment = { .x = CLAY_ALIGN_X_CENTER }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .padding = {8, 8} }, .rectangle = { .color = {170, 170, 220, 255} }}) { + CLAY({ .id = Clay_GetElementId(CLAY_STRING("ProfilePicture2")), .layoutConfig = { .sizing = { .width = CLAY_SIZING_FIXED(60), .height = CLAY_SIZING_FIXED(60) }}, .image = { .imageData = &profilePicture, .sourceDimensions = {60, 60} }}) {} + CLAY_TEXT(CLAY_STRING("Image caption below"), CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {0,0,0,255} })); + } + CLAY({ .id = Clay_GetElementId(CLAY_STRING("Picture3")), .layoutConfig = { .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }}, .image = { .imageData = &profilePicture, .sourceDimensions = {120, 120} }}) {} + } + + CLAY_TEXT(CLAY_STRING("Amet cursus sit amet dictum sit amet justo donec. Et malesuada fames ac turpis egestas maecenas. A lacus vestibulum sed arcu non odio euismod lacinia. Gravida neque convallis a cras. Dui nunc mattis enim ut tellus elementum sagittis vitae et. Orci sagittis eu volutpat odio facilisis mauris. Neque gravida in fermentum et sollicitudin ac orci. Ultrices dui sapien eget mi proin sed libero. Euismod quis viverra nibh cras pulvinar mattis. Diam volutpat commodo sed egestas egestas. In fermentum posuere urna nec tincidunt praesent semper. Integer eget aliquet nibh praesent tristique magna.\nId cursus metus aliquam eleifend mi in. Sed pulvinar proin gravida hendrerit lectus a. Etiam tempor orci eu lobortis elementum nibh tellus. Nullam vehicula ipsum a arcu cursus vitae. Elit scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Condimentum lacinia quis vel eros donec ac odio. Mattis pellentesque id nibh tortor id aliquet lectus. Turpis egestas integer eget aliquet nibh praesent tristique. Porttitor massa id neque aliquam vestibulum morbi. Mauris commodo quis imperdiet massa tincidunt nunc pulvinar sapien et. Nunc scelerisque viverra mauris in aliquam sem fringilla. Suspendisse ultrices gravida dictum fusce ut placerat orci nulla.\nLacus laoreet non curabitur gravida arcu ac tortor dignissim. Urna nec tincidunt praesent semper feugiat nibh sed pulvinar. Tristique senectus et netus et malesuada fames ac. Nunc aliquet bibendum enim facilisis gravida. Egestas maecenas pharetra convallis posuere morbi leo urna molestie. Sapien nec sagittis aliquam malesuada bibendum arcu vitae elementum curabitur. Ac turpis egestas maecenas pharetra convallis posuere morbi leo urna. Viverra vitae congue eu consequat. Aliquet enim tortor at auctor urna. Ornare massa eget egestas purus viverra accumsan in nisl nisi. Elit pellentesque habitant morbi tristique senectus et netus et malesuada.\nSuspendisse ultrices gravida dictum fusce ut placerat orci nulla pellentesque. Lobortis feugiat vivamus at augue eget arcu. Vitae justo eget magna fermentum iaculis eu. Gravida rutrum quisque non tellus orci. Ipsum faucibus vitae aliquet nec. Nullam non nisi est sit amet. Nunc consequat interdum varius sit amet mattis vulputate enim. Sem fringilla ut morbi tincidunt augue interdum. Vitae purus faucibus ornare suspendisse. Massa tincidunt nunc pulvinar sapien et. Fringilla ut morbi tincidunt augue interdum velit euismod in. Donec massa sapien faucibus et. Est placerat in egestas erat imperdiet. Gravida rutrum quisque non tellus. Morbi non arcu risus quis varius quam quisque id diam. Habitant morbi tristique senectus et netus et malesuada fames ac. Eget lorem dolor sed viverra.\nOrnare massa eget egestas purus viverra. Varius vel pharetra vel turpis nunc eget lorem. Consectetur purus ut faucibus pulvinar elementum. Placerat in egestas erat imperdiet sed euismod nisi. Interdum velit euismod in pellentesque massa placerat duis ultricies lacus. Aliquam nulla facilisi cras fermentum odio eu. Est pellentesque elit ullamcorper dignissim cras tincidunt. Nunc sed id semper risus in hendrerit gravida rutrum. A pellentesque sit amet porttitor eget dolor morbi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames. Nisl nunc mi ipsum faucibus vitae aliquet nec ullamcorper. Sed id semper risus in hendrerit gravida. Tincidunt praesent semper feugiat nibh. Aliquet lectus proin nibh nisl condimentum id venenatis a. Enim sit amet venenatis urna cursus eget. In egestas erat imperdiet sed euismod nisi porta lorem mollis. Lacinia quis vel eros donec ac odio tempor orci. Donec pretium vulputate sapien nec sagittis aliquam malesuada bibendum arcu. Erat pellentesque adipiscing commodo elit at.\nEgestas sed sed risus pretium quam vulputate. Vitae congue mauris rhoncus aenean vel elit scelerisque mauris pellentesque. Aliquam malesuada bibendum arcu vitae elementum. Congue mauris rhoncus aenean vel elit scelerisque mauris. Pellentesque dignissim enim sit amet venenatis urna cursus. Et malesuada fames ac turpis egestas sed tempus urna. Vel fringilla est ullamcorper eget nulla facilisi etiam dignissim. Nibh cras pulvinar mattis nunc sed blandit libero. Fringilla est ullamcorper eget nulla facilisi etiam dignissim. Aenean euismod elementum nisi quis eleifend quam adipiscing vitae proin. Mauris pharetra et ultrices neque ornare aenean euismod elementum. Ornare quam viverra orci sagittis eu. Odio ut sem nulla pharetra diam sit amet nisl suscipit. Ornare lectus sit amet est. Ullamcorper sit amet risus nullam eget. Tincidunt lobortis feugiat vivamus at augue eget arcu dictum.\nUrna nec tincidunt praesent semper feugiat nibh. Ut venenatis tellus in metus vulputate eu scelerisque felis. Cursus risus at ultrices mi tempus. In pellentesque massa placerat duis ultricies lacus sed turpis. Platea dictumst quisque sagittis purus. Cras adipiscing enim eu turpis egestas. Egestas sed tempus urna et pharetra pharetra. Netus et malesuada fames ac turpis egestas integer eget aliquet. Ac turpis egestas sed tempus. Sed lectus vestibulum mattis ullamcorper velit sed. Ante metus dictum at tempor commodo ullamcorper a. Augue neque gravida in fermentum et sollicitudin ac. Praesent semper feugiat nibh sed pulvinar proin gravida. Metus aliquam eleifend mi in nulla posuere sollicitudin aliquam ultrices. Neque gravida in fermentum et sollicitudin ac orci phasellus egestas.\nRidiculus mus mauris vitae ultricies. Morbi quis commodo odio aenean. Duis ultricies lacus sed turpis. Non pulvinar neque laoreet suspendisse interdum consectetur. Scelerisque eleifend donec pretium vulputate sapien nec sagittis aliquam. Volutpat est velit egestas dui id ornare arcu odio ut. Viverra tellus in hac habitasse platea dictumst vestibulum rhoncus est. Vestibulum lectus mauris ultrices eros. Sed blandit libero volutpat sed cras ornare. Id leo in vitae turpis massa sed elementum tempus. Gravida dictum fusce ut placerat orci nulla pellentesque. Pretium quam vulputate dignissim suspendisse in. Nisl suscipit adipiscing bibendum est ultricies integer quis auctor. Risus viverra adipiscing at in tellus. Turpis nunc eget lorem dolor sed viverra ipsum. Senectus et netus et malesuada fames ac. Habitasse platea dictumst vestibulum rhoncus est. Nunc sed id semper risus in hendrerit gravida. Felis eget velit aliquet sagittis id. Eget felis eget nunc lobortis.\nMaecenas pharetra convallis posuere morbi leo. Maecenas volutpat blandit aliquam etiam. A condimentum vitae sapien pellentesque habitant morbi tristique senectus et. Pulvinar mattis nunc sed blandit libero volutpat sed. Feugiat in ante metus dictum at tempor commodo ullamcorper. Vel pharetra vel turpis nunc eget lorem dolor. Est placerat in egestas erat imperdiet sed euismod. Quisque non tellus orci ac auctor augue mauris augue. Placerat vestibulum lectus mauris ultrices eros in cursus turpis. Enim nunc faucibus a pellentesque sit. Adipiscing vitae proin sagittis nisl. Iaculis at erat pellentesque adipiscing commodo elit at imperdiet. Aliquam sem fringilla ut morbi.\nArcu odio ut sem nulla pharetra diam sit amet nisl. Non diam phasellus vestibulum lorem sed. At erat pellentesque adipiscing commodo elit at. Lacus luctus accumsan tortor posuere ac ut consequat. Et malesuada fames ac turpis egestas integer. Tristique magna sit amet purus. A condimentum vitae sapien pellentesque habitant. Quis varius quam quisque id diam vel quam. Est ullamcorper eget nulla facilisi etiam dignissim diam quis. Augue interdum velit euismod in pellentesque massa. Elit scelerisque mauris pellentesque pulvinar pellentesque habitant. Vulputate eu scelerisque felis imperdiet. Nibh tellus molestie nunc non blandit massa. Velit euismod in pellentesque massa placerat. Sed cras ornare arcu dui. Ut sem viverra aliquet eget sit. Eu lobortis elementum nibh tellus molestie nunc non. Blandit libero volutpat sed cras ornare arcu dui vivamus.\nSit amet aliquam id diam maecenas. Amet risus nullam eget felis eget nunc lobortis mattis aliquam. Magna sit amet purus gravida. Egestas purus viverra accumsan in nisl nisi. Leo duis ut diam quam. Ante metus dictum at tempor commodo ullamcorper. Ac turpis egestas integer eget. Fames ac turpis egestas integer eget aliquet nibh. Sem integer vitae justo eget magna fermentum. Semper auctor neque vitae tempus quam pellentesque nec nam aliquam. Vestibulum mattis ullamcorper velit sed. Consectetur adipiscing elit duis tristique sollicitudin nibh. Massa id neque aliquam vestibulum morbi blandit cursus risus.\nCursus sit amet dictum sit amet justo donec enim diam. Egestas erat imperdiet sed euismod. Nullam vehicula ipsum a arcu cursus vitae congue mauris. Habitasse platea dictumst vestibulum rhoncus est pellentesque elit. Duis ultricies lacus sed turpis tincidunt id aliquet risus feugiat. Faucibus ornare suspendisse sed nisi lacus sed viverra. Pretium fusce id velit ut tortor pretium viverra. Fermentum odio eu feugiat pretium nibh ipsum consequat nisl vel. Senectus et netus et malesuada. Tellus pellentesque eu tincidunt tortor aliquam. Aenean sed adipiscing diam donec adipiscing tristique risus nec feugiat. Quis vel eros donec ac odio. Id interdum velit laoreet id donec ultrices tincidunt.\nMassa id neque aliquam vestibulum morbi blandit cursus risus at. Enim tortor at auctor urna nunc id cursus metus. Lorem ipsum dolor sit amet consectetur. At quis risus sed vulputate odio. Facilisis mauris sit amet massa vitae tortor condimentum lacinia quis. Et malesuada fames ac turpis egestas maecenas. Bibendum arcu vitae elementum curabitur vitae nunc sed velit dignissim. Viverra orci sagittis eu volutpat odio facilisis mauris. Adipiscing bibendum est ultricies integer quis auctor elit sed. Neque viverra justo nec ultrices dui sapien. Elementum nibh tellus molestie nunc non blandit massa enim. Euismod elementum nisi quis eleifend quam adipiscing vitae proin sagittis. Faucibus ornare suspendisse sed nisi. Quis viverra nibh cras pulvinar mattis nunc sed blandit. Tristique senectus et netus et. Magnis dis parturient montes nascetur ridiculus mus.\nDolor magna eget est lorem ipsum dolor. Nibh sit amet commodo nulla. Donec pretium vulputate sapien nec sagittis aliquam malesuada. Cras adipiscing enim eu turpis egestas pretium. Cras ornare arcu dui vivamus arcu felis bibendum ut tristique. Mus mauris vitae ultricies leo integer. In nulla posuere sollicitudin aliquam ultrices sagittis orci. Quis hendrerit dolor magna eget. Nisl tincidunt eget nullam non. Vitae congue eu consequat ac felis donec et odio. Vivamus at augue eget arcu dictum varius duis at. Ornare quam viverra orci sagittis.\nErat nam at lectus urna duis convallis. Massa placerat duis ultricies lacus sed turpis tincidunt id aliquet. Est ullamcorper eget nulla facilisi etiam dignissim diam. Arcu vitae elementum curabitur vitae nunc sed velit dignissim sodales. Tortor vitae purus faucibus ornare suspendisse sed nisi lacus. Neque viverra justo nec ultrices dui sapien eget mi proin. Viverra accumsan in nisl nisi scelerisque eu ultrices. Consequat interdum varius sit amet mattis. In aliquam sem fringilla ut morbi. Eget arcu dictum varius duis at. Nulla aliquet porttitor lacus luctus accumsan tortor posuere. Arcu bibendum at varius vel pharetra vel turpis. Hac habitasse platea dictumst quisque sagittis purus sit amet. Sapien eget mi proin sed libero enim sed. Quam elementum pulvinar etiam non quam lacus suspendisse faucibus interdum. Semper viverra nam libero justo. Fusce ut placerat orci nulla pellentesque dignissim enim sit amet. Et malesuada fames ac turpis egestas maecenas pharetra convallis posuere.\nTurpis egestas sed tempus urna et pharetra pharetra massa. Gravida in fermentum et sollicitudin ac orci phasellus. Ornare suspendisse sed nisi lacus sed viverra tellus in. Fames ac turpis egestas maecenas pharetra convallis posuere. Mi proin sed libero enim sed faucibus turpis. Sit amet mauris commodo quis imperdiet massa tincidunt nunc. Ut etiam sit amet nisl purus in mollis nunc. Habitasse platea dictumst quisque sagittis purus sit amet volutpat consequat. Eget aliquet nibh praesent tristique magna. Sit amet est placerat in egestas erat. Commodo sed egestas egestas fringilla. Enim nulla aliquet porttitor lacus luctus accumsan tortor posuere ac. Et molestie ac feugiat sed lectus vestibulum mattis ullamcorper. Dignissim convallis aenean et tortor at risus viverra. Morbi blandit cursus risus at ultrices mi. Ac turpis egestas integer eget aliquet nibh praesent tristique magna.\nVolutpat sed cras ornare arcu dui. Egestas erat imperdiet sed euismod nisi porta lorem mollis aliquam. Viverra justo nec ultrices dui sapien. Amet risus nullam eget felis eget nunc lobortis. Metus aliquam eleifend mi in. Ut eu sem integer vitae. Auctor elit sed vulputate mi sit amet. Nisl nisi scelerisque eu ultrices. Dictum fusce ut placerat orci nulla. Pellentesque habitant morbi tristique senectus et. Auctor elit sed vulputate mi sit. Tincidunt arcu non sodales neque. Mi in nulla posuere sollicitudin aliquam. Morbi non arcu risus quis varius quam quisque id diam. Cras adipiscing enim eu turpis egestas pretium aenean pharetra magna. At auctor urna nunc id cursus metus aliquam. Mauris a diam maecenas sed enim ut sem viverra. Nunc scelerisque viverra mauris in. In iaculis nunc sed augue lacus viverra vitae congue eu. Volutpat blandit aliquam etiam erat velit scelerisque in dictum non."), + CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {0,0,0,255} })); + } + } + + CLAY({ .id = Clay_GetElementId(CLAY_STRING("Blob4Floating2")), .floating = { .zIndex = 1, .parentId = Clay_GetElementId(CLAY_STRING("SidebarBlob4")).id }}) { + CLAY({ .id = Clay_GetElementId(CLAY_STRING("ScrollContainer")), .layoutConfig = { .sizing = { .height = CLAY_SIZING_FIXED(200) }, .childGap = 2 }, .scroll = { .vertical = true }}) { + CLAY({ .id = Clay_GetElementId(CLAY_STRING("FloatingContainer2")), .floating = { .zIndex = 1 }}) { + CLAY({ .id = Clay_GetElementId(CLAY_STRING("FloatingContainerInner")), .layoutConfig = { .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_FIXED(300) }, .padding = {16, 16} }, .rectangle = { .color = {140,80, 200, 200} }}) { + CLAY_TEXT(CLAY_STRING("I'm an inline floating container."), CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {255,255,255,255} })); + } + } + CLAY({ .id = Clay_GetElementId(CLAY_STRING("ScrollContainerInner")), .layoutConfig = { .layoutDirection = CLAY_TOP_TO_BOTTOM }, .rectangle = { .color = {160, 160, 160, 255} }}) { + for (int i = 0; i < 100; i++) { + RenderDropdownTextItem(i); + } + } + } + } + Clay_ScrollContainerData scrollData = Clay_GetScrollContainerData(Clay_GetElementId(CLAY_STRING("MainContent"))); + if (scrollData.found) { + CLAY({ .id = Clay_GetElementId(CLAY_STRING("ScrollBar")), + .floating = { + .offset = { .y = -(scrollData.scrollPosition->y / scrollData.contentDimensions.height) * scrollData.scrollContainerDimensions.height }, + .zIndex = 1, + .parentId = Clay_GetElementId(CLAY_STRING("MainContent")).id, + .attachment = {.element = CLAY_ATTACH_POINT_RIGHT_TOP, .parent = CLAY_ATTACH_POINT_RIGHT_TOP} + } + }) { + CLAY({ .id = Clay_GetElementId(CLAY_STRING("ScrollBarButton")), + .layoutConfig = { .sizing = {CLAY_SIZING_FIXED(12), CLAY_SIZING_FIXED((scrollData.scrollContainerDimensions.height / scrollData.contentDimensions.height) * scrollData.scrollContainerDimensions.height) }}, + .rectangle = { .cornerRadius = {6}, .color = Clay_PointerOver(Clay__HashString(CLAY_STRING("ScrollBar"), 0, 0)) ? (Clay_Color){100, 100, 140, 150} : (Clay_Color){120, 120, 160, 150} } + }) {} + } + } + } + return Clay_EndLayout(); +} + +typedef struct +{ + Clay_Vector2 clickOrigin; + Clay_Vector2 positionOrigin; + bool mouseDown; +} ScrollbarData; + +ScrollbarData scrollbarData = (ScrollbarData) {}; + +bool debugEnabled = false; + +void UpdateDrawFrame() +{ + Vector2 mouseWheelDelta = GetMouseWheelMoveV(); + float mouseWheelX = mouseWheelDelta.x; + float mouseWheelY = mouseWheelDelta.y; + + if (IsKeyPressed(KEY_D)) { + debugEnabled = !debugEnabled; + Clay_SetDebugModeEnabled(debugEnabled); + } + //---------------------------------------------------------------------------------- + // Handle scroll containers + Clay_Vector2 mousePosition = RAYLIB_VECTOR2_TO_CLAY_VECTOR2(GetMousePosition()); + Clay_SetPointerState(mousePosition, IsMouseButtonDown(0) && !scrollbarData.mouseDown); + Clay_SetLayoutDimensions((Clay_Dimensions) { (float)GetScreenWidth(), (float)GetScreenHeight() }); + if (!IsMouseButtonDown(0)) { + scrollbarData.mouseDown = false; + } + + if (IsMouseButtonDown(0) && !scrollbarData.mouseDown && Clay_PointerOver(Clay__HashString(CLAY_STRING("ScrollBar"), 0, 0))) { + Clay_ScrollContainerData scrollContainerData = Clay_GetScrollContainerData(Clay__HashString(CLAY_STRING("MainContent"), 0, 0)); + scrollbarData.clickOrigin = mousePosition; + scrollbarData.positionOrigin = *scrollContainerData.scrollPosition; + scrollbarData.mouseDown = true; + } else if (scrollbarData.mouseDown) { + Clay_ScrollContainerData scrollContainerData = Clay_GetScrollContainerData(Clay__HashString(CLAY_STRING("MainContent"), 0, 0)); + if (scrollContainerData.contentDimensions.height > 0) { + Clay_Vector2 ratio = (Clay_Vector2) { + scrollContainerData.contentDimensions.width / scrollContainerData.scrollContainerDimensions.width, + scrollContainerData.contentDimensions.height / scrollContainerData.scrollContainerDimensions.height, + }; + if (scrollContainerData.config.vertical) { + scrollContainerData.scrollPosition->y = scrollbarData.positionOrigin.y + (scrollbarData.clickOrigin.y - mousePosition.y) * ratio.y; + } + if (scrollContainerData.config.horizontal) { + scrollContainerData.scrollPosition->x = scrollbarData.positionOrigin.x + (scrollbarData.clickOrigin.x - mousePosition.x) * ratio.x; + } + } + } + + Clay_UpdateScrollContainers(true, (Clay_Vector2) {mouseWheelX, mouseWheelY}, GetFrameTime()); + // Generate the auto layout for rendering + double currentTime = GetTime(); + Clay_RenderCommandArray renderCommands = CreateLayout(); + printf("layout time: %f microseconds\n", (GetTime() - currentTime) * 1000 * 1000); + // RENDERING --------------------------------- +// currentTime = GetTime(); + Clay_Raylib_Render(renderCommands); +// printf("render time: %f ms\n", (GetTime() - currentTime) * 1000); + + //---------------------------------------------------------------------------------- +} + +bool reinitializeClay = false; + +void HandleClayErrors(Clay_ErrorData errorData) { + printf("%s", errorData.errorText.chars); + if (errorData.errorType == CLAY_ERROR_TYPE_ELEMENTS_CAPACITY_EXCEEDED) { + reinitializeClay = true; + Clay_SetMaxElementCount(Clay_GetMaxElementCount() * 2); + } else if (errorData.errorType == CLAY_ERROR_TYPE_TEXT_MEASUREMENT_CAPACITY_EXCEEDED) { + reinitializeClay = true; + Clay_SetMaxMeasureTextCacheWordCount(Clay_GetMaxMeasureTextCacheWordCount() * 2); + } +} + +int main(void) { + uint64_t totalMemorySize = Clay_MinMemorySize(); + Clay_Arena clayMemoryBottom = Clay_CreateArenaWithCapacityAndMemory(totalMemorySize, malloc(totalMemorySize)); + Clay_SetMeasureTextFunction(Raylib_MeasureText); + Clay_Initialize(clayMemoryBottom, (Clay_Dimensions) { (float)GetScreenWidth(), (float)GetScreenHeight() / 2 }, (Clay_ErrorHandler) { HandleClayErrors }); + Clay_Raylib_Initialize(1024, 768, "Clay - Raylib Renderer Example", FLAG_VSYNC_HINT | FLAG_WINDOW_RESIZABLE | FLAG_WINDOW_HIGHDPI | FLAG_MSAA_4X_HINT); + profilePicture = LoadTextureFromImage(LoadImage("resources/profile-picture.png")); + Raylib_fonts[FONT_ID_BODY_24] = (Raylib_Font) { + .font = LoadFontEx("resources/Roboto-Regular.ttf", 48, 0, 400), + .fontId = FONT_ID_BODY_24, + }; + SetTextureFilter(Raylib_fonts[FONT_ID_BODY_24].font.texture, TEXTURE_FILTER_BILINEAR); + + Raylib_fonts[FONT_ID_BODY_16] = (Raylib_Font) { + .font = LoadFontEx("resources/Roboto-Regular.ttf", 32, 0, 400), + .fontId = FONT_ID_BODY_16, + }; + SetTextureFilter(Raylib_fonts[FONT_ID_BODY_16].font.texture, TEXTURE_FILTER_BILINEAR); + + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { +// if (reinitializeClay) { +// Clay_SetMaxElementCount(8192); +// totalMemorySize = Clay_MinMemorySize(); +// clayMemory = Clay_CreateArenaWithCapacityAndMemory(totalMemorySize, malloc(totalMemorySize)); +// Clay_Initialize(clayMemory, (Clay_Dimensions) { (float)GetScreenWidth(), (float)GetScreenHeight() }, (Clay_ErrorHandler) { HandleClayErrors }); +// reinitializeClay = false; +// } + BeginDrawing(); + ClearBackground(BLACK); + UpdateDrawFrame(); + EndDrawing(); + } + return 0; +} diff --git a/examples/multi-context-raylib-sidebar-scrolling-container/resources/Roboto-Regular.ttf b/examples/multi-context-raylib-sidebar-scrolling-container/resources/Roboto-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ddf4bfacb396e97546364ccfeeb9c31dfaea4c25 GIT binary patch literal 168260 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

S&jh1n&JeeMOkU4{=4@cYr6k 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≤FHXCuU9Qce=@vmZ{%9^5??OaVQJ8!4u8-w;yt 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

gWz!bmb7vGjl<24-J`@|@ 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 SHdktOrIwbO=#lulpZ^06U(kgB literal 252016 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 diff --git a/bindings/odin/clay-odin/macos/clay.a b/bindings/odin/clay-odin/macos/clay.a index d7a4750226379e96312053f7a83abb5264716964..bedd6ef43e918847fc604f130f5e7a6102665545 100644 GIT binary patch literal 143848 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 KEro9D_x=~EMi5s3 literal 166192 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 diff --git a/bindings/odin/clay-odin/wasm/clay.o b/bindings/odin/clay-odin/wasm/clay.o index fbbf500c5b4f48ae7f9b529b5c0f6301176c036f..359aecf301cbb1b88b15c2091e95755c005a4ba5 100644 GIT binary patch literal 260993 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 literal 189072 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%0A{#$Q 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 diff --git a/bindings/odin/examples/clay-official-website/clay-official-website.odin b/bindings/odin/examples/clay-official-website/clay-official-website.odin index 7dcd1eb..c39eaef 100644 --- a/bindings/odin/examples/clay-official-website/clay-official-website.odin +++ b/bindings/odin/examples/clay-official-website/clay-official-website.odin @@ -58,45 +58,46 @@ headerTextConfig := clay.TextElementConfig { } LandingPageBlob :: proc(index: u32, fontSize: u16, fontId: u16, color: clay.Color, text: string, image: ^raylib.Texture2D) { - if clay.UI( - clay.ID("HeroBlob", index), - clay.Layout({sizing = {width = clay.SizingGrow({max = 480})}, padding = clay.PaddingAll(16), childGap = 16, childAlignment = clay.ChildAlignment{y = .CENTER}}), - clay.BorderOutsideRadius({2, color}, 10), - ) { - if clay.UI( - clay.ID("CheckImage", index), - clay.Layout({sizing = {width = clay.SizingFixed(32)}}), - clay.Image({imageData = image, sourceDimensions = {128, 128}}), - ) {} + if clay.UI().configure({ + id = clay.ID("HeroBlob", index), + layout = { sizing = { width = clay.SizingGrow({ max = 480 }) }, padding = clay.PaddingAll(16), childGap = 16, childAlignment = clay.ChildAlignment{ y = .CENTER } }, + border = clay.BorderOutside({ 2, color }), + shared = { cornerRadius = clay.CornerRadiusAll(10) } + }) { + if clay.UI().configure({ + id = clay.ID("CheckImage", index), + layout = { sizing = { width = clay.SizingFixed(32) } }, + image = { imageData = image, sourceDimensions = { 128, 128 } }, + }) {} clay.Text(text, clay.TextConfig({fontSize = fontSize, fontId = fontId, textColor = color})) } } LandingPageDesktop :: proc() { - if clay.UI( - clay.ID("LandingPage1Desktop"), - clay.Layout({sizing = {width = clay.SizingGrow({}), height = clay.SizingFit({min = cast(f32)windowHeight - 70})}, childAlignment = {y = .CENTER}, padding = {left = 50, right = 50}}), - ) { - if clay.UI( - clay.ID("LandingPage1"), - clay.Layout({sizing = {clay.SizingGrow({}), clay.SizingGrow({})}, childAlignment = {y = .CENTER}, padding = clay.PaddingAll(32), childGap = 32}), - clay.Border({left = {2, COLOR_RED}, right = {2, COLOR_RED}}), - ) { - if clay.UI(clay.ID("LeftText"), clay.Layout({sizing = {width = clay.SizingPercent(0.55)}, layoutDirection = .TOP_TO_BOTTOM, childGap = 8})) { + if clay.UI().configure({ + id = clay.ID("LandingPage1Desktop"), + layout = { sizing = { width = clay.SizingGrow({ }), height = clay.SizingFit({ min = cast(f32)windowHeight - 70 }) }, childAlignment = { y = .CENTER }, padding = { left = 50, right = 50 } }, + }) { + if clay.UI().configure({ + id = clay.ID("LandingPage1"), + layout = { sizing = { clay.SizingGrow({ }), clay.SizingGrow({ }) }, childAlignment = { y = .CENTER }, padding = clay.PaddingAll(32), childGap = 32 }, + border = { left = { 2, COLOR_RED }, right = { 2, COLOR_RED } }, + }) { + if clay.UI().configure({ id = clay.ID("LeftText"), layout = { sizing = { width = clay.SizingPercent(0.55) }, layoutDirection = .TOP_TO_BOTTOM, childGap = 8 } }) { clay.Text( "Clay is a flex-box style UI auto layout library in C, with declarative syntax and microsecond performance.", clay.TextConfig({fontSize = 56, fontId = FONT_ID_TITLE_56, textColor = COLOR_RED}), ) -// if clay.UI(clay.Layout({sizing = {width = clay.SizingGrow({}), height = clay.SizingFixed(32)}})) {} +// if clay.UI().configure(layout = {sizing = {width = clay.SizingGrow({}), height = clay.SizingFixed(32)}})) {} clay.Text( "Clay is laying out this webpage right now!", clay.TextConfig({fontSize = 36, fontId = FONT_ID_TITLE_36, textColor = COLOR_ORANGE}), ) } - if clay.UI( - clay.ID("HeroImageOuter"), - clay.Layout({layoutDirection = .TOP_TO_BOTTOM, sizing = {width = clay.SizingPercent(0.45)}, childAlignment = {x = .CENTER}, childGap = 16}), - ) { + if clay.UI().configure({ + id = clay.ID("HeroImageOuter"), + layout = { layoutDirection = .TOP_TO_BOTTOM, sizing = { width = clay.SizingPercent(0.45) }, childAlignment = { x = .CENTER }, childGap = 16 }, + }) { LandingPageBlob(1, 30, FONT_ID_BODY_30, COLOR_BLOB_BORDER_5, "High performance", &checkImage5) LandingPageBlob(2, 30, FONT_ID_BODY_30, COLOR_BLOB_BORDER_4, "Flexbox-style responsive layout", &checkImage4) LandingPageBlob(3, 30, FONT_ID_BODY_30, COLOR_BLOB_BORDER_3, "Declarative syntax", &checkImage3) @@ -108,33 +109,31 @@ LandingPageDesktop :: proc() { } LandingPageMobile :: proc() { - if clay.UI( - clay.ID("LandingPage1Mobile"), - clay.Layout( - { - layoutDirection = .TOP_TO_BOTTOM, - sizing = {width = clay.SizingGrow({}), height = clay.SizingFit({min = cast(f32)windowHeight - 70})}, - childAlignment = {x = .CENTER, y = .CENTER}, - padding = {16, 16, 32, 32}, - childGap = 32, - }, - ), - ) { - if clay.UI(clay.ID("LeftText"), clay.Layout({sizing = {width = clay.SizingGrow({})}, layoutDirection = .TOP_TO_BOTTOM, childGap = 8})) { + if clay.UI().configure({ + id = clay.ID("LandingPage1Mobile"), + layout = { + layoutDirection = .TOP_TO_BOTTOM, + sizing = { width = clay.SizingGrow({ }), height = clay.SizingFit({ min = cast(f32)windowHeight - 70 }) }, + childAlignment = { x = .CENTER, y = .CENTER }, + padding = { 16, 16, 32, 32 }, + childGap = 32, + }, + }) { + if clay.UI().configure({ id = clay.ID("LeftText"), layout = { sizing = { width = clay.SizingGrow({ }) }, layoutDirection = .TOP_TO_BOTTOM, childGap = 8 } }) { clay.Text( "Clay is a flex-box style UI auto layout library in C, with declarative syntax and microsecond performance.", clay.TextConfig({fontSize = 48, fontId = FONT_ID_TITLE_48, textColor = COLOR_RED}), ) - if clay.UI(clay.Layout({sizing = {width = clay.SizingGrow({}), height = clay.SizingFixed(32)}})) {} + if clay.UI().configure({ layout = { sizing = { width = clay.SizingGrow({}), height = clay.SizingFixed(32) } } }) {} clay.Text( "Clay is laying out this webpage right now!", clay.TextConfig({fontSize = 32, fontId = FONT_ID_TITLE_32, textColor = COLOR_ORANGE}), ) } - if clay.UI( - clay.ID("HeroImageOuter"), - clay.Layout({layoutDirection = .TOP_TO_BOTTOM, sizing = {width = clay.SizingGrow({})}, childAlignment = {x = .CENTER}, childGap = 16}), - ) { + if clay.UI().configure({ + id = clay.ID("HeroImageOuter"), + layout = { layoutDirection = .TOP_TO_BOTTOM, sizing = { width = clay.SizingGrow({ }) }, childAlignment = { x = .CENTER }, childGap = 16 }, + }) { LandingPageBlob(1, 24, FONT_ID_BODY_24, COLOR_BLOB_BORDER_5, "High performance", &checkImage5) LandingPageBlob(2, 24, FONT_ID_BODY_24, COLOR_BLOB_BORDER_4, "Flexbox-style responsive layout", &checkImage4) LandingPageBlob(3, 24, FONT_ID_BODY_24, COLOR_BLOB_BORDER_3, "Declarative syntax", &checkImage3) @@ -146,20 +145,20 @@ LandingPageMobile :: proc() { FeatureBlocks :: proc(widthSizing: clay.SizingAxis, outerPadding: u16) { textConfig := clay.TextConfig({fontSize = 24, fontId = FONT_ID_BODY_24, textColor = COLOR_RED}) - if clay.UI( - clay.ID("HFileBoxOuter"), - clay.Layout({layoutDirection = .TOP_TO_BOTTOM, sizing = {width = widthSizing}, childAlignment = {y = .CENTER}, padding = {outerPadding, outerPadding, 32, 32}, childGap = 8}), - ) { - if clay.UI(clay.ID("HFileIncludeOuter"), clay.Layout({padding = {8, 8, 4, 4}}), clay.Rectangle({color = COLOR_RED, cornerRadius = clay.CornerRadiusAll(8)})) { + if clay.UI().configure({ + id = clay.ID("HFileBoxOuter"), + layout = { layoutDirection = .TOP_TO_BOTTOM, sizing = { width = widthSizing }, childAlignment = { y = .CENTER }, padding = { outerPadding, outerPadding, 32, 32 }, childGap = 8 }, + }) { + if clay.UI().configure({ id = clay.ID("HFileIncludeOuter"), layout = { padding = { 8, 8, 4, 4 } }, rectangle = { color = COLOR_RED }, shared = { cornerRadius = clay.CornerRadiusAll(8) } }) { clay.Text("#include clay.h", clay.TextConfig({fontSize = 24, fontId = FONT_ID_BODY_24, textColor = COLOR_LIGHT})) } clay.Text("~2000 lines of C99.", textConfig) clay.Text("Zero dependencies, including no C standard library.", textConfig) } - if clay.UI( - clay.ID("BringYourOwnRendererOuter"), - clay.Layout({layoutDirection = .TOP_TO_BOTTOM, sizing = {width = widthSizing}, childAlignment = {y = .CENTER}, padding = {outerPadding, outerPadding, 32, 32}, childGap = 8}), - ) { + if clay.UI().configure({ + id = clay.ID("BringYourOwnRendererOuter"), + layout = { layoutDirection = .TOP_TO_BOTTOM, sizing = { width = widthSizing }, childAlignment = { y = .CENTER }, padding = { outerPadding, outerPadding, 32, 32 }, childGap = 8 }, + }) { clay.Text("Renderer agnostic.", clay.TextConfig({fontId = FONT_ID_BODY_24, fontSize = 24, textColor = COLOR_ORANGE})) clay.Text("Layout with clay, then render with Raylib, WebGL Canvas or even as HTML.", textConfig) clay.Text("Flexible output for easy compositing in your custom engine or environment.", textConfig) @@ -167,31 +166,31 @@ FeatureBlocks :: proc(widthSizing: clay.SizingAxis, outerPadding: u16) { } FeatureBlocksDesktop :: proc() { - if clay.UI(clay.ID("FeatureBlocksOuter"), clay.Layout({sizing = {width = clay.SizingGrow({})}})) { - if clay.UI( - clay.ID("FeatureBlocksInner"), - clay.Layout({sizing = {width = clay.SizingGrow({})}, childAlignment = {y = .CENTER}}), - clay.Border({betweenChildren = {width = 2, color = COLOR_RED}}), - ) { + if clay.UI().configure({ id = clay.ID("FeatureBlocksOuter"), layout = { sizing = { width = clay.SizingGrow({}) } } }) { + if clay.UI().configure({ + id = clay.ID("FeatureBlocksInner"), + layout = { sizing = { width = clay.SizingGrow({ }) }, childAlignment = { y = .CENTER } }, + border = { betweenChildren = { width = 2, color = COLOR_RED } }, + }) { FeatureBlocks(clay.SizingPercent(0.5), 50) } } } FeatureBlocksMobile :: proc() { - if clay.UI( - clay.ID("FeatureBlocksInner"), - clay.Layout({layoutDirection = .TOP_TO_BOTTOM, sizing = {width = clay.SizingGrow({})}}), - clay.Border({betweenChildren = {width = 2, color = COLOR_RED}}), - ) { + if clay.UI().configure({ + id = clay.ID("FeatureBlocksInner"), + layout = { layoutDirection = .TOP_TO_BOTTOM, sizing = { width = clay.SizingGrow({ }) } }, + border = { betweenChildren = { width = 2, color = COLOR_RED } }, + }) { FeatureBlocks(clay.SizingGrow({}), 16) } } DeclarativeSyntaxPage :: proc(titleTextConfig: clay.TextElementConfig, widthSizing: clay.SizingAxis) { - if clay.UI(clay.ID("SyntaxPageLeftText"), clay.Layout({sizing = {width = widthSizing}, layoutDirection = .TOP_TO_BOTTOM, childGap = 8})) { + if clay.UI().configure({ id = clay.ID("SyntaxPageLeftText"), layout = { sizing = { width = widthSizing }, layoutDirection = .TOP_TO_BOTTOM, childGap = 8 } }) { clay.Text("Declarative Syntax", clay.TextConfig(titleTextConfig)) - if clay.UI(clay.ID("SyntaxSpacer"), clay.Layout({sizing = {width = clay.SizingGrow({max = 16})}})) {} + if clay.UI().configure({ id = clay.ID("SyntaxSpacer"), layout = { sizing = { width = clay.SizingGrow({ max = 16 }) } } }) {} clay.Text( "Flexible and readable declarative syntax with nested UI element hierarchies.", clay.TextConfig({fontSize = 28, fontId = FONT_ID_BODY_28, textColor = COLOR_RED}), @@ -205,43 +204,41 @@ DeclarativeSyntaxPage :: proc(titleTextConfig: clay.TextElementConfig, widthSizi clay.TextConfig({fontSize = 28, fontId = FONT_ID_BODY_28, textColor = COLOR_RED}), ) } - if clay.UI(clay.ID("SyntaxPageRightImage"), clay.Layout({sizing = {width = widthSizing}, childAlignment = {x = .CENTER}})) { - if clay.UI( - clay.ID("SyntaxPageRightImageInner"), - clay.Layout({sizing = {width = clay.SizingGrow({max = 568})}}), - clay.Image({imageData = &syntaxImage, sourceDimensions = {1136, 1194}}), - ) {} + if clay.UI().configure({ id = clay.ID("SyntaxPageRightImage"), layout = { sizing = { width = widthSizing }, childAlignment = { x = .CENTER } } }) { + if clay.UI().configure({ + id = clay.ID("SyntaxPageRightImageInner"), + layout = { sizing = { width = clay.SizingGrow({ max = 568 }) } }, + image = { imageData = &syntaxImage, sourceDimensions = { 1136, 1194 } }, + }) {} } } DeclarativeSyntaxPageDesktop :: proc() { - if clay.UI( - clay.ID("SyntaxPageDesktop"), - clay.Layout({sizing = {clay.SizingGrow({}), clay.SizingFit({min = cast(f32)windowHeight - 50})}, childAlignment = {y = .CENTER}, padding = {left = 50, right = 50}}), - ) { - if clay.UI( - clay.ID("SyntaxPage"), - clay.Layout({sizing = {clay.SizingGrow({}), clay.SizingGrow({})}, childAlignment = {y = .CENTER}, padding = clay.PaddingAll(32), childGap = 32}), - clay.Border({left = {2, COLOR_RED}, right = {2, COLOR_RED}}), - ) { + if clay.UI().configure({ + id = clay.ID("SyntaxPageDesktop"), + layout = { sizing = { clay.SizingGrow({ }), clay.SizingFit({ min = cast(f32)windowHeight - 50 }) }, childAlignment = { y = .CENTER }, padding = { left = 50, right = 50 } }, + }) { + if clay.UI().configure({ + id = clay.ID("SyntaxPage"), + layout = { sizing = { clay.SizingGrow({ }), clay.SizingGrow({ }) }, childAlignment = { y = .CENTER }, padding = clay.PaddingAll(32), childGap = 32 }, + border = { left = { 2, COLOR_RED }, right = { 2, COLOR_RED } }, + }) { DeclarativeSyntaxPage({fontSize = 52, fontId = FONT_ID_TITLE_52, textColor = COLOR_RED}, clay.SizingPercent(0.5)) } } } DeclarativeSyntaxPageMobile :: proc() { - if clay.UI( - clay.ID("SyntaxPageMobile"), - clay.Layout( - { - layoutDirection = .TOP_TO_BOTTOM, - sizing = {clay.SizingGrow({}), clay.SizingFit({min = cast(f32)windowHeight - 50})}, - childAlignment = {x = .CENTER, y = .CENTER}, - padding = {16, 16, 32, 32}, - childGap = 16, - }, - ), - ) { + if clay.UI().configure({ + id = clay.ID("SyntaxPageMobile"), + layout = { + layoutDirection = .TOP_TO_BOTTOM, + sizing = { clay.SizingGrow({ }), clay.SizingFit({ min = cast(f32)windowHeight - 50 }) }, + childAlignment = { x = .CENTER, y = .CENTER }, + padding = { 16, 16, 32, 32 }, + childGap = 16, + }, + }) { DeclarativeSyntaxPage({fontSize = 48, fontId = FONT_ID_TITLE_48, textColor = COLOR_RED}, clay.SizingGrow({})) } } @@ -253,9 +250,9 @@ ColorLerp :: proc(a: clay.Color, b: clay.Color, amount: f32) -> clay.Color { LOREM_IPSUM_TEXT := "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." HighPerformancePage :: proc(lerpValue: f32, titleTextConfig: clay.TextElementConfig, widthSizing: clay.SizingAxis) { - if clay.UI(clay.ID("PerformanceLeftText"), clay.Layout({sizing = {width = widthSizing}, layoutDirection = .TOP_TO_BOTTOM, childGap = 8})) { + if clay.UI().configure({ id = clay.ID("PerformanceLeftText"), layout = { sizing = { width = widthSizing }, layoutDirection = .TOP_TO_BOTTOM, childGap = 8 } }) { clay.Text("High Performance", clay.TextConfig(titleTextConfig)) - if clay.UI(clay.Layout({sizing = {width = clay.SizingGrow({max = 16})}})) {} + if clay.UI().configure({ layout = { sizing = { width = clay.SizingGrow({ max = 16 }) } }}) {} clay.Text( "Fast enough to recompute your entire UI every frame.", clay.TextConfig({fontSize = 28, fontId = FONT_ID_BODY_36, textColor = COLOR_LIGHT}), @@ -269,24 +266,24 @@ HighPerformancePage :: proc(lerpValue: f32, titleTextConfig: clay.TextElementCon clay.TextConfig({fontSize = 28, fontId = FONT_ID_BODY_36, textColor = COLOR_LIGHT}), ) } - if clay.UI(clay.ID("PerformanceRightImageOuter"), clay.Layout({sizing = {width = widthSizing}, childAlignment = {x = .CENTER}})) { - if clay.UI( - clay.ID("PerformanceRightBorder"), - clay.Layout({sizing = {clay.SizingGrow({}), clay.SizingFixed(400)}}), - clay.BorderAll({width = 2, color = COLOR_LIGHT}), - ) { - if clay.UI( - clay.ID("AnimationDemoContainerLeft"), - clay.Layout({sizing = {clay.SizingPercent(0.35 + 0.3 * lerpValue), clay.SizingGrow({})}, childAlignment = {y = .CENTER}, padding = clay.PaddingAll(16)}), - clay.Rectangle({color = ColorLerp(COLOR_RED, COLOR_ORANGE, lerpValue)}), - ) { + if clay.UI().configure({ id = clay.ID("PerformanceRightImageOuter"), layout = { sizing = { width = widthSizing }, childAlignment = { x = .CENTER } } }) { + if clay.UI().configure({ + id = clay.ID("PerformanceRightBorder"), + layout = { sizing = { clay.SizingGrow({ }), clay.SizingFixed(400) } }, + border = clay.BorderAll({ width = 2, color = COLOR_LIGHT }), + }) { + if clay.UI().configure({ + id = clay.ID("AnimationDemoContainerLeft"), + layout = { sizing = { clay.SizingPercent(0.35 + 0.3 * lerpValue), clay.SizingGrow({ }) }, childAlignment = { y = .CENTER }, padding = clay.PaddingAll(16) }, + rectangle = { color = ColorLerp(COLOR_RED, COLOR_ORANGE, lerpValue) }, + }) { clay.Text(LOREM_IPSUM_TEXT, clay.TextConfig({fontSize = 16, fontId = FONT_ID_BODY_16, textColor = COLOR_LIGHT})) } - if clay.UI( - clay.ID("AnimationDemoContainerRight"), - clay.Layout({sizing = {clay.SizingGrow({}), clay.SizingGrow({})}, childAlignment = {y = .CENTER}, padding = clay.PaddingAll(16)}), - clay.Rectangle({color = ColorLerp(COLOR_ORANGE, COLOR_RED, lerpValue)}), - ) { + if clay.UI().configure({ + id = clay.ID("AnimationDemoContainerRight"), + layout = { sizing = { clay.SizingGrow({ }), clay.SizingGrow({ }) }, childAlignment = { y = .CENTER }, padding = clay.PaddingAll(16) }, + rectangle = { color = ColorLerp(COLOR_ORANGE, COLOR_RED, lerpValue) }, + }) { clay.Text(LOREM_IPSUM_TEXT, clay.TextConfig({fontSize = 16, fontId = FONT_ID_BODY_16, textColor = COLOR_LIGHT})) } } @@ -294,60 +291,58 @@ HighPerformancePage :: proc(lerpValue: f32, titleTextConfig: clay.TextElementCon } HighPerformancePageDesktop :: proc(lerpValue: f32) { - if clay.UI( - clay.ID("PerformanceDesktop"), - clay.Layout( - {sizing = {clay.SizingGrow({}), clay.SizingFit({min = cast(f32)windowHeight - 50})}, childAlignment = {y = .CENTER}, padding = {82, 82, 32, 32}, childGap = 64}, - ), - clay.Rectangle({color = COLOR_RED}), - ) { + if clay.UI().configure({ + id = clay.ID("PerformanceDesktop"), + layout = { sizing = { clay.SizingGrow({ }), clay.SizingFit({ min = cast(f32)windowHeight - 50 }) }, childAlignment = { y = .CENTER }, padding = { 82, 82, 32, 32 }, childGap = 64 }, + rectangle = { color = COLOR_RED }, + }) { HighPerformancePage(lerpValue, {fontSize = 52, fontId = FONT_ID_TITLE_52, textColor = COLOR_LIGHT}, clay.SizingPercent(0.5)) } } HighPerformancePageMobile :: proc(lerpValue: f32) { - if clay.UI( - clay.ID("PerformanceMobile"), - clay.Layout( - { - layoutDirection = .TOP_TO_BOTTOM, - sizing = {clay.SizingGrow({}), clay.SizingFit({min = cast(f32)windowHeight - 50})}, - childAlignment = {x = .CENTER, y = .CENTER}, - padding = { 16, 16, 32, 32}, - childGap = 32, - }, - ), - clay.Rectangle({color = COLOR_RED}), - ) { + if clay.UI().configure({ + id = clay.ID("PerformanceMobile"), + layout = { + layoutDirection = .TOP_TO_BOTTOM, + sizing = { clay.SizingGrow({ }), clay.SizingFit({ min = cast(f32)windowHeight - 50 }) }, + childAlignment = { x = .CENTER, y = .CENTER }, + padding = { 16, 16, 32, 32 }, + childGap = 32, + }, + rectangle = { color = COLOR_RED }, + }) { HighPerformancePage(lerpValue, {fontSize = 48, fontId = FONT_ID_TITLE_48, textColor = COLOR_LIGHT}, clay.SizingGrow({})) } } RendererButtonActive :: proc(index: i32, text: string) { - if clay.UI( - clay.Layout({sizing = {width = clay.SizingFixed(300)}, padding = clay.PaddingAll(16)}), - clay.Rectangle({color = COLOR_RED, cornerRadius = clay.CornerRadiusAll(10)}), - ) { + if clay.UI().configure({ + layout = { sizing = { width = clay.SizingFixed(300) }, padding = clay.PaddingAll(16) }, + rectangle = { color = COLOR_RED }, + shared = { cornerRadius = clay.CornerRadiusAll(10) } + }) { clay.Text(text, clay.TextConfig({fontSize = 28, fontId = FONT_ID_BODY_28, textColor = COLOR_LIGHT})) } } RendererButtonInactive :: proc(index: u32, text: string) { - if clay.UI(clay.Layout({}), clay.BorderOutsideRadius({2, COLOR_RED}, 10)) { - if clay.UI( - clay.ID("RendererButtonInactiveInner", index), - clay.Layout({sizing = {width = clay.SizingFixed(300)}, padding = clay.PaddingAll(16)}), - clay.Rectangle({color = COLOR_LIGHT, cornerRadius = clay.CornerRadiusAll(10)}), - ) { + if clay.UI().configure({ border = clay.BorderOutside({ 2, COLOR_RED }) }) { + if clay.UI().configure({ + id = clay.ID("RendererButtonInactiveInner", index), + layout = { sizing = { width = clay.SizingFixed(300) }, padding = clay.PaddingAll(16) }, + rectangle = { color = COLOR_LIGHT }, + shared = { cornerRadius = clay.CornerRadiusAll(10) } + }) { clay.Text(text, clay.TextConfig({fontSize = 28, fontId = FONT_ID_BODY_28, textColor = COLOR_RED})) } } } RendererPage :: proc(titleTextConfig: clay.TextElementConfig, widthSizing: clay.SizingAxis) { - if clay.UI(clay.ID("RendererLeftText"), clay.Layout({sizing = {width = widthSizing}, layoutDirection = .TOP_TO_BOTTOM, childGap = 8})) { + if clay.UI().configure({ id = clay.ID("RendererLeftText"), layout = { sizing = { width = widthSizing }, layoutDirection = .TOP_TO_BOTTOM, childGap = 8 } }) { clay.Text("Renderer & Platform Agnostic", clay.TextConfig(titleTextConfig)) - if clay.UI(clay.Layout({sizing = {width = clay.SizingGrow({max = 16})}})) {} + if clay.UI().configure({ layout = { sizing = { width = clay.SizingGrow({ max = 16 }) } } }) {} clay.Text( "Clay outputs a sorted array of primitive render commands, such as RECTANGLE, TEXT or IMAGE.", clay.TextConfig({fontSize = 28, fontId = FONT_ID_BODY_36, textColor = COLOR_RED}), @@ -361,45 +356,43 @@ RendererPage :: proc(titleTextConfig: clay.TextElementConfig, widthSizing: clay. clay.TextConfig({fontSize = 28, fontId = FONT_ID_BODY_36, textColor = COLOR_RED}), ) } - if clay.UI( - clay.ID("RendererRightText"), - clay.Layout({sizing = {width = widthSizing}, childAlignment = {x = .CENTER}, layoutDirection = .TOP_TO_BOTTOM, childGap = 16}), - ) { + if clay.UI().configure({ + id = clay.ID("RendererRightText"), + layout = { sizing = { width = widthSizing }, childAlignment = { x = .CENTER }, layoutDirection = .TOP_TO_BOTTOM, childGap = 16 }, + }) { clay.Text("Try changing renderer!", clay.TextConfig({fontSize = 36, fontId = FONT_ID_BODY_36, textColor = COLOR_ORANGE})) - if clay.UI(clay.Layout({sizing = {width = clay.SizingGrow({max = 32})}})) {} + if clay.UI().configure({ layout = { sizing = { width = clay.SizingGrow({ max = 32 }) } } }) {} RendererButtonActive(0, "Raylib Renderer") } } RendererPageDesktop :: proc() { - if clay.UI( - clay.ID("RendererPageDesktop"), - clay.Layout({sizing = {clay.SizingGrow({}), clay.SizingFit({min = cast(f32)windowHeight - 50})}, childAlignment = {y = .CENTER}, padding = {left = 50, right = 50}}), - ) { - if clay.UI( - clay.ID("RendererPage"), - clay.Layout({sizing = {clay.SizingGrow({}), clay.SizingGrow({})}, childAlignment = {y = .CENTER}, padding = clay.PaddingAll(32), childGap = 32}), - clay.Border({left = {2, COLOR_RED}, right = {2, COLOR_RED}}), - ) { + if clay.UI().configure({ + id = clay.ID("RendererPageDesktop"), + layout = { sizing = { clay.SizingGrow({ }), clay.SizingFit({ min = cast(f32)windowHeight - 50 }) }, childAlignment = { y = .CENTER }, padding = { left = 50, right = 50 } }, + }) { + if clay.UI().configure({ + id = clay.ID("RendererPage"), + layout = { sizing = { clay.SizingGrow({ }), clay.SizingGrow({ }) }, childAlignment = { y = .CENTER }, padding = clay.PaddingAll(32), childGap = 32 }, + border = { left = { 2, COLOR_RED }, right = { 2, COLOR_RED } }, + }) { RendererPage({fontSize = 52, fontId = FONT_ID_TITLE_52, textColor = COLOR_RED}, clay.SizingPercent(0.5)) } } } RendererPageMobile :: proc() { - if clay.UI( - clay.ID("RendererMobile"), - clay.Layout( - { - layoutDirection = .TOP_TO_BOTTOM, - sizing = {clay.SizingGrow({}), clay.SizingFit({min = cast(f32)windowHeight - 50})}, - childAlignment = {x = .CENTER, y = .CENTER}, - padding = {16, 16, 32, 32}, - childGap = 32, - }, - ), - clay.Rectangle({color = COLOR_LIGHT}), - ) { + if clay.UI().configure({ + id = clay.ID("RendererMobile"), + layout = { + layoutDirection = .TOP_TO_BOTTOM, + sizing = { clay.SizingGrow({ }), clay.SizingFit({ min = cast(f32)windowHeight - 50 }) }, + childAlignment = { x = .CENTER, y = .CENTER }, + padding = { 16, 16, 32, 32 }, + childGap = 32, + }, + rectangle = { color = COLOR_LIGHT }, + }) { RendererPage({fontSize = 48, fontId = FONT_ID_TITLE_48, textColor = COLOR_RED}, clay.SizingGrow({})) } } @@ -416,47 +409,48 @@ animationLerpValue: f32 = -1.0 createLayout :: proc(lerpValue: f32) -> clay.ClayArray(clay.RenderCommand) { mobileScreen := windowWidth < 750 clay.BeginLayout() - if clay.UI( - clay.ID("OuterContainer"), - clay.Layout({layoutDirection = .TOP_TO_BOTTOM, sizing = {clay.SizingGrow({}), clay.SizingGrow({})}}), - clay.Rectangle({color = COLOR_LIGHT}), - ) { - if clay.UI( - clay.ID("Header"), - clay.Layout({sizing = {clay.SizingGrow({}), clay.SizingFixed(50)}, childAlignment = {y = .CENTER}, childGap = 24, padding = {left = 32, right = 32}}), - ) { + if clay.UI().configure({ + id = clay.ID("OuterContainer"), + layout = { layoutDirection = .TOP_TO_BOTTOM, sizing = { clay.SizingGrow({ }), clay.SizingGrow({ }) } }, + rectangle = { color = COLOR_LIGHT }, + }) { + if clay.UI().configure({ + id = clay.ID("Header"), + layout = { sizing = { clay.SizingGrow({ }), clay.SizingFixed(50) }, childAlignment = { y = .CENTER }, childGap = 24, padding = { left = 32, right = 32 } }, + }) { clay.Text("Clay", &headerTextConfig) - if clay.UI(clay.Layout({sizing = {width = clay.SizingGrow({})}})) {} + if clay.UI().configure({ layout = { sizing = { width = clay.SizingGrow({ }) } } }) {} if (!mobileScreen) { - if clay.UI(clay.ID("LinkExamplesOuter"), clay.Layout({}), clay.Rectangle({color = {0, 0, 0, 0}})) { + if clay.UI().configure({ id = clay.ID("LinkExamplesOuter"), rectangle = {color = {0, 0, 0, 0}} }) { clay.Text("Examples", clay.TextConfig({fontId = FONT_ID_BODY_24, fontSize = 24, textColor = {61, 26, 5, 255}})) } - if clay.UI(clay.ID("LinkDocsOuter"), clay.Layout({}), clay.Rectangle({color = {0, 0, 0, 0}})) { + if clay.UI().configure({ id = clay.ID("LinkDocsOuter"), rectangle = {color = {0, 0, 0, 0}} }) { clay.Text("Docs", clay.TextConfig({fontId = FONT_ID_BODY_24, fontSize = 24, textColor = {61, 26, 5, 255}})) } } - if clay.UI( - clay.ID("LinkGithubOuter"), - clay.Layout({padding = {16, 16, 6, 6}}), - clay.BorderOutsideRadius({2, COLOR_RED}, 10), - clay.Rectangle({cornerRadius = clay.CornerRadiusAll(10), color = clay.PointerOver(clay.GetElementId(clay.MakeString("LinkGithubOuter"))) ? COLOR_LIGHT_HOVER : COLOR_LIGHT}) - ) { + if clay.UI().configure({ + id = clay.ID("LinkGithubOuter"), + layout = { padding = { 16, 16, 6, 6 } }, + border = clay.BorderOutside({ 2, COLOR_RED }), + rectangle = { color = clay.PointerOver(clay.GetElementId(clay.MakeString("LinkGithubOuter"))) ? COLOR_LIGHT_HOVER : COLOR_LIGHT }, + shared = { cornerRadius = clay.CornerRadiusAll(10) } + }) { clay.Text("Github", clay.TextConfig({fontId = FONT_ID_BODY_24, fontSize = 24, textColor = {61, 26, 5, 255}})) } } - if clay.UI(clay.ID("TopBorder1"), clay.Layout({sizing = {clay.SizingGrow({}), clay.SizingFixed(4)}}), clay.Rectangle({color = COLOR_TOP_BORDER_5})) {} - if clay.UI(clay.ID("TopBorder2"), clay.Layout({sizing = {clay.SizingGrow({}), clay.SizingFixed(4)}}), clay.Rectangle({color = COLOR_TOP_BORDER_4})) {} - if clay.UI(clay.ID("TopBorder3"), clay.Layout({sizing = {clay.SizingGrow({}), clay.SizingFixed(4)}}), clay.Rectangle({color = COLOR_TOP_BORDER_3})) {} - if clay.UI(clay.ID("TopBorder4"), clay.Layout({sizing = {clay.SizingGrow({}), clay.SizingFixed(4)}}), clay.Rectangle({color = COLOR_TOP_BORDER_2})) {} - if clay.UI(clay.ID("TopBorder5"), clay.Layout({sizing = {clay.SizingGrow({}), clay.SizingFixed(4)}}), clay.Rectangle({color = COLOR_TOP_BORDER_1})) {} - if clay.UI( - clay.ID("ScrollContainerBackgroundRectangle"), - clay.Scroll({vertical = true}), - clay.Layout({sizing = {clay.SizingGrow({}), clay.SizingGrow({})}, layoutDirection = clay.LayoutDirection.TOP_TO_BOTTOM}), - clay.Rectangle({color = COLOR_LIGHT}), - clay.Border({betweenChildren = {2, COLOR_RED}}) - ) { + if clay.UI().configure({ id = clay.ID("TopBorder1"), layout = { sizing = { clay.SizingGrow({ }), clay.SizingFixed(4) } }, rectangle = { color = COLOR_TOP_BORDER_5 } }) {} + if clay.UI().configure({ id = clay.ID("TopBorder2"), layout = { sizing = { clay.SizingGrow({ }), clay.SizingFixed(4) } }, rectangle = { color = COLOR_TOP_BORDER_4 } }) {} + if clay.UI().configure({ id = clay.ID("TopBorder3"), layout = { sizing = { clay.SizingGrow({ }), clay.SizingFixed(4) } }, rectangle = { color = COLOR_TOP_BORDER_3 } }) {} + if clay.UI().configure({ id = clay.ID("TopBorder4"), layout = { sizing = { clay.SizingGrow({ }), clay.SizingFixed(4) } }, rectangle = { color = COLOR_TOP_BORDER_2 } }) {} + if clay.UI().configure({ id = clay.ID("TopBorder5"), layout = { sizing = { clay.SizingGrow({ }), clay.SizingFixed(4) } }, rectangle = { color = COLOR_TOP_BORDER_1 } }) {} + if clay.UI().configure({ + id = clay.ID("ScrollContainerBackgroundRectangle"), + scroll = { vertical = true }, + layout = { sizing = { clay.SizingGrow({ }), clay.SizingGrow({ }) }, layoutDirection = clay.LayoutDirection.TOP_TO_BOTTOM }, + rectangle = { color = COLOR_LIGHT }, + border = { betweenChildren = { 2, COLOR_RED } } + }) { if (!mobileScreen) { LandingPageDesktop() FeatureBlocksDesktop() diff --git a/bindings/odin/examples/clay-official-website/clay_renderer_raylib.odin b/bindings/odin/examples/clay-official-website/clay_renderer_raylib.odin index 470e417..3070671 100644 --- a/bindings/odin/examples/clay-official-website/clay_renderer_raylib.odin +++ b/bindings/odin/examples/clay-official-website/clay_renderer_raylib.odin @@ -57,7 +57,7 @@ clayRaylibRender :: proc(renderCommands: ^clay.ClayArray(clay.RenderCommand), al {} case clay.RenderCommandType.Text: // Raylib uses standard C strings so isn't compatible with cheap slices, we need to clone the string to append null terminator - text := string(renderCommand.text.chars[:renderCommand.text.length]) + text := string(renderCommand.textOrSharedConfig.text.chars[:renderCommand.textOrSharedConfig.text.length]) cloned := strings.clone_to_cstring(text, allocator) fontToUse: raylib.Font = raylibFonts[renderCommand.config.textElementConfig.fontId].font raylib.DrawTextEx( @@ -83,21 +83,23 @@ clayRaylibRender :: proc(renderCommands: ^clay.ClayArray(clay.RenderCommand), al raylib.EndScissorMode() case clay.RenderCommandType.Rectangle: config: ^clay.RectangleElementConfig = renderCommand.config.rectangleElementConfig - if (config.cornerRadius.topLeft > 0) { - radius: f32 = (config.cornerRadius.topLeft * 2) / min(boundingBox.width, boundingBox.height) + cornerRadius := renderCommand.textOrSharedConfig.sharedConfig.cornerRadius + if (cornerRadius.topLeft > 0) { + radius: f32 = (cornerRadius.topLeft * 2) / min(boundingBox.width, boundingBox.height) raylib.DrawRectangleRounded(raylib.Rectangle{boundingBox.x, boundingBox.y, boundingBox.width, boundingBox.height}, radius, 8, clayColorToRaylibColor(config.color)) } else { raylib.DrawRectangle(cast(i32)boundingBox.x, cast(i32)boundingBox.y, cast(i32)boundingBox.width, cast(i32)boundingBox.height, clayColorToRaylibColor(config.color)) } case clay.RenderCommandType.Border: config := renderCommand.config.borderElementConfig + cornerRadius := renderCommand.textOrSharedConfig.sharedConfig.cornerRadius // Left border if (config.left.width > 0) { raylib.DrawRectangle( cast(i32)math.round(boundingBox.x), - cast(i32)math.round(boundingBox.y + config.cornerRadius.topLeft), + cast(i32)math.round(boundingBox.y + cornerRadius.topLeft), cast(i32)config.left.width, - cast(i32)math.round(boundingBox.height - config.cornerRadius.topLeft - config.cornerRadius.bottomLeft), + cast(i32)math.round(boundingBox.height - cornerRadius.topLeft - cornerRadius.bottomLeft), clayColorToRaylibColor(config.left.color), ) } @@ -105,18 +107,18 @@ clayRaylibRender :: proc(renderCommands: ^clay.ClayArray(clay.RenderCommand), al if (config.right.width > 0) { raylib.DrawRectangle( cast(i32)math.round(boundingBox.x + boundingBox.width - cast(f32)config.right.width), - cast(i32)math.round(boundingBox.y + config.cornerRadius.topRight), + cast(i32)math.round(boundingBox.y + cornerRadius.topRight), cast(i32)config.right.width, - cast(i32)math.round(boundingBox.height - config.cornerRadius.topRight - config.cornerRadius.bottomRight), + cast(i32)math.round(boundingBox.height - cornerRadius.topRight - cornerRadius.bottomRight), clayColorToRaylibColor(config.right.color), ) } // Top border if (config.top.width > 0) { raylib.DrawRectangle( - cast(i32)math.round(boundingBox.x + config.cornerRadius.topLeft), + cast(i32)math.round(boundingBox.x + cornerRadius.topLeft), cast(i32)math.round(boundingBox.y), - cast(i32)math.round(boundingBox.width - config.cornerRadius.topLeft - config.cornerRadius.topRight), + cast(i32)math.round(boundingBox.width - cornerRadius.topLeft - cornerRadius.topRight), cast(i32)config.top.width, clayColorToRaylibColor(config.top.color), ) @@ -124,54 +126,54 @@ clayRaylibRender :: proc(renderCommands: ^clay.ClayArray(clay.RenderCommand), al // Bottom border if (config.bottom.width > 0) { raylib.DrawRectangle( - cast(i32)math.round(boundingBox.x + config.cornerRadius.bottomLeft), + cast(i32)math.round(boundingBox.x + cornerRadius.bottomLeft), cast(i32)math.round(boundingBox.y + boundingBox.height - cast(f32)config.bottom.width), - cast(i32)math.round(boundingBox.width - config.cornerRadius.bottomLeft - config.cornerRadius.bottomRight), + cast(i32)math.round(boundingBox.width - cornerRadius.bottomLeft - cornerRadius.bottomRight), cast(i32)config.bottom.width, clayColorToRaylibColor(config.bottom.color), ) } - if (config.cornerRadius.topLeft > 0) { + if (cornerRadius.topLeft > 0) { raylib.DrawRing( - raylib.Vector2{math.round(boundingBox.x + config.cornerRadius.topLeft), math.round(boundingBox.y + config.cornerRadius.topLeft)}, - math.round(config.cornerRadius.topLeft - cast(f32)config.top.width), - config.cornerRadius.topLeft, + raylib.Vector2{math.round(boundingBox.x + cornerRadius.topLeft), math.round(boundingBox.y + cornerRadius.topLeft)}, + math.round(cornerRadius.topLeft - cast(f32)config.top.width), + cornerRadius.topLeft, 180, 270, 10, clayColorToRaylibColor(config.top.color), ) } - if (config.cornerRadius.topRight > 0) { + if (cornerRadius.topRight > 0) { raylib.DrawRing( - raylib.Vector2{math.round(boundingBox.x + boundingBox.width - config.cornerRadius.topRight), math.round(boundingBox.y + config.cornerRadius.topRight)}, - math.round(config.cornerRadius.topRight - cast(f32)config.top.width), - config.cornerRadius.topRight, + raylib.Vector2{math.round(boundingBox.x + boundingBox.width - cornerRadius.topRight), math.round(boundingBox.y + cornerRadius.topRight)}, + math.round(cornerRadius.topRight - cast(f32)config.top.width), + cornerRadius.topRight, 270, 360, 10, clayColorToRaylibColor(config.top.color), ) } - if (config.cornerRadius.bottomLeft > 0) { + if (cornerRadius.bottomLeft > 0) { raylib.DrawRing( - raylib.Vector2{math.round(boundingBox.x + config.cornerRadius.bottomLeft), math.round(boundingBox.y + boundingBox.height - config.cornerRadius.bottomLeft)}, - math.round(config.cornerRadius.bottomLeft - cast(f32)config.top.width), - config.cornerRadius.bottomLeft, + raylib.Vector2{math.round(boundingBox.x + cornerRadius.bottomLeft), math.round(boundingBox.y + boundingBox.height - cornerRadius.bottomLeft)}, + math.round(cornerRadius.bottomLeft - cast(f32)config.top.width), + cornerRadius.bottomLeft, 90, 180, 10, clayColorToRaylibColor(config.bottom.color), ) } - if (config.cornerRadius.bottomRight > 0) { + if (cornerRadius.bottomRight > 0) { raylib.DrawRing( raylib.Vector2 { - math.round(boundingBox.x + boundingBox.width - config.cornerRadius.bottomRight), - math.round(boundingBox.y + boundingBox.height - config.cornerRadius.bottomRight), + math.round(boundingBox.x + boundingBox.width - cornerRadius.bottomRight), + math.round(boundingBox.y + boundingBox.height - cornerRadius.bottomRight), }, - math.round(config.cornerRadius.bottomRight - cast(f32)config.bottom.width), - config.cornerRadius.bottomRight, + math.round(cornerRadius.bottomRight - cast(f32)config.bottom.width), + cornerRadius.bottomRight, 0.1, 90, 10, diff --git a/clay.h b/clay.h index ff88e4a..d64e0eb 100644 --- a/clay.h +++ b/clay.h @@ -13,8 +13,6 @@ #include #include #include -#include -#include // SIMD includes on supported platforms #ifdef __x86_64__ @@ -2582,7 +2580,8 @@ Clay__RenderDebugLayoutData Clay__RenderDebugLayoutElementsList(int32_t initialR CLAY({ .id = CLAY_IDI("Clay__DebugView_CollapseElement", currentElement->id), .layout = { .sizing = {CLAY_SIZING_FIXED(16), CLAY_SIZING_FIXED(16)}, .childAlignment = { CLAY_ALIGN_X_CENTER, CLAY_ALIGN_Y_CENTER} }, - .border = CLAY_BORDER_OUTSIDE({ 1, CLAY__DEBUGVIEW_COLOR_3 }) + .border = CLAY_BORDER_OUTSIDE({ 1, CLAY__DEBUGVIEW_COLOR_3 }), + .shared = { .cornerRadius = CLAY_CORNER_RADIUS(4) } }) { CLAY_TEXT((currentElementData && currentElementData->debugData->collapsed) ? CLAY_STRING("+") : CLAY_STRING("-"), CLAY_TEXT_CONFIG({ .textColor = CLAY__DEBUGVIEW_COLOR_4, .fontSize = 16 })); } @@ -2722,9 +2721,7 @@ void Clay__RenderDebugViewColor(Clay_Color color, Clay_TextElementConfig *textCo CLAY_TEXT(Clay__IntToString(color.a), textConfig); CLAY_TEXT(CLAY_STRING(" }"), textConfig); CLAY({ .layout = { .sizing = { CLAY_SIZING_FIXED(10), CLAY__DEFAULT_STRUCT } } }) {} - CLAY({ .layout = { .sizing = { CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8)} }, .border = CLAY_BORDER_OUTSIDE({ 1, CLAY__DEBUGVIEW_COLOR_4 }) }) { - CLAY({ .layout = { .sizing = { CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8)} }, .rectangle = { .color = color }, .shared = { .cornerRadius = CLAY_CORNER_RADIUS(4) } }) {} - } + CLAY({ .layout = { .sizing = { CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8)} }, .border = CLAY_BORDER_OUTSIDE({ 1, CLAY__DEBUGVIEW_COLOR_4 }), .rectangle = { .color = color }, .shared = { .cornerRadius = CLAY_CORNER_RADIUS(4) } }) {} } } @@ -2809,9 +2806,10 @@ void Clay__RenderDebugView(void) { CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0) } } }) {} // Close button CLAY({ - .layout = { .sizing = {CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 10), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 10)}, .childAlignment = {CLAY_ALIGN_X_CENTER, CLAY_ALIGN_Y_CENTER} }, - .rectangle = { .color = {217,91,67,80} }, + .layout = { .sizing = {CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 10), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 10)}, .childAlignment = {CLAY_ALIGN_X_CENTER, CLAY_ALIGN_Y_CENTER} }, + .rectangle = { .color = {217,91,67,80} }, .border = CLAY_BORDER_OUTSIDE({ 1, (CLAY__INIT(Clay_Color){217,91,67,255}) }), + .shared = { .cornerRadius = CLAY_CORNER_RADIUS(4) } }) { Clay_OnHover(HandleDebugViewCloseButtonInteraction, 0); CLAY_TEXT(CLAY_STRING("x"), CLAY_TEXT_CONFIG({ .textColor = CLAY__DEBUGVIEW_COLOR_4, .fontSize = 16 })); @@ -2999,7 +2997,7 @@ void Clay__RenderDebugView(void) { } // Image Preview CLAY_TEXT(CLAY_STRING("Preview"), infoTitleConfig); - CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0, imageConfig->sourceDimensions.width) }}, .image = { imageConfig } }) {} + CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0, imageConfig->sourceDimensions.width) }}, .image = *imageConfig }) {} } break; } From f6ab2b51513257d59bb531a455ef5dc0b252830d Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 31 Jan 2025 14:04:54 +1300 Subject: [PATCH 16/37] Fix PR comments --- clay.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/clay.h b/clay.h index d64e0eb..a7749a2 100644 --- a/clay.h +++ b/clay.h @@ -55,7 +55,7 @@ #define CLAY_BORDER_OUTSIDE(...) CLAY__CONFIG_WRAPPER(Clay_BorderElementConfig, { .left = __VA_ARGS__, .right = __VA_ARGS__, .top = __VA_ARGS__, .bottom = __VA_ARGS__ }) -#define CLAY_BORDER_ALL(...) Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .borderElementConfig = Clay__StoreBorderElementConfig(CLAY__INIT(Clay_BorderElementConfig) { .left = __VA_ARGS__, .right = __VA_ARGS__, .top = __VA_ARGS__, .bottom = __VA_ARGS__, .betweenChildren = __VA_ARGS__ } ) }, CLAY__ELEMENT_CONFIG_TYPE_BORDER_CONTAINER) +#define CLAY_BORDER_ALL(...) CLAY__CONFIG_WRAPPER(Clay_BorderElementConfig, { .left = __VA_ARGS__, .right = __VA_ARGS__, .top = __VA_ARGS__, .bottom = __VA_ARGS__, .betweenChildren = __VA_ARGS__ }) #define CLAY_CORNER_RADIUS(radius) (CLAY__INIT(Clay_CornerRadius) { radius, radius, radius, radius }) @@ -69,7 +69,7 @@ #define CLAY_SIZING_PERCENT(percentOfParent) (CLAY__INIT(Clay_SizingAxis) { .size = { .percent = (percentOfParent) }, .type = CLAY__SIZING_TYPE_PERCENT }) -#define CLAY_ID(label) Clay__HashString(CLAY_STRING(label), 0, 0) +#define CLAY_ID(label) CLAY_IDI(label, 0) #define CLAY_IDI(label, index) Clay__HashString(CLAY_STRING(label), index, 0) @@ -556,7 +556,7 @@ void Clay_SetMaxMeasureTextCacheWordCount(int32_t maxMeasureTextCacheWordCount); void Clay_ResetMeasureTextCache(void); // Internal API functions required by macros -void Clay__OpenElement(); +void Clay__OpenElement(void); void Clay__ConfigureOpenElement(const Clay_ElementDeclaration config); void Clay__CloseElement(void); Clay_LayoutConfig * Clay__StoreLayoutConfig(Clay_LayoutConfig config); From 01e13714eb215127088457dbf41097f3a50bcd36 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 31 Jan 2025 14:06:17 +1300 Subject: [PATCH 17/37] Fix passthrough of debug tools highlight --- clay.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clay.h b/clay.h index a7749a2..0655542 100644 --- a/clay.h +++ b/clay.h @@ -2664,8 +2664,8 @@ Clay__RenderDebugLayoutData Clay__RenderDebugLayoutElementsList(int32_t initialR } if (highlightedElementId) { - CLAY({ .id = CLAY_ID("Clay__DebugView_ElementHighlight"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .floating = { .zIndex = 65535, .parentId = highlightedElementId } }) { - CLAY({ .id = CLAY_ID("Clay__DebugView_ElementHighlightRectangle"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .rectangle = {.color = Clay__debugViewHighlightColor } }) {} + CLAY({ .id = CLAY_ID("Clay__DebugView_ElementHighlight"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .floating = { .zIndex = 65535, .parentId = highlightedElementId, .pointerCaptureMode = CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH } }) { + CLAY({ .id = CLAY_ID("Clay__DebugView_ElementHighlightRectangle"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .rectangle = { .color = Clay__debugViewHighlightColor } }) {} } } return layoutData; From 907662600bd762d7407453be98c8152ec71e31c3 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 31 Jan 2025 14:09:12 +1300 Subject: [PATCH 18/37] Remove cairo from github actions --- CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 29fbfcd..ecb29d7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,7 +23,6 @@ if(CLAY_INCLUDE_ALL_EXAMPLES OR CLAY_INCLUDE_DEMOS) if(NOT MSVC) add_subdirectory("examples/clay-official-website") endif() - add_subdirectory("examples/cairo-pdf-rendering") add_subdirectory("examples/introducing-clay-video-demo") endif () From d87c5e1658c9b85684c7ca2c0f52e687f2299ff9 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 31 Jan 2025 15:02:49 +1300 Subject: [PATCH 19/37] Migrate official website to new API --- .../build/clay/index.html | 50 +++-- .../build/clay/index.wasm | Bin 169842 -> 111977 bytes examples/clay-official-website/index.html | 50 +++-- examples/clay-official-website/main.c | 208 +++++++++--------- 4 files changed, 165 insertions(+), 143 deletions(-) diff --git a/examples/clay-official-website/build/clay/index.html b/examples/clay-official-website/build/clay/index.html index f168175..0eab546 100644 --- a/examples/clay-official-website/build/clay/index.html +++ b/examples/clay-official-website/build/clay/index.html @@ -113,7 +113,6 @@ ]}; let rectangleConfigDefinition = { name: 'rectangle', type: 'struct', members: [ { name: 'color', ...colorDefinition }, - { name: 'cornerRadius', ...cornerRadiusDefinition }, { name: 'link', ...stringDefinition }, { name: 'cursorPointer', type: 'uint8_t' }, ]}; @@ -123,7 +122,6 @@ { name: 'top', ...borderDefinition }, { name: 'bottom', ...borderDefinition }, { name: 'betweenChildren', ...borderDefinition }, - { name: 'cornerRadius', ...cornerRadiusDefinition } ]}; let textConfigDefinition = { name: 'text', type: 'struct', members: [ { name: 'textColor', ...colorDefinition }, @@ -149,6 +147,9 @@ let customConfigDefinition = { name: 'custom', type: 'struct', members: [ { name: 'customData', type: 'uint32_t' }, ]} + let sharedConfigDefinition = { name: 'shared', type: 'struct', members: [ + { name: 'cornerRadius', ...cornerRadiusDefinition }, + ]}; let renderCommandDefinition = { name: 'CLay_RenderCommand', type: 'struct', @@ -160,7 +161,10 @@ { name: 'height', type: 'float' }, ]}, { name: 'config', type: 'uint32_t'}, - { name: 'text', ...stringSliceDefinition }, + { name: 'textOrSharedConfig', type: 'union', members: [ + { name: 'text', ...stringSliceDefinition }, + { name: 'sharedConfig', type: 'uint32_t' } + ]}, { name: 'zIndex', type: 'int32_t' }, { name: 'id', type: 'uint32_t' }, { name: 'commandType', type: 'uint32_t', }, @@ -378,7 +382,7 @@ let isMultiConfigElement = previousId === renderCommand.id.value; if (!elementCache[renderCommand.id.value]) { let elementType = 'div'; - switch (renderCommand.commandType.value) { + switch (renderCommand.commandType.value & 0xff) { case CLAY_RENDER_COMMAND_TYPE_RECTANGLE: { if (readStructAtAddress(renderCommand.config.value, rectangleConfigDefinition).link.length.value > 0) { elementType = 'a'; @@ -386,6 +390,7 @@ break; } case CLAY_RENDER_COMMAND_TYPE_IMAGE: { + console.log('test5'); elementType = 'img'; break; } default: break; @@ -439,6 +444,7 @@ } case (CLAY_RENDER_COMMAND_TYPE_RECTANGLE): { let config = readStructAtAddress(renderCommand.config.value, rectangleConfigDefinition); + let sharedConfig = readStructAtAddress( renderCommand.textOrSharedConfig.sharedConfig.value, sharedConfigDefinition); let configMemory = new Uint8Array(memoryDataView.buffer.slice(renderCommand.config.value, renderCommand.config.value + config.__size)); let linkContents = config.link.length.value > 0 ? textDecoder.decode(new Uint8Array(memoryDataView.buffer.slice(config.link.chars.value, config.link.chars.value + config.link.length.value))) : 0; memoryDataView.setUint32(0, renderCommand.id.value, true); @@ -459,22 +465,23 @@ elementData.previousMemoryConfig = configMemory; let color = config.color; element.style.backgroundColor = `rgba(${color.r.value}, ${color.g.value}, ${color.b.value}, ${color.a.value / 255})`; - if (config.cornerRadius.topLeft.value > 0) { - element.style.borderTopLeftRadius = config.cornerRadius.topLeft.value + 'px'; + if (sharedConfig.cornerRadius.topLeft.value > 0) { + element.style.borderTopLeftRadius = sharedConfig.cornerRadius.topLeft.value + 'px'; } - if (config.cornerRadius.topRight.value > 0) { - element.style.borderTopRightRadius = config.cornerRadius.topRight.value + 'px'; + if (sharedConfig.cornerRadius.topRight.value > 0) { + element.style.borderTopRightRadius = sharedConfig.cornerRadius.topRight.value + 'px'; } - if (config.cornerRadius.bottomLeft.value > 0) { - element.style.borderBottomLeftRadius = config.cornerRadius.bottomLeft.value + 'px'; + if (sharedConfig.cornerRadius.bottomLeft.value > 0) { + element.style.borderBottomLeftRadius = sharedConfig.cornerRadius.bottomLeft.value + 'px'; } - if (config.cornerRadius.bottomRight.value > 0) { - element.style.borderBottomRightRadius = config.cornerRadius.bottomRight.value + 'px'; + if (sharedConfig.cornerRadius.bottomRight.value > 0) { + element.style.borderBottomRightRadius = sharedConfig.cornerRadius.bottomRight.value + 'px'; } break; } case (CLAY_RENDER_COMMAND_TYPE_BORDER): { let config = readStructAtAddress(renderCommand.config.value, borderConfigDefinition); + let sharedConfig = readStructAtAddress( renderCommand.textOrSharedConfig.sharedConfig.value, sharedConfigDefinition); let configMemory = new Uint8Array(memoryDataView.buffer.slice(renderCommand.config.value, renderCommand.config.value + config.__size)); if (!dirty && !MemoryIsDifferent(configMemory, elementData.previousMemoryConfig, config.__size)) { break; @@ -496,24 +503,24 @@ let color = config.bottom.color; element.style.borderBottom = `${config.bottom.width.value}px solid rgba(${color.r.value}, ${color.g.value}, ${color.b.value}, ${color.a.value / 255})` } - if (config.cornerRadius.topLeft.value > 0) { - element.style.borderTopLeftRadius = config.cornerRadius.topLeft.value + 'px'; + if (sharedConfig.cornerRadius.topLeft.value > 0) { + element.style.borderTopLeftRadius = sharedConfig.cornerRadius.topLeft.value + 'px'; } - if (config.cornerRadius.topRight.value > 0) { - element.style.borderTopRightRadius = config.cornerRadius.topRight.value + 'px'; + if (sharedConfig.cornerRadius.topRight.value > 0) { + element.style.borderTopRightRadius = sharedConfig.cornerRadius.topRight.value + 'px'; } - if (config.cornerRadius.bottomLeft.value > 0) { - element.style.borderBottomLeftRadius = config.cornerRadius.bottomLeft.value + 'px'; + if (sharedConfig.cornerRadius.bottomLeft.value > 0) { + element.style.borderBottomLeftRadius = sharedConfig.cornerRadius.bottomLeft.value + 'px'; } - if (config.cornerRadius.bottomRight.value > 0) { - element.style.borderBottomRightRadius = config.cornerRadius.bottomRight.value + 'px'; + if (sharedConfig.cornerRadius.bottomRight.value > 0) { + element.style.borderBottomRightRadius = sharedConfig.cornerRadius.bottomRight.value + 'px'; } break; } case (CLAY_RENDER_COMMAND_TYPE_TEXT): { let config = readStructAtAddress(renderCommand.config.value, textConfigDefinition); let configMemory = new Uint8Array(memoryDataView.buffer.slice(renderCommand.config.value, renderCommand.config.value + config.__size)); - let textContents = renderCommand.text; + let textContents = renderCommand.textOrSharedConfig.text; let stringContents = new Uint8Array(memoryDataView.buffer.slice(textContents.chars.value, textContents.chars.value + textContents.length.value)); if (MemoryIsDifferent(configMemory, elementData.previousMemoryConfig, config.__size)) { element.className = 'text'; @@ -549,6 +556,7 @@ break; } case (CLAY_RENDER_COMMAND_TYPE_IMAGE): { + console.log('test1'); let config = readStructAtAddress(renderCommand.config.value, imageConfigDefinition); let srcContents = new Uint8Array(memoryDataView.buffer.slice(config.sourceURL.chars.value, config.sourceURL.chars.value + config.sourceURL.length.value)); if (srcContents.length !== elementData.previousMemoryText.length || MemoryIsDifferent(srcContents, elementData.previousMemoryText, srcContents.length)) { diff --git a/examples/clay-official-website/build/clay/index.wasm b/examples/clay-official-website/build/clay/index.wasm index 6125d2afc13b113b09c1592cd077c352370e3e5c..91fa130e75d619678e4c0ff373494d615f218211 100755 GIT binary patch literal 111977 zcmd443v^xAdEa>+7r+JX1$g<8M3EGA?iFc+3T1N~hGZqX;?XN|VkfTSHpb8cl*sH63)qt|Dux zE!wgzrd8|t{lC4>3jj&bb+RIxIOp#3oxQ*Pz4x~tCwTIOPliDdgpZ9p5uOU3h))joFe$?xC( z$rDe$@agAIeCWhWFFx|=XFm4g)1P`KaF1?(?$alp|Nig#*z=z{dGb5|>R)}~L;(=S z-}6`y*J`zpfBfm|>klK{_6Gw4^`IVv!61M82kK#+|H5#f-WLY-I2alT>S14hy&m)h z{J$?4XbjkY%_h&e8yc?lh0juLUmONc_1_Yo3e(=N)EcLP^z^;@s~-cG`}XvI^28@U z_5Alo!L1L{jgNloi5DOI^z+Z3c;>|iKlRLubSBuc%^tk}>1W<=kl*$651a`8m;F}w z;PWS*eDOpI_>QPx*pBx77;h^us4lfZ2=heJZ$j z*Sa$G?Y+-Db>gMqK3A#7_&dMv#Ph*>92V5E28D;7eDTTP&u?E-o0Z<5ljWfkf92EP z`~FWob>iV?p8P8(PdpVIzs+8F?+fdmq$N6>Jo)r9-SPL6c~mDav}m}?RoiGrl2g8EoH zYKDy@PFrJX9jNs0U!X#sr$IZSI2et(zd}hT9F1B>qCE-MW;^6beJlwMM8VNG;K%2~ zBhe17;k`jCiIez1)UpRjxYf|IKWZi!b9g3E<5C!gr4B?z2k1hW29JU(&C`Kz8wSP5 zqZp=4iBdL6{$^@s}PC`beM))kBpOK7RnABwKYG&-@ z4eA|vg9Z6jUEUgkkZ3GmD)S{$^30M%h3zj{5^7rKQ}IpSr#h##fh8&X)Feo|vk=9% z`DfN#EC|VKn2Vbg$FkoI%27iR4ut6$j41S-2;p4oH1S6Ot1`~MltgCegY_{5fln6l z5FZ(PxHbuff^tj|ctamJLysQ$m;ym4yXMzTVlAcso0pNAgC{Mf2nydDHX22%jsFma zwNhXax(=q(R#6lkFYt@+33dzz(eZ@XVIh*QAB|p%6gGuU7q3=%U zx)aKLTLi~zrS6zWBjqxK3xtQG(d!XEYcHY)E*iw*M^-U^ya#Yl{9T9ynLbO*NlaDr zKWcor8&Gt<0oY*AhO==&~>9P#-ZI8L;0ld zU=WO@pR1qjpsC-N#4ixU^?^jYkD6sPhJyz2q|tY7D*q5IPHjkaT8icX_ugvKacJP zO9k)Yx9@JdaIh`N*t!yI&=p1Qh-#*k;F017#XJv@tF0_*$9Y2 z%q9qUcZ7@R3sq~*bnxVIoYeeyJYucXk#yo8$OV`{mO4U#Mpzza zhaDpoqqI~lN*!Lc5?*?0=x}v|rbMhrYS+gop|S*3-v}xBYNMCvr22D0qbA;v)z%W) zpn#o^Gs6anBMrNq?MULr|Fbh1Io1CeKTe;EbD@;h72;A$FT|J($C%M*E{1Jk>lL$W z{RvdBrO79s?F=X$t&d5?2Ooww#2dUeR_jVuy&eyJQ|&klZNN-464Zxf3QTz z0)b(p=%qN}rr92*7hQ}HG##wa^rA+ni0lkk$?QygH10avGL{UN3EMMnkBGUTF%25& z9z5TO{d}xF7#&YWXfx@TMIT89k3>70al;5Os3$u=k;d;ei^h*SSf6@iIEc|j2jcXR zn&H-9wS&VOc5qA9L2jDuEp%fgvbxYkUD(^E$n_}H(2 zUpvNBjwm@{>I}n2YT}~d>3QV6FKPJR!qV7D9r7#DacLxJyzes-FP(OB8Gn6jTi9&3 z7u0Q_E8R|=TxM)TE@P8R*fuPLcZe>IPf4Rq_Xdq~VEkBn*!afnObkyg5a@&JS$x^9 zJ1WgM-!YTgO2Y!yEka&>>o_(Vm}vr3gkinj3~a3DtFH0CXLO+X8Sjx{sCR-pJ(cb zVjb86Q>}k(Ss#Sb#Es5!?ZurT7=}7#?s&73*at^1{!dzRJqr!_078z&m7? zab_*DZvl#-jZ$Jxcx;xjhh>}*vOrgmm6y3UxYa8Kq#SZ??j|WVw-yNv7dJA`b3y{> zHAu)cv|dn?Eey4!8;vKM)h z*NK={PI_6xa1V~%69kCht<9BfGwJgV{BS%xTm!?}Eng6D{$nH7dNU}1$3Msf%d zSyJOj?k75ZN1``8CU1brv%G*HyVsHs*WehlU97nncXmAPt*E>o7<}unSoxYG#g+ul z-HmlU+qvbKbWfIOk=hke35PA2t4@ZFFwzAFjkIhi8YR4vMJ2C+$#M5u(%+htXtev2 zt-kX1R%aG?*J<9Rta)oZZ+TuVFRg8v4$rA&Fu0^EEVx8-PdM13Ig##yRs4WR@T{Du zaz*NhFL5$?B$`n@PWLYODlbsw2ONA+WileRHuH{jwkF&7vF-8Q?Mw(8$@XMNGQ7LJ z-DJCs|AIoD!S)b$NrV12WD$*Z-i0BmPgp!;akgGVSWNxWUP&In@JQ4XdQJq+drW&^ zdI(G%*AGb>w`AIwPB_XEPKvELWzX?$npC4NRX?dZA?$>&dxE+X1I>uAi~e~@Qcvmm z_M9B;t$1!tYMo|QqR#F1V+^@RL?K5d+NbX^fwPofx4CD==B)`wHtU&N){PrGW<*;< zyA5LGl3RAM$e?&t_pu1g#trfccA6|^+!FtH#oh(8Xau%_I-r0O1P*C8i2 z=NPyEhqL9!Wc+MrNQkQhJ6I0jH3GL-5V$i~N*^}3H~`>{#?<}hiO+=zH%$~ew+q#g z=%h>vV-$r7QqPI7WDUv@{OgvJwDBicOn^oDZiXnbnl{2r1~J_3{;>5@v!`@W{U%U~ z5n(8m6DCe~7L-HVNjF*6X*4=!nJNls<}tHahnvjoMCqbY9#UL9m-_%<7~4K2*k*eW zAg7nb*!G{mh7VI-yEk~u_3$yLf+*i$seeh|J;4VQ+1PmYm~2PD5KCPuzxcvLkQ3E? zmTp&!C)j0)V5 z6{)mj25ruC*%2c)Vie>6CfDRF0bQamWuh}`TqhHKEjrL}uDmrQSkYH2 z36Srk#_|R?C^&?c`C)j7;(A&{jj1^7&uFm_I@k#0=tGm{9m^Hlg7C2c<80 z_YtP=7H`W2tkiGebtHOJ_$iAPrlTeZnZmfPlWCUqdUp~kS^Vy!@u&e-b7^i`!Auve zzl;uOS^?39RqqTnaRpIEJA~S#UelRwJVvVdTFGPuacab&-k;z;$vzP+$17S9aTJV= zpSUjr$}OJfa?`t(Y0pb<1xLiW52f-3ClnnLvoGlVDznD&iW9z@DrIFGDtUjEje__u)u{^*st7?(m=xVyy7lr&4uC3OK?>-A(uv^XDu*4fQ*!(KmFR*;^#Vp-#OgZ6pxJ!dkq!G2DQA74dy2t8`OLoh4_Bz9$MPO7kqIPBwd9dX3W@CWrid(%$UK-F6d4LJH!kLWyXw_tE#n@8Ldq) zBXZ1uL+yTrLrN2*0V*kOrJA7{G{i|Az%nvY!Z$hjYG+H)l^uzG?2wJW#_RPBU-x3! zve!Y@^c|gYjep_@`Xv>X^48PHJbzNVn~_o7asVI2oDdRx?Q38AZv)KhJ@~b+ojT>( zflzfs8rXm#_m*V%@!d|slln)H@vL3QW*}bp-OrkX6kJPsg?nKj1IZmCJ4%Q^_YDwf zRS{`AM4B5R;zdEq1R{boEp$Iy1tOLYHAI>qG#c%*HEM+~B>DL_WV+k^&iHBqEv-pD zunPD}n~o-V442W!`$Ekfp;V0LT!tKvMS$xq{;x&F{2g&g;EJ6sEvy$4u`g+v)F^Wy zve0lRVFuJDhoKtEdT$`Kjc!ax$~0yZ{iSsnykut3FKHyokr`yXVB?_c%NM1g1rv9LS}Z1qp68Iei_9P$U@Mc*7DXSz5XEH$`7- zs0^0|?tuuHg)@!c8HoE&MW2a2>*t#$!hArumWuF_pamLw3gRa-3dR`)y+19p&xopb zJAL-H8z;Q!#xZ?`w}}dVxnbK&#i(uGpp!mNYBzuQEL6nfoOC0alSku6DF8C*U+;DL zOgnt?$9nNHKkz@E?81zgNCZ{khnQJ&(m)YpXLKR7V3m9t={*9t1HaLCCjZGmSKy&=%aqFyV zNSHMqjZP{wi+rFMrH;@!;fNn`1+F-c%B)@p=-x~Evbf92Us6UTwzw-oZnC%wj~i$V zkELP8{?<;-4BV?OG04MOo1_Gj9r7W4i6R%d^BPkgR=C3zwle9s7`g~_#%I{Nmepmx zK95F9^5LT5GX#$=ELNUGs_60y7!q5XaysM&0qJs;mUbD{`P|q4MZq54RpZDVNsu&-(#s$jQs$020Ojw+FiUJ}@SMP1 z5Y#~b3D8UK4H%dUyALb8MMG?Di3V|QdC8F|k<@A(bzeHK;9B!9ZjnlwXpxFyKStgA zkbrK`_^CZ%JsX_NMfu<)*R6Kst#0gUTa)jxpcs}i-nt@=a9#2iXWC`v%HuOVW_WUu ztg0KRhUv1)##hH?zn7>yT7ooL}jkO61h}9sG$(0gI63bANdL|(J@v7j;(1lVyCiD`tAl&G$ zd$IMmMOiZ-sG-b2YszR%Q|Q}O#A`HK3AKh5Zn=i<3ErIs_XKn54#NZ*c@Lp3@t~Ff z^`*NXVe+Ui{dGMCY0@Ws3Ymg`Q8rnSvv2 zBzbZdQ%bzlGt0(J6Q>o*#>#};*s_sDHt3|jJ`OR<1{N=O>JJZxM9?)G1S23Q08r#6O#4WIdlRjRl&(4gbfqIw_{icQ@Z6_bU;adT@RK=Om?`1{4d!?R3v!Gt z&!NIDz0&oqs*03C!4e;wtH;B5S084xi&-q_QeYd|t7pNUsmMwi%&>=!ax7gl->2~x z=}uD>24+xSYZ|nCfvFSNqr?=^tUP?Hk(vl!Tlsrl`Oj5*b_3;Ka>4D54e%3m2;ghl zUo;fW#W)V6eXOsQ{U!P<>Ap9>xxu}m0j4f$>_w_CeWI`hXS^-=Fc>*M`39Y+t+Bsn z;Nv}k?T~P4|9RY7VSr<&_W%2))jl!<>~>s`sLNxT4!)9Q&G7LeJ{z-eCT#t%)Pf*B z!6zMw#)U7}$8vl%k1`i{gyok_{XloskhZnc4(b0-NSoK*;t>7?#fzJ=QzK@lLJdk} zI)ZeS6q6QTX1>;sXvmg=7*MSV(`GO|?J<5R$M`apbl18#6bzhg=Z0Z>Pw*2~@>LP_ z5n0Jl_HiP-FPx52x5Hy2($W4qfw(Vx04h3;{s!nU8Yxi`cWhK7QR`up|IO{cEEMtX zXg+3@Ic9%VOqUgrK;;4cDa~4sk2`ZGV=T+%-Q>nLzzqkn0o-U7FUx}8*aRp?J-TK< zXqz9}HXxJ{Vy4s$_6&E4`=g>HDBl~rPXW1%LZ4YQWtue@!+JOirmoSkMpB2;ikj8m ztCl{vL6_E>HP$L4A~){RPP&91S4J?dOZ6;7wUMG?$s-WoEUhN2Z0|{*3>ikvcT39( z-Xf7c_iLw)+6bdLCIEFmTgKOy?$aQ7AGrxi*#Pu@-X_9+lwZG#NNPnrw?-{TPvf~Y zm(JKSo`hWc2i-z^Cph?2#_FTdQ?1WQz;J`%ftW!-blCi0f=ExA7|#|V!xvD)NQ!Ez z_(upgwkiDwnepJq^&{y2H!$mAHD23-U-lM!?xrlbo1MF{0aq9yCYR!Za{PSRtSyU3 z1{lBEP-l{un$lC(q8Vxw@t&OFTw{DcpMPvJ*G~>hn z8dfIqB3CSBEX-+^*zrj)8B_(yQUqnZv?%Jd3M43je!b-;eM&nkK*SjT9GT=tBFuI~WT!w)OzVt3m0BiFf%>x^4JC>$6Mh3cu2ya2H=bUG7<~#&LWz|s< z*l`bW+Cy|51UajWrsJrAguUypr|nwC^osB8lJD&sb}d6J_*P!?t<1YtN|?UkAr?Kv z>kguX$E4H|icNSt&dAKQGK=<)wcE;PubBdfGp%->4oiTlS+Ie_DW7qmd`%~m8}ery z2#^lj*rbl{bpDivWTc|}m;`GEP9C7?FmaR4YCX|=OHfHlOxfrL8c{* ze9c45+mj>ON+nE78oA;j-n1u2qGbnBGC(~qJ?FgiOz8@3KhBz{#^0;6Vj%hqyW+AH z16t7$XI?Q0|KUSl{*wOt2lqckCb8f=0o;|C5$lEy1PTF~rcyi;_pJp$x#((k5HZmw4@!GD8Z zAvp>)%A0O9&)dhY6fK4vk%A8s7q_*U16;uN@pTwd&KOn0k_{*?u2GKoI0LYb`iWST z+yGA;sG@-io=~;VFib=32x_#ONvquuv0F*guxz!NP-Pvih95(WQP_V%4oM_+vs2B4 zlCN}HlS%jr3mN$N`0k|jg|KM9{ zNg0cchZ1Cbi)NL!G7CP$u*?Y*bbtW6JB?#-Z!7ZE-b$Y#%ZDXfT6?@D8(zAV^tm!6 zBO1x+r%gETk}ObjPCpHfx4zO2p$H^pYm10VVIjXySpi!<^Cd>Vx@&MN#v-(Tp&5>R zVcZgPr=c?)g@l0Ng-}!AWM;y)JeNzjGaJgzhA_*9TQliK76MC3CZmSQKws z0&iL}8#9>hO83gx45d4X4!CJ#b_g4khA*^-Vf~0>J#!4$6WM4t7gAp6gL$e7G(Oqe zlTf=+B+^-w?(%IoX`9i(z4N~V(E^wggcx*{-s^5=&^d%<+OIH%+#0aE_NlGh6U~Z8UpA6X>K>8iskXG~)*GUuLI)jGt^9 zIFhos2I-*hR;tU%w;nH_Hoh_WCWIHz6}+S-ERTXl*e)!?R++6Wvc5IHKn*_m1!^^> zi|{(d0=1fxXWmBBcKA$jzYJc#Te+!q5Io(d?70}ev(wV*727hu#TI2TZHuP)iGKE9 z*pe)!bfrk>YQ3|~y{FmW&UTi~Z%0$N*-Wqd>6WkMHQ$;(R*isZH ztYdLY!ZFNp9&m`o0aZCEty?Sc!`bJuIFrxboH%#I51^~!?3`pFC;eVdBm~4KrZ+oT zF+Vi+&Jf}z4PD1xZQlaH24&IOw`x(~zV>a-^^5SVbTOu|R_WFDP8TL@L$YqyAbLJ* zvjCDM{b75zd$cFHrF{pFTm0LbQ;D7iNh>4Noh3ruxfwzwnL=^XY$tSw)cNKJmF3x! z_4<^l{maRnMkf~g^?NdGm*nll%HIdy&lxD*Qe8SYfbuod^hqzTevsbUFqD$5`1UYIc}QmJ4K7lGUfvgIJt98=XND~ zi_V4o!29i$@H%UEn|j!})7)XQC)s|MKZ%v$kRItIyW4w`+mmDr`P^m_$-bKYG;Y!f-nGPrF=m=m?fIy$)A>Hp4Qx2Vq=Rg;mV+UtOqcc}uk zh{Dp7Ta!CpF$KUHw3Dg=^xMu6G$S_?t*Z35Hk6>-G9q)+Y~KdmTy&bWZYV*=9dL46 ziOAlY*pfW+CM}bGTbPQ6*x9+w$$c6j7KAs0W034N;vek8WQR>ifh_4+{=kJt*sF!w zkU1jtorrdc(T=U|1S`YB(xs;PG=!);9*`3fx8ov1b^-nHQJIavl<$S0MV34-kI)j5G^41 zMd6(YV0#1l!bpEk@MW+6h*z; zmb4uZr5`alK<5yTMkWY*5g;0rZix5EwpTiLnAUv6nWRdOA?W{PkMC4N*55nn2db{! zLEMJJblT;%U8s^^YY!01x@F*ZoMDmM&uDzBPB{c^NOQX*y-9CC$L~0s-2Unp+H!tO zxrtG$KJ^b{g~hfMt|ojq_s!hZW#V1rD@ z<*>b1TvPbsWlwvp2yynJHCQ0lfR1%`BwO7tHk^{F$ObU341b)jPdgoj1O5mi(h2|L zZy^)yC}n`8Hsql1{B)=GLQ?yL%@f8&WKEu*JRpB3Q2huc)xkj|>uTxHGmK@1PJSXi z^t|SxVlZI5RZ9oIU2FIlat(kdL|`p~BuVe3_Y{zN6uVW&S{qC*hhdu4Pp%$H3?S+4 zQ0p0z{;^J-UwW6R99>u~AejC~{k))WO=EdOm9~_()Gix;oRj7g8^2Oowya}^LN{uZ zz!yEnbDR#fhmElrYw>7@P3J;33yRG2c1k-RL&1`ee7CMTfXq~qjE^l)c0;1W6cPks zjx}!M1fhVtsN}q4zn~FRWER?LBvWj=g&0#F)WSQliYdKYL`+Tm-9nY7Zs778sJX@} zs?=~fSm5Hsy+G%W$++(0UCuyA96D?p@v>gVNTvmU>}b?@GU9Np&tM_K3bF19{sICO z!l^(e6SCbM9eNxT`Dw@U-5nj)Px6D>XX1<`zsUw_tAqR9mJl|6@uN*`BZ@xDKdw!- z6LAVQ|MG1`bL?Xe){OMo?h&?rRz?mUp*XB)g*s>esK)W}i2sSM62Tzt4a#i-kgq)g zEE|I}T7!uf?D&Z$5*4J~0rRq1YS}F{KR?J5SlQ#Mg^RsGmh22T=<58iTj6R`-XO;0 zf!j5#)e$VAj1UxNc6Fdfp9+`;VFpZ#8Fvb4&_!kt<#oLiNb0js;!380`(&5Ee1~irtmviQH)tvc& ztz+~{v3ZjU2g>W3Z8o3}QDG^7J*8e9NkEaUY_4mEhdnTwy6py6Y#RBd*}b$`IxUG# zKv(D__0&27Hp7s0sI#6~U6(p9V-X7eg5sbSER!H(CfA!RS#!6KTz!EEXfcNZ+g?`D z+4O`wQ_yC#j+L~|>hG24JCuyHcgU9@_bQ#oSXlsm0~)x)q!4+3m=vc|Zk7fMq5;s= zjq>iSB|E7aG?+)QGtfA2&Je^SkU_*k)Y(sFi4KJ$_Q*QK@($~gdXZyZS}0gj)`3h} zxoP4Bf^^1Vo-Gu-wzAF$bD)!fviX&9Rdi`fd22f2MAJddL<^uROmwHZ)sm)Ls5Xqt z_bbsSfFT*$aB@Ivf9U}kb1E$Vk#12eOF5zlFAuz&f>|*?9?HShj7#x-heu# zGpI_`ar*}0Yrb)C&QT{jL+jeqnGKndiklsj2af7NqE>W(I!1I|g$Y`akhoCD-Bi^cs^SCm_cuiK$aY?e9`q7Kj%>iA*0 zt;q%J%%Nl(!jq1i$a(kz$8l6lrr&f%mPF>H*3tA{_x{9P9^d^1Q3~OJPy>!K zMkd{^M#@{Wb0D$_4em(!S60eFAVs1kNz4{hB8SpSxstl!0$t?5jaJGLIXDVs>&mXJ zZe0&u-96>9_gUmX_TCoD32hb!5FaZR7JgzZMhpBi%g-qvRl~noj92frQU+5w*d7jXWo1RIJzFExy|Ae^PJr``iyal+niTHX#UUZ!uFEYm3j3Ky_<+OmIE zm%Xo^?NF@!!XrdnBbvue2G;#-xu=>eVz;1@dz!O{U_?I<5-*TW1SxSo#g)p)8A8c6cl+gi*ri3|HLH#xb$Ri#CAe zM(5YydL8X<91~A?=*l8l`I|1QZBplsGKcNlk&-KEZ^*{e?AyRiqbf44jO{J+(HnA` zM>u?kBg)&H&4b>p^{1QdNO!Xx>8c|@S30s$2W0TGkfRBe`^oY+Ooymp#nu)RWo^*0 zm3qb=RvCVMd|9#esQF%?Ya4bVp_o))*f;0C4Sa5Rsdsz?enuOu{CU? zvy!3XDDNon9M-|GT{}dJ+UQF))Y&X+mNwg$CG`d9>+~fhC5+kh9ndLV2jZUZ#3+Ym zxnAzW&%0cgQxUp@>e8dg_b7AcIy_hoU6CV83u0Jol!WE`9c3|Od@k+_@g%wTQY$|ENQR&91qyZ9qyUGk-A?RQ|MrfiGmG|Qz*!%dGSGh!5)No8oT9od zn~Tz8TJV9%AJH54PvR)lJAQN5NN)3h&bZwZ?4*XzjE(dI8-_Yb$iMh&r59h}MT0N! zu+@JwT5FTY7aq0r9|ax}GGCCOmYxj_laa&@6cHx&7QeZpLJ>jd-hq<6LPear5$Qcj zIm{#C{g5St^;hyY)hD6GVc#PODYY86pv+yM?ola>t9K$BtCv=?@PLCn+~yK^G|X>? zKKr!MAkPJIUtyF@>|K{ptiMB{+1-N|B<7}KrAab(NOWG&ywdhQK(i$7dLKCBL^|6h za&22XBasHWVxO#ExInkp$MO*}mN*8YOA(0t6A_{&gY``r?N2KP5$ei!knjwVlv@)p zILvlN-Wk3p2;6cX3m*=fC{f7x9a9A>5QSsL6=#FA4h#wR6AFx9>~2MgXwJv$4f-8s zj7JJW)ZFI0K>N^ogZG8Mq&XXHQVG&us%2Zu5YQcNAhd(}We__M;!o^8tk$v_e(ia}M{T$!NU|XwR??Ot4zfE7blGb^p>Ki8ioWxt< z=w@x{3NuNN3&h{>K+Wn7Vi@oJi8>XH%XtYH4 zZs}iLt3AxP=)(COhz+&u!!l$`(D>4m*0FH_3pi1ImwaU*M;$e9 zoK09fvYR3R)W_j>iFv769r{H)#+eX~S=RkkFU80o(3K2<*J_(+&9!BRp*?i} zj!kPPW43$)4Dfm$P1*K%nZMG3O&iUk*}f;BH{#LPZ+RWX3c_hQinqR)*~89vQs#}X zOmEJIk(>{EN_>#tb+zsh4+$*xrE;$L0qw(eM*~RdSd7J`-nOAQI;>wodv{ba)1-<1 z0x#~?Bj!y*r=m=mhLkn3`BD|%k^jI!qm9~4ssFk5yYlk>+f!OWK{=T#0$vFQ|N1q* z%xk#hq^5a0?3CqMyJ0DS($PAd0jIrgv8A7;+ai5tB=bqpgX-^}E5W))ug>K9g2C+YhnIddMFG!-A&5$wEQ* zVK4GYb_@(xcMJ@U&kZ5V!ziVl7@@yq>1+3;vPHKpwmL$;%5g@TVqW2@DQ1RuvG!@D zKvx$H$iOP&$dt=luz)B?KXnWYQ(_0eS|cVVN$w3;^C?f?;upTNb|AKWr0xy=7N@;1 zGTKFQBMrZgY){fhrbpp+vI{APXwL8XKvK~nusdJX_5evp#6O=p=N0(I3zj?s1tK~* zy_b>!pP=>x+BlA580#p-jlLWdq?~Ro%&TT(BT9{nQb1R~ALNE6nHhN*GAMawA)JM` zgk8s?b0R!qIxE5>rWbVG#{N^4OR5A~W)>^1oH{QH@mWWZxs15PrkWX#q z+%e4L+TqTgKNarGZluo0{f@J7+{-xYN}Y?!2XPxHGBWik*%{S1Hm^ z2NMc+R`knrXI1x`=FWt;bIy#(n=A&&xI@WC+-Y8uJ2sY*pQgGwDsra|nq`BvrtHf? zEHXRyqdGh2n!)uI0JWym)s&%hD932Htq(MziF>`5vgLy^qM2(F9+Au}v(buNut$=9 z0$|x-TeSuFo(@L9jl+Z@#?&S*fKqf!9IC-i0?Jv6B|5J4k#62DLE_12^4sRa^fG93 zsL7yJGQis%rUx(?-ir|p%0gJXYs!tj6h+>|g@et^c-sQ>jckN= zMGCsI%fK3E- zfljuS)+=}Me2latAMY2CaIMopr&WpEisi+|#P4wMK;e8U=@ z-3}l1kuPnH)ll1q85kb8DBg@{xX?za7%Oy;uYuSo0WC~AsM4=*_M|~Js-(Hz01q~@ z0IP{e;fWn-ssp@@*f=B709_g2dD7TCNr^NHK_v4ugn2v`t?G)@t6qt{Ia`cGt;1lq zJLqGn;Rrvb0FM9*wV~I{I9+EfR0*dxUh*_7-BdR*WfKZo_=v}81ub~#DgCDYQO3}N z(eX;8L7a#-aYB-h6@#Q>;mb#ow!1zLhX^ANKmNRBww;`MY3)ZMFe&WvLJ-i*k$T); z>#x;nA&LAby&p!=Q%-a=NlDo_LB3#^$x01hp$bb`9_43KYqO$P6+1PV`-paT?!x!0 z`THj=0$?I8&)D$VPW(SZ)|V{^*h1TYwv7uyNzH96y&Ipdm~F}HHY z7Dg@eMtT~N3ewBDKXzEV2R@2qfTqA*SS6t?a%9VvPQ=8X`m4$-V71fzHuylrv_#+dhw&gp?i!yF7EOpki$^Y8twQOjGR7bK3?)~B* zbdkY_f!@el7`Vp7m*eC@?BTQv1G#Z4D`wqj^2PzP&b3H^u8t;M7?@3Ey^M@03`7S; zw5~*_pA$9kwHh=@4o+d0)|)8a%7{$7<>m*OAdPi2wkO!1PXFgO+y8m>ALvc?-}RIJ zbF32mmn>WV9bFXZukXLjkIKlUQdZ56YLE#T6$kCL;B)NNSD`2&2)07e9!A{C-*pszL8LO_$@SFN@_A6}fL}P6%n(DY+n!b%obF7`P(Q2oX zec+_bpB=WQJ-}Py%t4wC44W0)NC*77n2mK{{ZdELxNZ=4qm0V5WI##Z@>0ij>#uSh z0Lz{3!wA`MZ<||G;C6wp=d4tQykc5sgq9R<-X#YUg#o)%wq+A1X1xPJDHB0)sQ?3) zs3Fd{x9#SN;l-hh8?TrSsv!*px4DL#_39K&CDo?nV<>XX&>~|!MHoA^1k(Z^C03gV zy5(0#bZL>I;ZkSdBug%Dw}$~8)=N{U{MzY%F%G?hpQ@$k|)sbRkH<^MlSz%4aNce(uvKT`s zC6D0Q7~;}q#}Km`Ls))ZHDw-!c>$N6Pi_$wY%tIQ0KdkN7v_e>_L06PfB*S7idm(< z#+!r|U!aS}A85->^gq~+xxDaTyO#bwhxcls$RJ(S@suO={+6d&KSz;89@=s6 z2%$%)2&9j9zxP3_>4UDOfA#=1*Ramrrq5dkVMGPO z=m&(+f99YoVN?gkoY+N&^+T?n=LIwI1qag)j3r@!GiR?h0rQZtj<5aLim>lJPUe}ob3_brww~JG~>VE0LoBn~m zR_IGPobJa@ce|^<&f_JOC02!ASCHjjK)_est)G9h=~^c^B{$4e6tc}4_<1O5-9C6j$>hCGOjoZ~@V;rlD`H$17 z_qfV$_xGxNm%mr#yZyZ?=kzFp=hZv7y>$OrdoS17UuQS5-n&yl+k9w4?RMJ((~C|= z4(2Y$y!JllNCexBlYI)}OB?dyB3{~W@zUkP2{+C5e(LMpWxgWY?dA@qxpbH(Bp7G8 z>S&tT!$;%ZT@E_gUmj+@PsgsuXJWJX zOb8#KEBFYHesvBZ)M)5!Hc0i;c_5@#7kE<<#a~Y?}eJs{;XZy!#{l4(3ULnDBMb~ayP*yiJ4+W~4vKAkPGwnhr z-jYtl$8$uC+XW)O#3`vDaxvx2og}Qe3Xz%gXuO(GCU7pREQTo%;b;NQ(tnjVmD1IQ zTosIG1>lEDKfr4!@e(yYP}bl@HAM$r*L7vDYB!wn4p8Pg5FdwPKw1}CUvhooIB)f+ zvmfd*cun@>9X19LK!UA+LBPl~MaPr2*3V|+(By3x|IYp_Rq*ya?ekLdcFPtN!UUGN zAdO~%%}uk-p?&Gn-c1Vjk`xZ;WV9^UZXj^L3--&&+if6lz~ma7`)sN8+iWZ1sIn7vby-D-`ka14rZYIJIXSCY z|KQ@<2N&LxaC}Gl`+=;%UGiciP*5Y)#+|$D$+fI=kBaw{^{n#_741&!$!?w`RbfztSU(l>OnXnQm|UZ~vuY;p^8J02m+ zTu zJ#$CMS7>7QzOp9%_1b;mFW*P4$mulKik$ZRgL7*iOzJ_8wU3BA)#co#XajENMnLh2 zPP&$KGh`_Fik;9x1tnhrLcKrd5E@79x>B4e3WVw8+6QNRL06Cx(A9h0t9ii+1?kkS zLRo0!C{y$e^D5pjdp9Ea#w7j%8@ z*M5@@y>`qxboomZ{ICixQ((I49&~fa*|m@}9`eFk$n$F<&w0qHwU85QA;&%B>0`;Q zU~FeV6AJARebu>~z7%aB5-*k9h=neu0m^|Z=l~Mm>cPL z9`5|l>i6;yLMz4mtJ`l@zZroal%vmrN{uWwkghY|!k9VpE-V=K`scieTU_Tg(0P&V z&N^++eZ)3buq`jx>I$~z1tyVKzlC1NWQ(<2&-v@j5l&0VWo2cnWJRdvvO>|uvhq6` znlhx*kbrN{E*}1d%F5E#P0GrW4b{NAJp52}R`msc^0KnXSZGnmEP~9<`2u9czJ$CK z5l%84$224Y5HB1~?)f`u@ILYy5+zSxVjMqc?hs(^;N#DPw&rKK%FjlXF`k|}KbuFu z^P8pZyt)H)B?2a&aeZu=L!L3uYmw_{#U*EK0GHe))1i{r+3#HP{@f++mmr%<-k-Z< z_d0(Im%QJ(WQfM0jKX_PGT~gZi>wKQ_hb{(?~IQFLJ~j`Ws0kbI2nj42j7#3)jdxKmq37vu#x(%{mVS4;3tu25v-&QQbwPTs zJPgTf>Q*dSrz$~m=Ppfa%2|M>8rv^ff6%4t8p}b(w6%6JDrtO!(Mq0n< zuW$Nm7v-&lj5BKsrlsDqTVxhQjod6yw1HW$cph2R*tQ3FIe>^&m~%Sry-P}32D5O@ zof{9Bi_rjU+?-uu^zmB^-(k<)#pFLxt7*X-59`JyIHtFlg}Ga7HQembxrafC1jhnb z1$YY&6W}RH1oU+*jB3s0nL*|O@D@im_CHyt54g2dn~F3o(;`HAAaWDd#f`lYa8g6> zl(6q1#irOZWsc8A=k5JB9-5cOY2t2qq^?RC0c1K)bR_{;Z>$bx!-9j}TyfoCSU{;W zSKKt)2kG&IW7Lf^Q4^vM(8GFia?cczloTnh|HdL{I z^NJ~Q701Ux@ftZBSSanB|GVbo&!{Rz4_s~B^A6&oA<9;VawBUpf=Le21IpsYDQgkB zf~O4QclsTs@5!j?TlXE_Tz9EyMK!IIYtlP;J^%I>4Trbx0gB_8R=Em?RXpUf-drx; zETMc=;Gn$X!B+rZ68KU9PWLk{xY1B;U2bCeo67Vj**7U!UBobh5zlgRQ{>2yvBnKl-43{NJ_G`9Oj`eNuG*9#4DrEb=Y3@R3LU!wG#&7t|kTb%l&)a!2t8In>9T+LIwoyER}AVCGr zl1?FA*_U29#wR9ux#Og^3c?Ex-8kI7n;?XgC?`Rh?(_*L+0WW*-p`!a!IBdzi0D?Z z;m!OCHr#?E;=vnwvz~ASy0U^TwNJvd4@yNrgZ(d~W9@^GL{p6Wp_E|_>*~qfw$h7R zzb}s*QD=Wb&WG8X7w!$*3UVYSm-hMnWm$a9rSvXqiXkDX<lI!3rXGLQW-j9tIT;s2eEJ!ft9Oa}%mE!N zXWW@($W${L22`1_RG** zQf;97y49vSa#S6f@o`W9;C~{OE<4Cv-q=1|0kf|Eca1~X!t9d?rEf+v12(ZmtUSntGsodkgYl94RLI1_S@86M}#Rw~{qzT_Oba2ss`hJ$Lx!}JgJR-5D9 zw6eM_MJrxAPU##|7XCGn<=b^KWt9FO&h4C5TiEcfYm4jA_!vdU@^>PS>)k}iHJb$0 zG4nb@&MjJu(trQ=3~lWxW#*HkYqbB1k0c+WfW@%BZPk<1epEGlryaRio3=9!3EjKh zm)Z<@BKtUD-1<3D)YbBA{t4!+2Wl8R^tJfEjD3vKX_59wbdp z{yi2L_;;u|{V%^{?>xmV7(e0OdE#iy3KD%v>^c~0W17bp?;WKq2Tp=A#*gKnRL)yA z0)HU=O;OzVq|Jyn83U8GvKIkHI9LmVu4Ij?a?U>Y;x#c84>60Jf7YcpoPU%YxK)-w zgl=HPujQu2<`M`VFbML-+St+^#-%sC<%r~|b7h2n_Xa;nyAS+Gce>mAT(|FNbVg`M zQHHq6xw%)o;#<*r#plDPLt20wr5CvBl!Pg+ob-{N=BlGy*uAYSH|Y%5L9RG(&ETpL zp^U|7_K=8`ZK;n+<3ko~qH{!RTs7Qd<4Od}Y<$S(l|ede<3nx3 zcjH5yBp^s8@ZE)_RL*vWV%l|@Yh{SIxVB(HkaO5wM~s~O6s;paw$05LuoJCtXRL{I+hMcc}R&JHoeIok}`Y)j8(u)%aEiy_<>#V0wAM1#2ruG0Dm#A}8-K_}sw zF#<=yXAH8K|gridX-Hb zuw~kiS>+RHEVIHyfXv8EO&w(O29ce*m$@sr#rjtXGKR%H%2~m8;BA^2@?X=nDB}N< zVGfeKDc<<6yX?d|+3uurLN)i!BvXcauDUS+c`Wsn`!P>gCJ<3C|S}xKGXfvS~xyr8exXMbL zk@4iZ%DH4Lr%PwKN=eUg)ymm3Tv`0c-5)u(eNoVO!5OYn;h6?$Q5kQYbdh;obcj*z zK-tkv12-=?xrGAmi_RUN_qFzXtv#UU1U*-Qo}$+Na;;OqF$e+g3fwtY>!h!B!q++h zG$R7cO$BxakVq&$?Pq`&zrc)-KS*@X)jZt$}#0T zOVQ>Gk8f*>^KkfaRzYSC(ETzeNS+Q`EO!`Sfn8`KTP)3H>|kO&|Q1*769c3(N(>HZ@#EE=+%XR&E;!zztCyP(<*11`;g976>*@PU4*9< z47mae6Rcp+6I%eFsF(*3P z%n7hL4p+GG07L-PJC~cfUSBLz7iUWddwqHEmkZETToxcD!xaDV0cHN`S%#r~Q+e%r zsOZm*nF|Ut7Z3x2{jWMRHL3nISfRqzB8~W{JuZ)KP>>iYE$iqwVAb)A2;!<_$sDVP ziN}1EU0|zY7M`!7auo};%6H&Lc`#bGdjHtf$X76wkEu13DN$<`ot)c6{gfX$q^i)eVxc9W`QS_BH|lr9vO+1n+)3u<<0!PmF| zEc%=QVum)8u#<%L`Z8zCR~qx7$xN!~5SGX3Uw3Akj>MW4r6ZOzP)C%5gE5gO4QUEU6MBI#sCl3gpcKL7P=Dx% z&Bs)&#yMZ(9I!hnVn|rPVtF8|h74IE$R8F~2a+dI>wmNHD~Vy}2rj8s909vt41-xC zI5Ky05h;}{)iQ$b3J6Sy>Fe6}-pU;T0OS&Kgx@`J4M>$;Kg=Y~A=2lGbS0(j%+Y}@VXKeI)g zSq3h28%Bke*3a=%VL3@Tk`78%f+sJwYiZEN2WUBReB3M#6SG=2%OZB_g@nAY(IN2c zGh#^c8klkCb{s7W187dh2n($$G{bb+dcmlK`dlx#Vc7dYp6iY3wi}n1b6;Dqyc|18 zZ2OnSmWj@9LDV^FOh>|#uXG2()2ZzApwQ?})}^2k2^M<(5<^`s-MC%%LI0q?(siBi zke^S$fQ(UcHXtkLP(F;+A5fs~1F1bWY&`SbubvEhjqWe1`+B2tOhJYbW)~Zv9#+R^ zLu!oy7AxUd+SQl)Vfk8qX%x`sMge_t^tkjE1+c`9H*oLrx0t|DAe>W5#|M|GfKsfd zLRlI%qQd;m2*JFlpf@U1aJ@%P^WM8LP}cj{dLOIz`51^_>bl%<4mk$EgOd8}6 z*#~P!!f3sO$YDR-o=-<6U`(+cc(xZ!lMSj$Z`cmmmGldpMrr8Qn6?AU{cy|Dr6lQf zSQsCMk#gV77Xs~aNZ%42jh2*tZpYr=1?lg)W#kurM%2N3PwPhJlp97OMxCEA4o_D( z94MTA&0ZtbuxvMo$`#!xUVg($fLYXy5INjoqx9?ci<<>|o?-N=p3P^^F59yi+9lV9 zR4v$Y+aUeTpD=MeZ;!XLEZJ_B{~P)L3qR}eri?L>@IK@4?ybceWtbDRGHRFX=5r(W zg%@1~n2?_#ww|%_%RdVSveX*vASQ^qx~BUxasZGipPVC=LVPCu5XiJ{N=kUzeorAW zsz)93kpu^JP`ECZNKawo^c~pv)mQj<6yL!~@aExjc0fVzEbn9I+0K(Le9_%+RlQDA z+`#~Uh(402+zt})qQVfisIZmwUsFsbxXn7V1Mz~D59xN^Zf^x-@rTLH-^R_#-=u1) z;1l=hDuuego%?w;!~HG+vpq%kySaaj11;F9g6H}&g=*vuew_Yk2eCI#llro35Xs?S zgr8plLs51ws;+|7tRPSj_78tr3kuCdi#yzVVc%HXMNMp}#CVt1L zZ3yJlR^d8o6RQR3mp^a9)wOqV-*5dC^-B}DVLs$L02x<}eJ&WvHRvkcMo3)9h!l`w z{M*8|`xtVMqvQ79f(EgmiO|JB(k`*prN1T8K#_}f z)9p@8LZgM>pyYxtx$peokEr8GNvVpu{%C@cFgC z(Ydw2(PRcZu@*QUUke;}GvK$f{-37*ZkX+Xi-GsD0k8feW4!S#XS@nGkUNeHKQAx%*k#K4qeNZ*bLa7Ju91!RpQBL4`ME2sr05y=n{dz0qfDv5&v=c{Be6?>s z&gIWV_k~M8=@DD~qQ7}lH!^ZI?!cMwrdAv1BF~cJtHKTBH>a98g^X%u1-oDHZLC=2 zg**1K5N^wPP=QZ)UKW^f+`~P(E!Hv~X^*|7} zi;W{HwV}T7iQ_-EwySeLrmmum=XImg0DIZZIeRqy9(B}S%sWb%>u8K=waH`cP}~sV zNa-9U2ht$>vI9rLXdsZjDUnRy(qA3g@|;fG97s)UQww8s>}HZ)F|ex!MnO9@QBF3O@h)1F-w-?O-ZfWECuGf8x@lYWDCCl`e7nKE^f4v{qrHOP!V z7zDlhC&`r$lPv(vW6@=M(DVbmCpW-Yu0vzemYUa|1nZnxgT_kP6nHMj6nDiAp)?PluF zsjF6P-c`zO+*PT98{v&cAF^(cYqO(2+x{h7ZGCUR zd79NarYcjqfrX3b2x9e552+yz$Xe2kOf5G|{d^0hUFusK(J%gB1y$O<`h%)r^<8S)p5|>+wplhOZPIjb z92DHg%~#$gz_z}J?4#9=f11l`=Z1YNdSS760b{*^pQ&cyj>Sl`S`1S8yNitWD1d$*<45 z$&Ra^<$j2{Dy|~?3eYS*rxyiu);I^sUBBnc>l$CCI@YFR3ySLW%Zb?)HI4=@`No%k zX4N^?;GP`S%_<0Q{k-2Or&>ueEc#j(sg=d)m;-9f%z@dg1wo$GR?PHYY5Am-d>+xr%GEFSABQ^-b;1hsPEfY46X4P$v1=aW$DIUT_yOLm6UcK_U#5Qm zO+BF6sI%xxkA?X3MMK-XFK)u8Ctx1mY+rcmOU{X%7YdNG=TYc^!jx*AqSm#xZfdpC z^RGDxn0yKFHWSla)r$#MzD`&bfb(d=wjyLHeAMghDz&E}PU`DC0I!c{U8&GQ8 zw=qr|-M3TLrLuxjUA3q$C6w)77ueOe0lWIPGVBk!n&0|sJi!F5auxQge+`up^hyPK z<-fR^ca>{i0d`ri%N5u^b~V4Lnj!77uX!2hB|$G$pqG5jd&)I00lO&J#R}|yaW%i8 znz3AqzUD=sS-Xx7RG=4p&3nr=F96H>cAQxS)|;i*R5NC2-q$=2^qipQ3h0|KOJ8(m z>9T5t#&f>bIcl9%t+Uixn59{dZ&Jp07T6iV&J-B%>zrHTe^E6vzcAx#o&kDV(9=cD zx%HX;PZja)?UNi@VJ?T1Z7heGtNt{v$W?QdwDdlWy6mHDipp|1Ol}3|$uRw!_APrh z`{^q*=1Q=x?o_ydg8|cj;}))`eQmx#LB@)00Fw$jh$(qpMWoPe{63*JCdzGO{`;KA zXv$+W1xDk79xp>P8yPcf&M+#lamV2qHeYhsdQ2E?QwfHh*E}ZNp>?XeTdq5EX_LYP z*_rT|On}MiU6ie|g~8KiGqTf(74@ac;9V=T=0Kw3=CwLx_VP`)cVRX7og{Z@yRChl zmC3X`G!{B5pcA*)@YM|*9g4s9*?~@++EKJRBzmMC_7C(83=Gs*bI1m%N7(rsyHAIc zb7bR=rARqDH5an+|5y<+qWrlRXp|WB64z3QdQrvWgOWjeCznCWHkQFJxzlq_>qTU+ z%T+SieF3fvQr4xiLYv$X_T~YzY@PRjI!#!g0DvhRxzZ&J-&7#3V`4?ya&K2x*7kPh zIVz{O7r2&sdtSv_LWwx&oxHb{UAMPapXC*LyTVnyU13K=4}na3R95tMf|ab^->>N{ zOC?bqfcxCKl+E_Ge|>M4|Lxk|_C7`B^!6OrQg0_!JT;=;+BLinjSR?R!-j#!dsf zDA>hH%~KpKM!HRrjgx8<)7)^oEoS<1KnbDbFGq#ywBfXyyFpqCm6Z+O`!o-^uO_+9r znlmS9;4Y#xu9DvIlgN!Ge+ABE^;Tt)i%1aTIImYwpvzoK3Uo=uE1b^a-Yv`pWg9Ed zxSMA^trxdq9J!it1chZyQ7==O7slLHul{kR7ysgnasKMlfFHo(a5anbG%}?s1kPoN zBWB9ISlniPQ(d{9Q?@ahe(BzuY6Iz7_H8WF#=5}luc8wXzOH?gJ2;`1N@oKB{qrkG}CmpyvcVS3qZtuN!r*ZG2%};|o+btLkQp z>iCsKm}*=Rrf+;6=ovxJ6wsSA(dzqeyNS)qsuk-t=WCs#)@ju`O|5I$ZmShAla{i% z#W}?&;EbG-1F_#s#YDySG0V)p{=EnV*>Vm#UEntD*>sK7m@}U;$Ncy>JweDf++}&= zD2FhJ!(Z3=+?jt>ky`3sJ^>~u(G{*GC3-`}z1t+6_D+G|ZP$>_pVg7Fd|JlpV_eEr z8Zdo=DEBt1nWD173(d<0r~g!c6*z^Rn5@Bhy<1EB68-4;3VKv9p$aCbpm0q;>6$yI zS7g{c^c2wJf*!wKb8HZyg~@Vr6TX58D(I?$ZqeK(Wr~$l>j*ynM{5Z__c1Dm;Fq|T z2!2t;vm9Fp>Ut+9IAt4~gFkR4=d@lV*6wmOtMxIIVlQPgRJK-pSC=a2Omik7wn>F~ zdz5Y5o*%|seS%jMRB<&E_XI(e*4Xr@Y>oL@mvLNc0hVdHYJQffZc5cn71i;}XB@Bi z#+Q8KOF&NudZK{N%+C#N-{QK)7pZPs)r}X`@ynZ^*VQ=YXTdkV0CZQ--2!@(q9XJ2 znhO?QQ>{vZ`C8|xbybU(R(G%G-`u~b@NeaI@y`l#{!z9u|GfLS^f<5JK4!U!f3uI{ z<+O-unabAi?}iq927Idgo1wZTRku`B$1m?bE~s(Tb=o&R4fLX*7Ypc&f9vw5YlWw` zuJIn#EvUMMqB?$g{+(0f@NddDJ_Yo=pyvzdo8Vv9xsOTJiu;)GwN6m$oNAq;*23V8 z3t6JrN^m?5?5tpC3k>-61s5EjR?X6EUvn4e89~pKYgV+l!_Ckgi1y&R1TkIIx5*ya z5ff`iX#cz-Z9nKDwX1)b2KHe9xS9d@%Lve2l&u2JWtkHL$}tX3X6D0`WAiR>E!n*D zDqd=v4N_CN3{$pFhHCj7~Vo{8P{T!R3V8vLqj@C`MnAj~(oNP|;qaH`T^*EKj$Zct@3sO{Hz zgYMIFUDqH0r3U9*gRiSWGD{1-!37%RNM~4{lu5dj7)giA4XTU=hszBPThmKaKotO# z8vJE9xO+_v^0nG|-{8D>s0J4+4bHg+Nv`DC?NntnsEl{sLznTMa}5HJHMmLLz^&hv zGWCB~kuzf11!<=2h$@bhyKc%!3rwV7`RHLzYhkl6GDv^VjYuzj4?QFsKFifi^Y@@x zO1KD|i`(d!je)d|Hea5U=)^@8lvb&tc&n?FTB3$)bX*zMXFM&-U?9S-dK?82Pd}SpdrA#+zB_Mb1 zTZo(#B;IXmA>cwkDB5X5Yj(=JPkyak2S^+FI>1PT%GUw%OM4L_xdwKUX#ok7{Msi5 zDsDNTy-N+nBEYEN<;)*cc=aTUWfG2igtn>MJZKW$P@b8OPsnW8Cw4k;#xASE1DdEw&6} ztElWIH&x}*JoSH8DDdChn)u1TNVQO4f~%UE_=~tNH6?H^)gy@1zuuR##kX(pjxXq* z*D{dTRT-3+a}V-mFS9B~elO}e&3-jkeL)b)96^xP8w{u-wl(MzXal8HReaHfvIP58 zBPG0nQPGMp5;R@9n2!Hmg%1D8*|O8$#iL!gajv36_qzy~BM;7{2iBas=(nj5q1+q% znqJWuL06N6i@Kx#Gh8c@Fs%pdvGc9x>bk+H$_d}-g9MMZ`y~;e;^qgmW?zobt@wZl z{k9;)DWR+nYTzGkYTboPuxE><2C~IcF&6Y1!&zH@CleZ76Gmx$1VQ05L3RYJPj^t#gGeuFJ!RWIf(fSVVji{+e{5+OP8@fqEnXYolm={Wxh`JIo5kzn)B|t@FOkiE z?nCM9L7ki??pm|Ovovf6P;m&}bD$jLaF3wrR_zE)wkCXGb=y4woch*bXeKU<033ds zZNUMK&GW<}%2cq4{@x%^x1-~tZqVUm663GFW;|jat;h*6vLSQa*FRy7|N1ApsT~nU zeCTy;<~#-w0Iq)g(|x>RyC^`%UIu@C#cn&iNw%ZEUUf%U%9L#3vsSNkb|m$WO3f&$ zCp*q2^(XwVngDhPpx*#E35SzN&L;f=aQz*%;{??6gM3eiGXp>!J2;XiSup9!khKvk zY}TWMzO{}*Yn{&}LDY^-$1H6EH85?2r#b_HC)>8#o(j|(v&9}NYa$SPfsleA{d_r0 zjRb+)P(E@Xpb>ZEnP|aIU}N@jEDl9!&%Jd$wp=K&B{58^Tsa?74=U5+DwXM>G6_XV zl_|yykki%**#+C?JEG6Rfss34jed-XbPZ1iJMUuK0XsgnfylO;a&32C88NdcGZ3ii z?K-V-#JENiNGa#y*lCR;F>(o~I5Nt0*%NB(hLU(oW+u34^1UPFUd5cP8QW5AZr;dB z_yYlMDH#c;fu>@TJ9?Kf7)=6ilg@Drus)-rU|9V(P1{C62gTydMsru$C(f)VQfaJQ zp<_IS0=Wom)&OqG_#q?}1LMDrXEZn6;#1A&mS61KVv)G7Q>Cu8T*xjh$~YY9?f9B4$>;2j&H?OW`EL<_a~SFg<$ug&qA2pCH|49Rt` z&bn8@-VkS>JgI)pEzq}tV%f=k#>1r65HA#v8ODt_oBe~Q+))fM0gUJLN|n=jq@Xhq zl0ZVNqfpc6y>53j*s=*4X_FCwIP99{Lw$IV2Lt~5ux|aqjL)-0;uOaX1noio4dv!% zND)DdSv2V{tWTUb-NEoNlszZ|s4p)nA0gwDg(&XhWcw(`+$M02d_CNZ~)XOr<(WM zm!I?k+o1Jl&num#)~P1x<07JV`cnE3CG+Xz7mh`!UqdVC1NY7`Jxy-#&LO=6KOfTN z-r)U=T}-y6Q+CI5q57KS>zT=UbFb%8uE(VRl+rg4PP&Hr+{pe+XO*Q=hZi4 ziTK%=MeqY|k94-~W@wD`z`SS~Hm^K6lxX zgc{~Qh5#Rl9@8-!AJF+dcSncXrg83si<(LfxBK#R5veI0H5r>mfD~sZNkrW1Ac_CK zxpM)o>p1WGx%U!$h%bnwBt9(b0Fq@&rbz1jq9k5E^l0^9C?-lfN##r6l7s}}B6vuo z-PqSQoWKd4ATpgIW7a`h)`b%$L1HFFVx~b{b_TJT21%F%lW-c$l#^mQ92;qwG1_vH z{{G+YdEARj;vvZ{hq$|E&z{{q-}mkJ+THJvN`MRy@Tgy9-nmr~%-LK*gm6N#@ilp$ zj;c1UA_6jL#xCMB(}V=s)W~O6N34jmbE<;qu~rjbS+w_nx3cqk^`Dh^*=S6K_rn8V zK}D{i-)Y2h;4$|yiAY3zM^0cAA9;6)nIf5}{$McDUXoBlXXU~`BFZVKR~=ep_huaI z&Y(C6vSoZWX0j7!80#bBWC>r`b+Uv}$5O?dqaLw8fg%}2Zkj-O$hh)&sBFMwCAJ)7 zcWNiXKF2Gvl2=RX+4NFIiPM~23URtB>s*zLfQ$m6VH}|IzxpZaK9b#+WJMlNJVJDq zO#brM?B*U-cV%Zij)oIVOaTW&Xqz| z$+IRvvhlOhZ2Yrd&SsWI@DF3p8j>rM-5Dc6yKOC)k@w$WqHKo9a?X2a+bR%zE%m2O-1X%|HVK*5$ zPbU$YRhw`Ek~3>ud>+fkxl- z$d{KyZUdoyS`ULaqR1-Roc){D(i$VdS3KSb$C zpAM3$@pGh_jn?QCmGx|o3Q7BYdPbFbug~@Pu)hSEtt=R$z@n=g$RfqZie{{u8dqpo zl8ZifU8h*hK)~s1b@{({AKy3+tJ7YL5xH={$p}i!phEsBvU8o++G3n&xM!%RVfHi3 zvJh~Z0_hT$X+k&pbmJS`xTLmm$GWcR_@+Pr59hF=i8>rbOJACvHH)IPc~}f<^UK6) z+}eCyegd3=yJd+!$0Co(%_~IMkigJ*oNEK?#WcCPyjbRC!4=^-K`J0jER}adb;Cs| z$syLXNEQ&RuNNU<%j(N4G!Fq+9q$O23g7tk!_1SJHCTY`NvOAv(1ju@k<`*SI*)6C z-(+EaDK@ANX{kX$WlQHCm`70KAupT@uRmSWD(>) z?T@Y90?$B=A0d@KF>(uP{0hpb&2K*+YDlK4@zcwCg0Mh0}MKwl7t^bD7&xAXr=l%zo{+oRe z(k0oQiCkM6&GMywmXo?!4$g0@p5@Fao8^~oQ)UH@njk+>r&==7QwH0`+qlCtA0ySf zkKM*z&pKB-Tv|2JmnIXPR@r;wCOW)ZI9uXo`4XayO+e}Owj<49bxAzE-E;gV)0?Ao z)^$H%A6M7o0B?z#;W44=i+l;gt3ojhR!qW`s zVQNT`jlsCaT(DXOCqo*@5Cid86;|f(z4Bx~mOg@$VE>oV zXqYEg#d{T8oK)DK(&tUo6Sesr1Wak{gF8F%#B}|&mE7m+c4w4w%~xB3{NG;qh3_(b zPbkk)EWheCCIpIVPhZ8ua{Kf~rJXuo$iHzL!LMkD_)I31{!e$j;j;1s2AfdIut(fe zeK2vo1t0UtvE#w=6XeU78~Ko`ii!mc?6=Hd{!r445*?p({SPPo|E}X~m(&Mej2l<_ z)9!r!Mc@CJ?|;ZW)$Y0+r^_QQJ4W`S`K)zLC$yj)4)75IghidReb;wBm~`Ijc2QqY z2W!x=m7aE;pZA@Q_|6C1Q~O+xqxAT^%Z`xUna^40bV3V?-H#6_)%o_Q@BXCkFP|~m zIOqErR{DFc@3X#a$oJjnp4#p@9Hzs~E;~dv?33t6o$Ky^( zIHSgIVUM8Fzi=I&_8kxSj?3;TSzEL*NN=!bWe3P|5W_k)SDxgX>vb+urg5pMh|;F6 zyDw|@DxR55-1df7nEw0f%%aGdF|u~1vQ#Nk|E<%ZO{RkU0i>F}8qD1^3MW&mH3}xD z$xu?0tpnv=rj5j_vsp~DxF`vU?lfj;E!~N)M+bSQ6;#OHS+s)w3gP0lf|Fw7SY~|U z)!v{FMrK+8wYgJ6D;TpUp3GcO%A1^3>NElM5VMlmGyxN9(gb=V36ja~Of-SWttN*L z`hG=>@S(Mu6OA=Ogr8d*If!CSpfXCl>40+GqNfRCL+F69CXjX(nX?R)&8z&30!<)i zDnH7ZS2!g>%#A9I?Nj9ulOS>@sD|mGRwI@mt`&PDwUqxTTCLX$B-LZRz<<6W)(grU zZ%rhF*9)#`qM;W|lj>FU;VaV%sLh=kdch!Ezd|nlZDSTFEcoePr_dy28ocX(6S z_j%UT{h&$mc^ykuIQ~V&pGK7r3Nh z!PNMeU91aSR32S`@7dMT1;!b9qzjCZH(fxd(-xu&Tu>kA0;5X3E^yxWKjQnZ)CETA z((3{vWTgwJ^M&XF=hOk>U|6Zw1+77`GV_T<;NMz9;M@LbW`iwqPP%Xer)8o`;FFrbCltb<=FgxV z+b6DvW_P?Jp4oL?PYhVZ6Y8X9SB-!t)I7Tikr2xl^L3Qhx&8aj(c!!sbt!AVe@&V_ z{2ymFoYXmR2HHoef%dJzjkAn0YU_7ddY}kb$tj#<@E8u{?_;*kT7&2AIuCEj^wFiAXj z?m2!F(|&Qns(VqI6G8opj%a$&fprM2>~&%MM>(9@)H9Nwt~yZj>Fkri@9PnrqafXd zPtALs&Z-!!oK}iuBu~sK<)`dKje3vSH$^ot6AKlhnlRF79|ik&ys;@g0F^?KOa#m+ zeK%H%-HL&NWn_Njh`d=F5Y%iX&J#{=8P zVkfa96z?R~jGh>h;e0(hQ;o^EMyy-ZAU7PvhMY-|V_POh8OVHn#XzVw zwVp1Bt8PG$`?np{M;{IB%SDR%E-n4UoK}L<-*<;~z# z=P?0pz7G9;WzfcSUQfYPM{2H6ynFgvZ~Sd`@>|a^I61YX%5k|Qaa_(IzF4uX$>cEL!&FA#i+QIg>R(&sv#R_}Di8U} z`VuKmMK$L_O^r*uOMs1+*E^~;dll~z7`gQguPOY^D!#y&{X|{l78qDFQ%k61_+I!L z!-r1N4Bv#WWB8TA7v?H=y|)(|{dO2c@D-W)h~5#wnbep*^=zr55#Bqc3Qi_haQ<2{ znVP3vBu>vd7iD)Qvbipj&Fo>cgRi8KZ0)g02W6~HoH$>umMFpbFp)~FOFrieRkV`rSRD9n-}gmeiPZe zD3Q%h;zex6%jTj$E<_}NEYst12QN{9jCQ*qcq=;&XDSUh& zEhUd@(pH5$z9ES%_Q)9rIk7zUd~Pn>%kv#Ck1qKLuY@_13TJT@tbJWfl= zSRVV@a~(sh8jhH85KR;>kI%_?Kpqd18c$#5r87oSfSFHQOdp4k5OSdIBZzJ4!LA@abJv z7DxMpr4^3$;04>HFs?g8#%eW;m_#X>VW&{@@@;OD!bMWkph>k-clp-2Y*Hw@#kAA1 zXKw-(-ku%6o*fiV7`#=lR_$TX`1QnqZBn>IHnmCNqVDkWV=Bh<81>iZ{q?z9=f6qe zoR-qjPFPCEPZ4iY@E#8A_!vqQ&45zcZBgN0`GQ-@JL&x^ecr#)hkwPnEzG}CtvTu4 z^aM=CZJxkUp=+<@pHbdBEz-W1S_%>y--7&?+?w7AJqM5JUFVghCE1j+bfY~ABO6Uw zs<1QJ27t13VPmpK!8Axv68_{DZ6H@QkPEP~sc3&mBqwf!L;OOCZsKuRp_|Oa;W)k!6s<}@Q45FT z@}E$35#?Ty1^;sbd>7-CZ8!!@mllVZ!!fY#x#U6hTw6@)wdkyHyh&* zX?ODG?Da`}0pKB=%iO@j_CtIPRp5F5z@ks_ia;j;OB_BXiLG^oBc?#(vZzSP=0rqA zH=>?pHK=D64lwAzGdl+u6nLmzK|KyUv8TyVP3>Ju3#6I}z%!t(2NJ4b3eL~3GhVUa zJmHqiFUt3~4*5YUM2xZS*{`0c&2N8&i_t{(&q&8XbYInzp0i(3zRxTc^%Bb*if$xx z2rXG57Dg!QlQ}(mt2|AA?tGC$GV?w_*ic!4-hjE6cqV|#BlI?SOJua}K&e8W3Frt6cv5JNSVM*1s6 zx7W!`bfc4{MYky~)CN@5iVNJ_M0F&>`)n_Sqh)TOqu{QMqVtnkEWITGNcZGxJ$AFGqGwylDRJwn9jG zh}Dnktq@ZcOvS4o#tu+FCOuP`gsGVNL2WQnL;W}*rUEmO`q8VrQ$N&tjI{-*AD6|K zq<&09n_6;S)ZYlBtfVCBhsS98aH4LbLZ&h5)sM<^iM22qs~>5MMq`p7;T&D0ez@%^ znHz0#iR8(`Hn~iImslC`m<3>78M!3jNf{YmoxMK!F929x8JQheu`-ed*7piX(dT)` z0aC1*_>c1f7_XX`{FG`k7E#!ZD63-I)ZBQ5S50Q;6|rhE6Ik=vHudf(O6o(bs4R4Y zO{H4k6%|tpP*l=tfhj6ZEvTWW{DTw;q<~3&r<|lEzVwwFDJR1f%V1tPvE>nzll1C{ zDJRsXx9cb;wg(gC315m1)$8%1IA8-43{TBTEk7`wRog*jxSnXp7cEF&7?!51hULu+-Q^R2Nbzd_$?bxY_C z>tjC?5W^)C>HL}eSDc^e@2n9oArmYiqD6^tLO^-6A@lkB@i*oLmbk7~!LG3G(>eb74uxugxP&?dMwJ5hS z+!QGXw2E(HlPL!q!rL@|Hn>H(4QzdNekOhLH(YPG;zc?49KXq;+y=T+*W*BaL|u>2 z^@fVGFq!;V%JB>0o#XeydTL{2jFPH_Q8|9q0=4-S4-4X50fx6LdcrGulgbaVUg27g z@kG(=9M7zzO#aXRoiiHM)I&&z^&WMb=77QtHBh+W#wf&&5llDCib7oX88d{^D2&D= z6=q|&p%RrFYN9d{$MZzx2#CN@n~{|ip^~eg`iep8oS-$1(lWgM1{A&k@bKBNxq+uw zW7CJn(%^ajz_Q6x_%L88tLrjdZ}O{mnfw=>n~7zN3dpzl4P| zU`dVn!Ihmm=jv8!1{9Ly`X$ylOO2}|gFk8D%j}-J%pvO>9u8wuVv?9!O^DtC+5$H=^e?npWRYw1Owa$wi4uiZl6+34W> zO82U;Q{05^-C`I~bbT0Q@?UiyfjJ@R4xV~R#n5~4xr`EUNZJCwqZRHz)6XtbQ{7(D z6GRUhSGxGI>_w$Z_(GA=r9>4Xl|IKOp$wnM#`9!T%VT(L46=N;$yyxJH571$Gz=cg z;>}qB#GjD25Ir_l%d|7jsWb7*QdHw*-=9f6;LUOCUQ-BA#o?!MQRi>EsIZWqjT~*P~o06j9)~96op(M z6@`o{%|4bruT;ULl=3YrHrHDHVWp@DPzW1r(-d+>cToNYRZNQm{+d0vc73v*;BTHn zmZd1flo9E~F@e;GYMzU}LGT`HeXut0H9L8T8!nvVzdPc9>CJ~O8aGP&!j#;2T~qSC zsp6HqzB?j=^wZ8DU70pW2d;0B_Qj>@E_T;Gl>Qv}?5yNGq#oR^6~dZCs5^5jK50qeVDX>5=>JGGWUI;e^avC<$_L8U>e zk6XHmF=10QgY!9q@_TBK$`n0Gtjn)?gH#(LBZE}=$RO2WiO3*TJ~Bx0jhR6z!&C<8 zHE)nkdV}<$H%LdkL8?F$GDtB@8`sGYy(KY3%_gdBdg=#V!=&nSgFPAZ)+<5NAvh@of(V$#Ov6>oe_M#g7_YQ7;dJ~x>0 ziSdvapUe&zN8`q{<-%>q{?r|+x1wPKL(;}-v6l+V<)k-0`@Helhw+L3$!dois*F$U zfyiQ^RgBM#X0fd2OVj9A>orH#h3n&Um+RG?*`@1acHiCubNK+>DcaF zUuAqw)G|IVNnOYIWLuEoY8>s=%vWl22O|~{kW6lHb4^cp<8xa1VKY9}dWAz4o(SR@MgambD0~6n>6$<1=<)+z31iU;xuj5t*Fuj;+TSgO=l&|2Gv=~nl|VaY6^U^MP*@3D8&Xfn-m+=Y*K7c*`!j$ zWRrReLuRQ{;XbVhbuvj!$x|^c$`+LkdX`i+D7NSgY*1-1F^$~N27Qm`wzolNpWCqw znwAWX_04H+M`p%6Btk74bfMGR+n^liF&mTvJw_oq!D%+A4)oNtK`(g=QMRZkWK1bG zsM)00pk|X|gUTiqg~%rL6e6=UMIkatMIl2fhC*bE>YC#~c8x81eH%1&E-1s1u^N*h zlG16%=F0lL4f=f{4%wjdpo_*0-UgK$9o6o4V7V^-ax605n=0N09f)nv2ZHQQ z#pYgWUzxx+*Q4)ZB&W9^ti4YJ`$b>`czz=If#u83ElPH9jSvky8n&H!*71JCf0sHT-UV zO8Jc=g3nwO8ph5p8NUkuwZ%ks%_fmuMM2pL3d$NbB0qLE&+%WOQU63PIW78+iN+LZ zHOtG%9cbw&si&|k3~&4t8?ZRv1W|C3!BQe3scsU*6`~}-F|-F_)3oPdl%0-_P3J^= zQ~pY{R|ASEsEambq^UQ+e^uR-EuNaWe6#se@;=)ev@O$^s@$R+Gk|$xj-U)Di%n0cr5Udf*0Ex%6B7HdGv{;`>MI>^m03jOKLc z5=9JmQz#pS(ob!cCrVN@g~;ghsL>~_qP_AiS~XM1!c{Yc0K5yL?>}jkOIeYI#$<;) zO~yOq3I8jQ$ET^HxnoB|4eoY~%1s*gAiv3^;ox32o-|@p^Eq>DT$+!i#gpcL-CB8= zX=u~T!%Y1fARRF=+kgCRx2An^Lue=d`bagLz75zV+Db%iesQpA62~Xqq1dx}0wwW} zmHwt3W;(B|^ax99`S|Q}-IMr)m0dv!p;NKR~L(Oy@b&G<(F= zpLQD@dURNbeVJt+ceAXxn>x(Ydz;3Ai>l()G=4oXV7_>rG)k@3oYfuaK`Lgt4EpQS z{`%By^FPdVN(a1{nw%p;3yTjkjbp0Y7!xQ_Gy_VpZx2bzs$PQFzjMcku4->GUa=`s zA$AILY)nV(sLk&f?t?1C4k;=wn@m`QGX$Sh%CuCRj}yv|S_BsL<|nlk)fgFdKj&g^ zU(qPo3pP3L!%PF4%+FWjCT7^pQE6;X&m;spt%u)c4uE|;jpic5mCDWhkk5J#H!!l!%SmfqE|!cO@ilg_0`kJ zERNU-T;C-#x+V*ZqYo!ko!6^4%rrOfOq-rqb=IpEc&2rbh1wP1dH=u?9cCH@EK}-w zimsExOyBuc0}C#OApZMWeQUSkGAQEf*5S1uwmi`7B?R!)4^M-wu8{aH|PW^HbGM#mTDogL3{ z0D`%mT9wutAC8X$Y=7omMPwcX7Zxu_8z8FL{=lju5=+S zd%5ad_;#;J7p2{4Qo&`K^Kl|IKDuQi(AJn)C(|5`q0OO+7mq`m-td;{mu^Y?9DOxD zad6TdIy6m8L9|nvnCYQT6RXxk&*{SmDcjpHCtb|UH0fc|LzTK^d8uouW%<*(gDyK@ zDXXHojmCQ3mtU|n4nT6&E^Ddm{kk(|UuiIlG{~Q@2NWGpo1v8giyoy;H&qV_%c>b2kh)$sHBAfMbUYGG znXJtM`;2P*Wi2^8szU&m-NyiGoO?TQo9eqSw|U*P@+^xPCE5Uu;UIdJQ4;H>Grc$S zIm`0y&b>*`j5XEjb8ll60?2EsCMq~Lh&S0@WfZ1onkuz{at%$@1P<&#n(CxxvC~x5 zdW^LNXsWoeou)bx37>hNd-E8raqcaRQLm}8Q^LGVPE)Og(O6SWW7G@AjCi3OniYPz z_wn4@2zZJ0*5urq*IRM;JH2(dK6`!g&xov@+XbQH$bS}KdA)UZV8wcC8d%>eAVufi zh5=Hn#U|(8ycTP^7Fz63L}2eRtMFRv?5rZzVrRl?KCB{gRxRuxr8Lc0r(Ni=x4{Z6 z$m_Ire4R}$170&2Kr=9%mfDbM4V`vEx&*rHC8Y?1^GcomsvcstGMoNt`WO0Z|Eg%3 zX0JaR@G8!j4YLUYr@zjQ;aGp24~Ap?)fVNnZXW5c5r*U7PIHPJF6}ecU#o>dU&WU~ zy#9JZXZz4!dr2kNdWk)b*ByJ^eJNz7{%W6bKp04WwNE*i{;I}fq`hnXRlzt-)AXY% zGpgG9tHtS*p6Nq$OuImkHTBo4(q$F4&)1!z?)CIni~C8tlfLdGb;WV#r@zjA-q9y5Ri37R-wA%`uqOHRnCx{j)pJVeh`CWY02S=| z)A$f$Wz;LyTKtne-hq6=(s+UHsx??kIkn(eedf^i%IO8Wh?LVg#?4AOQPT%G_#T-% zsb^=}aiXT96j)e^+VQa9KNb%Q<66YDE)bD;X1-7nl!kiX#ulyeaafM!YFrW}F*u zVm}ib%kYOVkQuzG!WDk)9fO}m)WQJk^#+(COmQxXS20&Or=zMpC1>Qe_KNDD@`U1a z^%Ja7G-sFUXMV{B(xaxH#_)~2;q%s0Jwj`!UTK6*67dRWNu}yl3!#%7x6M<#0-+I+ z&8C9QL~ONMF+aqXLCb^&WLwbuj=>=ROYY30#e{zl2E8_WeZgFzrp^skV{?TSpASU? zse;w_3PzEdI?WejMm3O82IAG!*iAT9@#Vdrb`0KvY+i(a557pn)6KfrgIBhjH|m+A+F}EP|uB})r=!i zYX-1-?Lu75ho#L_w*b|<_)tqlz^jES)Rh6RzUu;+TfmOn{=W!#_3wYqc%VhL;6znA zvIVxWh1=W#AS`lJLB>H!P&x%^*xxIIZ8AvQv)FSU+5 z$>E+4Qbuilr$3k$V!8Z@9j2%m2WFp0RxP2Ply|svO098ySt$yg@p86(WP4O$iU1aF z7+y!Qq8a{w>Wts1FO}!=<-6R;7PeW^l##C@_P|-mbU|xqRQ2gSY!EwS|_kt#9Nn6MW(hpT9^x^!X9;4L*N{ ze523zlfTpF)%smNPwO8dJF(q0dAHB2$q)Oyn%wO3YVsbRSCjYpyqf%o&+mAnaSJ*^ z!+pZO#n5Wl8f*3q+o+}2z2}X_?fKPjG~Cav?3DJ^H9Vl~v}GSucEYj`DLZM|hm{?( z>?6vKTlP_9M=bl8vZI!LT-hPZKB4TeWuJ`I@?3uS@$_7nbPC3;JmX$((qY z=JC+io2K@#gZ1c6Cvc6{r0esa|@l0q2JJhs?mIZiac61N)IW_*D3G& z$2tY&3}uHSED^>$)|U|;52P{ud8ayDeSlWwwpC_iH?@%}y66AN7YGJE}6XkM_?VtB+4LI3ZEwPYnZQY`)^w!q<+|JT1wg*yT zoCU|T_mh6zZTlKh{&v*0`@@ewjpm}c8=sfk(0Vs;*K7#FyIpc`xK&s83Lo2)yT=vW z6BlfD1)Jl754(a7#|5x?zE`Y%Nqa>*q^Ep3M5^ibIi^>irq@Ju!MJM5Byu2%sg$DH zRC?ag`=#wXv4lm$?e7njPGHl`i68MzSBB0De1G}T_;!SyhBD4j=1HZo0xaFB29aLd zT1liI0x}hJ`k`t%RSid~A4-$zY3Vl?oU|TLz5!C%7Ty(+>K!qu-a!M7M(=RRosRDA zRKrH9jjo_EE@*HC4RJx}3c|R+Nb|D#g+!-)dP0Q6^#ExFsg6|_jH>1su|=Jd8IvkS zwMq3WZc<*@$`fc5qg&q}QXL__z??{RWHke!_V<}oN4K){uAvMwlzEV9<5P0B=Y#O6 z>z>6?g_xTE_DiM%o!dfJd|P3dRPuCq3u`O}i7i6qP(^fx5Asc+AP7I0*Sg6Qp!aTb$Mg1gtCLE1e7%D~ zeGG%u4hA~K8|5MxtO_5~o7=J8$72|rp&P;Aw7LZb!@5qxU`RKB!DV0Z(%l^J^>m=) zuhCr48h{Nlfx(>D0OGmuyAB4|?xZPTFik2LOy9}&gT<8LNa43KW;DD;bg(>z!Axsyq)wm)+9C-yB&ZUVB?73U^hG&Y^c#J;ujn3?C;x0%a( zV4A@SFulQ=lfgQc<^DMXrX7xpfr$Y0n-g>!kjA#J%Gt|hkCEA&#TKR)5$riyWUGRi z)%;Sk{y*v+1vOcp{Tda(+f7*5-3?h8#<~1AoNMEv4DDr%j+C}?V^7&`1Eh_OPRF}> zGq-b@=cjfxWc8wMU)~*?vsZGBnAp$jg*Rsh8yfD;2Ms&;dn!lg00y)FpBOa8p3>`3 z`O5>0#>SpBlySEIQz4lZ4H<@{XkHLhmF=&=%Jz4IWzcr|+G>ZHl+daKp;{kBt-On@dZl@hR2PtGv8Y;91U_hCm89-J2b6Xm}=O86Ikc zw=t;olL`ar@(oK=F7 zi0^)c`Wju?>f_tyZTxYCmApx&{$B|aECFyem}yweOj;4H_z@ijP4PWVt5pz9xSF4L z8Z%+`NB6GGgc%jCcn7ixf`37Q@!os0BLY;o0y>1^ET5%H`5CGRmbwT=-tqT%#zVAW z6`e1q4$1}0?Ub?HPj==rKi0VXiC`a3l33|-)$mNYak-t0Uxnnhlks^itDe%lnEnQY zH2yV1AZ4RJPuW*BSH@HZb_nP3FG+~qaLjO(J@#mBGqBpsae{DZM?FJ#yf(CR`I?i) zabYAW{@b{U5wDEc?s>r6LyOp7187xW49MFA(<7d)IbVGV9UL<(Kv7$YK(AOKSsu??NX{6 zu9?Yemy6djM0hPr8Oz0Mmy6flETUK{Ub_@@WZr08rCRXX<(}7qFd%%w(8xyvAItVC z8?I(74T^IrrNQ4^%lfynE3%M-mun5HgyzhTi6B-fNzTo%R-Ybc` zIv?EY`Uw|*0oF(Dq0ARgs`R8aF0+D;OXZ%Ap6dodUfpzR6 zBGBhDjU^t1GS7d*iQStt9pXC~-9ex(4_Dia3A26(ib?rVXpQh7KjKL4N3>UN3BZT9 zt*HMGqPUPr@)5^v8rSV%t`PeD^E;bDpKt%kolWulz>M_st&wSaB3z-l75wNXlJYa} z)Q?+xu$@fA@|OSEmMpt&mM+II`|)6RYvK6oukR@y>^}TMEycI@wib^T+qzz8J5<_L z>S!)@>?$=Mzd@xJjus9Vt7u49S(Pujs+jPucfWIcr4gcq(VobtL3d?*m=CIt58|=sw=7*>g#)tws#%h zUwS*(*HL_nu~!c>*k7dej$+6DmcvK74it}d#U(Em54i$+@x#TAxWM(bkGG18_7yu0 zl{$_V+M1HGXIqQM4wjDH*V%QvwHS63JKIZbof{Z&$qQ41>B{!J;kG?-6bH-O$VnKMz6LPnxeAW^#!4- z>Q?m1p+lX;86)-s5@{LL>}lb>IvGP}@M@{Mqp29CN(7qFkP{v#m0CN47uvdthanNb zmM(s+(9s4pbq2GN-?pxfVsYD1UUXaWSm9`UYq2xf8)f#Cnz$0W0?|nbaLGRZY)dP| zee9L)u42bb0DJPg&RvIXck|g|p{u*2xU03)^k%0k0vm5e-6tg)hr8OaOEjNufFwsvBP1_ z)ilVw(AL!2-R#>;J?ncfw7pg645P6J&mVZ{#pJ32A}_Q-d_gkvlFr?oXuO)0)%P4U z_LoXsF&PIofU3(^n>v^G`gzYlU8VLEIHQsX6>2al zOZ9PoROUF(bA|Sx(A`xEJp0oQ*T2mUq z2Got~r0&OJM8p}q)=_8=Un(^h1BtJ&JrTgJATt zeJII3m}DPFviDbDGuR&db6zQIF1AZgYHMmKc5VsXG=tc}wo;#j|g^uR1wdG(( zq2u`0Am0{gGU3|*ChR)W(#eQIrg&Ir?LZVA58I`XmAX4ykJGv)AX2-zTN2GxX9}0P zyS6eDipN?G!YH_E@9qkLdsr-V9uLtT+e@7-nk9@Vq;^NxWb7j>wjGutqnd4RwRDtB zJK7q&)N(8uSEn0TJoMc(*NkS?@+Lo}Qaf+iRD!C-%$PGFZx|lxZZqcAxixsT1?8aS z&~eIPFRJ9K@M=^+#rwe*c&kqIvhX04-YT`2KHGH!-8F(%iekef1%&?AU^mZ$JA0MV z+iej*!_pzt$NRcF3xb2acN^+nXLzUs$wF7{9W6&0>RZK5_Xb_)C!om~pAB7X*`^zv z!~oSh2^ZF?!vU`ntJe-fZN*OMQ*=^v+Ddq&r3jXrNHk*UU@Ku2w5CFLCoe4QqR)36rk$fw&GpW2!N464t1VfsST;oQRF?hhA(T5s65<8%f$$7nhxP1nB9HYjBp9r zjLbTzSKeTZ*#YmedyAuh8q?Mw(}F77$y)({6rX`J(}mM4B9t3bjybTg>q6KLJI2Cq z-ok9_5|@uAzh~!#u85r<()`|<2*-k#h+Bgf!OqdJrMR zidZ~hp}D0U0V#4XwzhCn^QxIHTe>@smf$Jy79M8)!$g}k#TZg+;ULY2#V*&hX42ud z0`PA6vF-wWJ0-|Qi)=Z*MdT$4uvu-zl~lFcQ5F3Z-=ZRNO16lfQBLv*Kb@rxu{p=h zpx~JCMomWygSY5zI-+*=@7;YM|MGJ$?%fg|*!#l=MD8!Vlz(pT*5DHlY~Q{;nGL%i ze|&4Ob*u052#*DG|C0k*=Y|nHaCWE7LOYjW-jxNl2&b{w;O^3u+t(Sc4W|I zWZ;ntFS}0+;=>RgI>MWxSSA8bcgSJlo;QIg3063+`)b#;pSOz#+fiH7RmEwWjv$s* zF=Ceu!Itp&6Jda4;P>O9ez&-%EO*45GnU1IGXvBv4w{)6U4J}m#Tw_51`!xcyQ7_PJ`oG17MaRIXvHDa2y>I{j1qhHJ0Fw7T!phR6hHT4%EXh>3A|+F{Y%{WIbEdXL#zZWw zD2gH}m(Eba(-=tCi6n@Fskas~-8P(N)3DAqLE7yUGg;4| z$u>dSof;YS^F8Nx|LwlTK7gR?OekURyZ4^^yXSX)=l}2gem8pIwJ$cJC~7=6{(R#^ z^n7yS1b>_S4JVBg&&MZD@HgUL!+u1%BG9io%vYo5`}6>34StWE_^SP9m%bXse==_V z_)9PR)E!?u{=#ctdG+|GkH7Ky$G`IOkH7x;FTEW3t-HVcmE*7e)DQjmt6zHQr62q= zf9AF0B|szjkspqdX0zF_e|>#1$7X*tFfcF}HKL(tFzO$O1_v91{MTp<4E8mm!6X{y zTBEOja4_nN_BWkzQ!vw+Ltt<7yI`oCmPw(?=(kFMA@0g^;ahY zm--I(fARPizx3))#nGKl(TUG~&+*rv`pT=X9)J1ur@r*^>vSa=-)lF%|MM?@zd`=c z=l|^S=%Meji%-3J{Ds$#XMn%(BcFf$b5FhS$_qdK`PY9cd-+9&jUGN=a6feX^-sR= zQ(yYZ>ra3Fi^pGn4a&S0{fGPVThD&!^StWSA9|g(qW@^ZE`Q?X&%gfp7hcl4{$t0C zHnw2)$RPv$&tG|w2c5b?`i0NGeEikdqW@&l?tb+6PkjDme|dCt+%A3Wf0w?e)0Gl(SPcV28@63Cy&1xJ>gi;#ugNwe&O{Oq9^az z(wbfUlLc9xKK`e_@)O_xr5BHX?By5!^h?KIjQ+E`?14|bw(ZVGDs*`1rO&_o6Zs>@ zd@vx;$KHUBFTe1TWAe-kFTYrY%e-kY{r(r;2pxXvOJ8~U_2{F1hZeTpdFn`xKX<;r zvj|B)}f`l2`Rw1asAJA-}9Y5S?;ukofWjYS{dpFQ>IPyF!5KKrSU{lL>7 z`_#ui_1RBwd@gBB_y|A!>I?tn$6tNni^roM8TssIKX?3vS3divUwG|!5)TbEqO38J zJQzPa{LBB}&=1Ga$nQ29@rnC8{1;{E7uv}Y`xzgLkEQWc9A(G8oGnGu?Pl6YqnD=J zk*+qsZ;WFa9gU;3sSAVCt$4ICk|x>YbT$Z7_V>=wAosJV6>~Y7isycZEA7TqJb5%e zoN^p(HMlc4okkDD(W6Pk$u}BD<9!?(k4KYfk|qztlXfF*>@l?Lk6x2bJDzDgaTl7)rH3E8Zc7-18<6^(i zi_o+$hN6E6lD{g6H7xh(xx;-(=>!s=wMqabVbHU zhwH--5;g}+*TNM^MlODFsW2d?#II_I(kPp|08zp_|Jcgdx{$n0 z>{vBcQPtFzHnfqQLi0f1*#;vwc@m=?F;w};zLCbJ9i#1r7;ho>6L2bQcsP#YK}1zU z90lzdxpqX3f+27R;=VA zyrK7!d?1r-C7HI~IZr|q467hu)1w?jU#Qx2R^`s6By9$#@!{atc5@p0j8~sbIgY{# z!9gk9T6e!5;W~cf!;lR%^YEhy9wZWw_Ek7m*eoY5sr-DG*JsVwr`vtrRvf`?@|XD& z%%XK*IcaOu5IPRud#H`4w4C5>rYOzPYL|4|ePHiSQffx{Cl@_jFGTOjl;bEgiuFo7 zanp=D^hFxDS?Nf&@OPwgj3Fx>;ey;?@1|5b*x^nZr6p={=6E$Lcc>F~F zS3@whloU)UsjJX8JC~p`d|;;HrG#N?OwO8`>=)IWS^C9S+5>pl?ZIh@_|V574)%@5 zhFyXKs}8kCVAl4iZcoK$lXN7E?;@f}95z%TWQo9-QS@Sx@?*3$MlU)jA!s^Oqv?5t z5wPqcNAc`p@@Ud=-7=kyRSA2+MtfX?3mOZcksU_Uj@#*TtszEvoOh=EsI7E79Xc8x z7)?fu07JTS;0syu3Dant41)EEkB>zOvgjZ#kF?Ba4b?k1*0qBZc?bD1+M1vn8x8B= z*sdMiXgG8_QSG3!^H}I0>@p-KXpN1e!|BlE&uHil8a0JGokVfclYQ#Bbs-GU{I&t= z75}wf@m~}EK-ci!GBEA2kK$90reoQOqj=SJ7IC(3TGwGEXQuWT<48*!6hoYa-}};$ z&|8Kyajt`Z#X27AOX5SH;dsfk^JQ{t!?x0Ew^!6{pljXEoG8nbcZ=VHQ`nj_H1sOSDnYtX5*=(b}qw;h8;ry1+PdZ&98#(D4b z?!q{)P6J&NMkjb{s2uY_b-F#2jv;n*!EzWwY5!3Kk`9RjhJ4()_joi~4F6C%sNv^; zO@Ul6fDtA1QPL1Xx{)Isum#@R{FsRnQmb4E{Y3xR4InF2TVFnCw z%%4e{ACB&n^CT@cpR35<`OAo}LT7B4DUNekhg>r*ZbkMwpeWiniyw~|W7CZDXvRe$ z3v>-xS((S9JA+U_%3(KiH%YOjtw<<5>875SgapuAkdSF;4dqlY&S2=3-=QaT6(SDZ zER)z%JbPC10fS{Pn!=Zev<9(Ctzl3(Z8VnUx%%4>SzKfq;d!?@p<7OS?#+p=+GVRZN~92IK!M} z6xt7xLnO z>io4Wymrl)&aH6G0{>O$a8-PoJRYrclm%Xot#4aK*I6tGC%tT>7S+bwHA9?Tc9V}%2qPkIW`pnsEbL;8k{pIb*7R~X_Y3X5qw(c{$z?Ekg$H0{ ze=Kca8hl{x(9oPu+WS5ew5Y5f7<|u|hVoq}#YD=;eK*?mt@i%MBzw|CtF$hUN;pj9 zraB!y8o#U8D$+U{ujnU_c|jWszb!eG_s%^xy9TaUpkCVts`g&)B1Xgn|UoCVGXOy|M$VKDVke^}BukxOGX>y*Wv z)UXzmJ;SqETKB%x{AslbVP`|zv$UNWXikKK^e=FddP>jlD9F*;gXPxD!%0%dgZ#YX zF+%QfQOK#p`{{dv<1FFV&%!dJ^R~Dny;|l;>&EVe8P-;4*TqM!m}U1xhBQ`#!53k8 z@TTPWPwSec)|Zm$5MYdt{PtjDD35vP8};zwM5`GeD}8)o(NjsgUoq)SLM(A&S_%M7 z+CO&W*J*o8?&9mW(d(YTl9$hiNoh9#S8%4Xd=J$XvTB0MQ!k?W#Zm4q|w zE9%&Zu`Ypmoo%Z*ikjFlps+1ycrIwrbVfO%a^1Rd?I1W|_NwWiK&Pf0HYbiVE$q~k z3Vk@-KoCvzbj@_ed}BK3jAZ2J;znPtGtw`#8-61+jb~Ki4zEb0#WP5AF3V1g#E4On z1DHaR8;Av{!`X!(H_BE)9Eu#y3DQs}b80j~BDdj*+=eoyHsK5XD$HG_11~Oww+RQ! z`3zn zy!}mNKxu4*o1uEBp@|ZRGS$Y_CiR*vb`lbXJ0_Fm#OWoDdVh-fB>RN7oOCo3_b3?K zcw)W`sL*&}l+*s;msxfZ{8Jh%@t?G((`fQ-$<{&d*E5eM;_lU0Z4ORP{#>{x56Q=7 zKn6@Fh$gvL`FDKKOoJRH@=K~yJhZa$9Yp4(d8r^8L zhtuQ>xY{&iI)YQv5mAO2l|)oHBP!Wz*f;|nz>iVFq$n8WBFXCW8>brFfjMS4$_~w7 z+CJyN>2Os#ds;{qsK*3$j)^NB*IYV78lz@chTzw;CAB*mflnSBJ{n5Pp{1|PGf|xtX=}6$L zoxA_61E-_a?z?zU&1D4^Z?;E2HrAJplDd+VjEXIw^S<^7NIGVd(*#Jvr7bV;9p|cN z*71d+blC8jX{hJw-?_MLuULrH;YgVm4f1f;UXEBV&k+@=m&j@`?cS&!mmxSC#&|xA z@jPSvu)(Gy)jlrTgz~WZNCO9O;UV4>#G`$)jKmUPNN_Qd^)X>EoQ|qe1>Slffo~A; z;dJ6r(m(395|zB0YoMQwKag0`&mXsLs)_7*a?Q$<RF)k(6;zhQF7H8p`gJc**q39@8R6|VosVD%=C_dOoH!4vTO8}jC; zz>B79^pIyWAig}J*53R=_TU#MPa0>B=oa20)F~2`K6;x0e>kya=?RWwF3;-a_ZIB2 zqug$1T#pBGmA*6IVxUC#8r#~;ahMR9im#Iy4&JD6SKpqIO+!UJ9(@u7t+pdk#(6~Y z0!Ixq@C-BrP}g8dvYO=M=q=7DdO(+W?@g*AIAZtyXgq5w$U9?+R-unlvx!HP?WQ3^ z_n3Xtl)ZUwSggibkGdT@hSI?jUbW$?A%oR;^f!GHiWrBP#zKgAS6l= zVhK=cVs%gO<6MY$M$%jd7DAwDEMPl~gO1mOg1AZ2*FEZ;xhZ8-iAJgeV2Xj+SJG-y zb`|<}45O2x{{i!>Q4G*gDV|XdBZ{7bklWBq=2-;E5GGQ5r71hQwZWKv;V1`bGcujQ zbZ?9_2TwG<+B}iuGhYuE)*E^?;$x-hi_L-u`wfpDXb~A|DomE>NH+Loi`T{dX}cfW zlnq)ONl<`P`URu{gop~8iVB70n$!__Dl`+1V8A&vRBs29kp*t(?-?t?Q`h5cPFCH` zS@~C~;UnX5WCky7KGZmChK)7n1zCWRlBogn29tq;;*U4RM9@pme<(N`y0aznndeFcP>3aD=pF zs_bA?S2J!M`^6x<_f1knGK=62wZ2503SXYK)1|dAXtD!yqx+HVnvXJ`8$&3t#qw9tKzYyNpCPoqyxOKpr7I zw3J}-bI>WsOcRWl55~dzV2Cpt`Cw2v3*Bj8p9VurnGeRKH#NC+Fp&0L2P5{uAkt{{ zE0duNe-P6#%_ z8JtMRK6A)9JRSTocszeEWHXS!{C?VWNWo1?t}seyQAqBH?5iLG-Mb(%Sx01)_IS%^ zH$(y}NSF+yhR9@zh)rc0BBLOLVW~mZ%8Rbe%W3yj z^Gw9ZAM_>tC*rThdA!?c6uI23RAem4H$cNcLF{Bs!6c_(u&34Go17CiVXXTYYYnE_ z623m95UVlymNNzY_?txK@G)7&jKZ8x8!Hg}lD?RNSrEJj;!k^S^)lYLrDM?@&B%o_`rU-$SPR7KdQWk0MfoZZ(!Fyrx}67@&+-)%ku`9 zok%%ojn6}kJKIf@@^^eB`P<<=2tnG;D0eL&{x*TOVKOK3L9^#Oj+dLHmYQ4%QW#R6=)Z#sa z@o21>rc^P7k@%BJ%_K^IaGBJM=LbmYXd0HJot{WJ%M&VGA)$99OO-R=K}ij7^GZ+C zFb8FiJB4@n-axs&VY0}$fi6=A@CykI{Zf6XQWVTiw3Er77E2wC37+w`q~if1{yA&M z?7_5vP_PJqf<^AXj!ZVEiK_wlRpUzYlkK9_QOW&-=^u!j3Wa$ln=0E{4{y5?-nQm% zgE~1rWLE5T_`&wRtJ@$tOq2+r>j7fZAu1T33J^0Kh4V=}X0Unwmbn1I{Fp&7KPF7E z?KuRqarTz^0Kp8KAS!K;2QUb-0@lWYL!e~yHki&dhzkMYyhC6WatLNb4dPOOSaOJK zqHY+V_X5aD0D0FzDkNJA5SIf46TCtduQ6}qYJgY|5LXIK+Xn4Wb)E zwZl((?ON#VWjj_OR>E7}4R2ZYw^T5_ z93WN$#Cr}=!Q-^V5sJ+QJWeTvJvn^@x#~nC|D)=pL$VeRAo0ttlJo#tBQpJpRj4i@ zQ)05+kgW(y$OH&H28O~v)Y_msRJj-M_rfYNG!0t9SCH|;CKNc1w&2F9J8**)WYu*u z^4SVw{4Z5nEhW@!K?U%&a`R#G2T-7#8ta55(e>C zsb|j<2AYdWoQGnJ`rm!}SAJRl{hg1zh-oiJ9^-o@A-?B$nfc3X5~QL-t$}PXBaM8h zHJBVT)@oa|g95?fry~Aqg<_sju8bwe#F)H>>VwIX;^y|a$K^EpMmla8{3KMNaI5eF zDlF*rrJqbgd1(@IyW_zN@YP#S!(?~?$5Mj12jXK&>u2U% zX43~SdCp~|_lHyRY7_FO_YedRrvrhZpaTRr)E;?^(c1%mwf4|w$nvA&EmUQD!ul@} zlR%aHmX1RuJ9TeRygamMM!^pwwkV2B=wPch}Pq!9(Uqapx> z0cez1@gcMz z03%ptBPUGj6=+U$MRU>&FKF^(l)}qKm;ozF^>#*cUTDq}D@;~`^1zm++#vp&)CfxX zNwXgziE!?2+1c4yxSlKs@(aVC$!zwld&RzcE^en=Ii*jlRa{QEQ*`DwmR!+?7{wp^arR7?wBE z{yKB?%EQEfz435Ig8+1$hh1lt%+Vj1LnDt|`u8L3YbVg8bw=tpn~G?1i1~PRZ&lH(JyyP=VKI9r9a;)BUY`xIM|g zdkZQtd{H`?6Y9PSq3-L2P-!kj{1|PebjK48J#gzQ4xFajg(#QxH`Dv_1b=@Z!yV$h z1E_XQj-(8;sFJ11{q;LRxV9&4dWtJ3s#aGG(9Ut^$7rh!I%}3JNn645*;xZT@4#uh zg1Zaa9+5J=PkzE4Y=VnhN(Dmp?Z%h0f7_rCuSA;R(@7zJDr-)-0H^ujJECrUo22>9Q>>Ur}u5?+`;tTvU3eiFnRZid0oZbr5?8LGaHy5 zPVab&KdD{A3Vpnt9%>y^-@Jj0f&@Us} zMluRDFCw80oY z1L5yX_rLA>)QEjR1PV&zP(i3ev~sKZbh}Y|xJPDu7&;MVbg{Ihl5l0pETB|F>%O2L z6>XR(!EpD%`HatfqDD)cWm-ew2N0uT$@{W>4lxM?XI#7w25jwxeau?gY%YXp>w+ee z;YV?ctfvg2bUO)4B< z1Vd-;0!H(>%n#ltn~5mtAYtL(kI8r*c0p0^_NFZd;_8nXA0TtE$4Jfy_rgHDP_m)1 zPxrpvzQ?5I$6O`VdJI9|XOHjGi>$x*(GNsjbqV}zjL~VUp(G899gI?p=L0yfKJ|Og zDRTP1rl3}xas(}ox!Xx^+#AvHd)`X#e&?Gl8NYt#S4QAO&Ee|R3H0bIU#_vU1wcL& zfYtcYw^=bGZx$FN5SZWsIuUP+qw10D?l{V+C77+@xYZFUy;Sqaf`XAN2f}!1>8J%! zcZe})j>v;qG!KTd6R`L_QuS}Q4>JN{_Pc+ZVUX&$)M(wSQIq=;cu%F#xH$JBHE1B_ zeWu&{(mj60`jF|iErC$f;@7apMdJNr+!zQu1`yAjQq6fQ&WMWi4tZSneWl%eEp2|G zr4o!vzzJiK{NwK|q8}rqTIWxOu9*$LOn5Z>(igIaU$qiHe5O(Jfh2H<&8&U0_E2H~PH#1sREpF7>GmLJdX{1v9h%}#i1Cc( zr1WBcn*w-4m3Jvw$uyg?r%E@evUTKlDpQr(C7|J1ju9%?_rHt zEPpsSMW%Y&m1@q0V97#0siXF%Fp zs}+P?vWeV5Rdv`6qp6n|TnQz2H%X_pUg@+ZIssjylZLrZv$d?IejpySsyjH5@m#mM zhkSfNaY%EtBxRYS4Ju38+?Rc+FAxDKW}`J*dLlZToLHqQ(K=evI;+1|;vY~3(w;$e z!}q$njIuHZd>5AYy&qutu=fMi*S*qUMKl1qzOK!;MzG!gK!eEx+p>iHVGKbm0%=1u z#2__fmgtZ>Vz;bAOubu|)QbZ1%0iNguny$H%8ya305yn?dA^#&YeBjR>!L6RIvuF0 zUny64m$o3PsTIkZ0~$>=)m|G!--M;9nrg~$$fgf4a#|-()&{$nj+>)shA51xHD#?+ zg03UlMS}{*Sl{)gHkss{IB#Lel?8%00m7*>)`dEiEh8$_@mfK~wI~)`a_Zz;UhGVr zB~b_HTH&Daw&*bdJ(Rz%F!h*iN&^{04^>Z%8a>9G9&8t}jULVm>aTjP@*k&37=h7} z*+n9wFvH?7>9}fciv>Lc8F@hop6Xo1b`@qask=p0FyE^f%!^z=Z&w8(7yK++T_u<4 zcyxe~3#}N)6+5{o*{_qUjsHTCWIvuy{M)B31(?vFmln&`nXiY!fJK%tg{A;9Te>0^ za|6h2DcO@YzZDl+;+74{Y_HUr6?K5FQ744ywvY|1bAytv-%8tNIwn1rBjXV+;8Sbp zQ%c_;hGa&XMCzp3)|_7FBdH%gbLg9*6tyuBiWNJejFCw{H)AEMsb7w57K2}S%)TI8 z1mhnBk|%1M#1uizbLi{pIbinObKr-Tr{Xy{g=7yb7PIvo-IP%$K&Sl`Wt4f!KKC3* z*$?Dy0~G=I$MS`Rp9U7C1^&6_XHjll@%M`HMxQweyJNi3NB@AXW9&{sj`5p#Hp<@j zxjZ&4OyRL$kbA{xtyi4ZgcHy;oTNJ@Q5E|rlC1>3U^n`X3aD`VnL_DbqY~n;v>qdHqzMgswAq7yFkI> z92jrgSi;miZ@ILa9?>qQyjSY2h&nHTw&V+7%=WdRzIJ{yrR3BtJLlOP2@S5n9~ zG{W=V`+OpAXCpkX-UD4T!a;AAj(Cx`BSgkSmg9W*owszj_no)e=4g%LN>D7I$=h^5 zRmHW_Nk7$O5yg>8?rEYPg5mu@uslhu2CZ=>RD#FCU5l_J@DS{SB-&!HL|YWmfbNlK zp}*Kx1)?qdjI!sx_Ml(6UduFO(itjlCw9X`r&v>~Y8RDnOjaonOZf(_5^yx(r+jaWm!zK2h)U7Lg|dv%usiqSn;9-u>8<+b4;((Zg-z}HbB=_TFXp! zD6t9VC^y({j+9)_J2Yezcj z2+*~TbnAc=e(rLNwpk`bmd7z27U4Wmp!j85$7a1N5QoyjTN{@RY&bLeyN}C;(hxw` zx+68n+ie`$06dV)5>bM^+NA#0hM}p{rBwkp(T%Pp8$O~uBgb=0`?z&%&kOHM-PP%J zXx4h|%bNNE^bPuwkrF0k2_4X;8f3FWC#Klr!h3lHJMXzJV^DPm(WOUm=uvLYwb!2v zx;#hf2@;0bDA!3ew}VAists$f*ZtUl4$pOQ*TS499+cu9Fqw z=bZwCO>Ex7IfkE95@)kW1wZdbF&+%E9H$3s0^Dl`YQ>4Wdj@Jn#09$UX}ceJsAQOf zR{C+sv^X6<1g&pJhH0r+G?#=X&~-H3)i@l`%maeMBf_ugRTFs%gaS73J}l=-3syp? z$dln$IzU`0izKK@W{Tgn%oL>>cxDL9j+v?8yRwza-MD;%-`CbGX!$cswAmv6FFcyr{}2U4NSHx_X7*OYFd0v6?U69Cr#R;q4T=cb-3FBG z5gKBNPORs+%DSJJ=Npt44!&JHsXhrcw)7lVCa%d(Q07;p?$Ia%H`tCX#IIDna3f!P zt1%kmoQUa28+%ox5cypjD4P$w;Xr9cuPuAVc;c$lu(B(0kUX6Fn&b_1jo`MM&P8YG zfn6iGMX@x{HMM5_!gBgjXiH;A$6`-#N<|>jRydZLL)K2^n!qSy4_0sw`~Z2<2Apyz z1%pS}bckohJ{(0}C1hU5BgRTxBT+TgH$sHhvz*AH6^pd;L9#JOGBCO zOivh7NrKy&+%!s~hk$sZ@mreeIUi5+%x^WPCx2Ec1k!ow-3q88Cautm!R(W%m{;2@ z*uTJ0JV1_YQ9qHsDcg_a=jbcU#SYQ2ZEhWFA7_4kon5fm#88iSAf@APvmSnBa$YYU zG5%-2z1oQOs!KPRfPy5u>r$&|2D+xC#A7os7O|ZqnI0juINTaJR%D_^Cey>RN|VX} z4ssxq(^S-G&g45R59B1yPe?2l?cwv?V*%zp=IL3$dapDyTv^P=Th}cEs8~}e5))60 zH7!4$O8y30t@K_~E;_Kv3AUk?BWQ-aTulPz8I@43R;E}&xth%*T6Sf$O|d7U?>XD{ z+pL;GH@%gnZ?)32ownafTW_^mLHFKIS2fG8NcTt(Z(ep2l8t%RbE0oPKTsF$nA+Mjt{lI%P&C3L#_L%7VzfWc#0nwC~b{` zB4|zUj++~%t#ddNw?P4KAEPMh1$ycma8WgKL8y;Vig+N14ACgU23{8Pb9lFb}#wN2hy7Qt(!A{V1p8duab^8crJ zFx4%lTN^H-%(OPRHj+=X>TPEuu{5F4z5c0p`D=wEdVSPH}i1 ziM_q20+z!kR#va-*LfQ0bR z8)>b)Wgl225fu`KAHUqACy}gt5DQVO7LjGFOM}^peRw8`>m;`QrIah0i4|lJa)pV- z5FS=TB;6+ZKEu9!ioRoBy6QEr^(gPO`o#3{toq3GF`-+cg;#>E7X(NPqEa<`FvHw1 zd#ve{v?{nLE*kV`2#Yk8HZ>3_w{0Ur#V-e@AMmYwED+pRoL~V5!ihJ@--sd6-zn0*To}@H14Bi&Pb}` zmq}H=kq(6Hbf92&Z;YBSCnZ0$V|%`DjeMa>KD`?$XGBWvTUlM&5i)1FGI*2tP}ym7 z#LP+E?|i(!!qFJ3ph-=GMdzVjB2pD_lEpdkv0 z&EQ-}9>7c%8tB8{k>Oc(PTzfamNh&;-`w!r>BDnpWq435>&*IUcs4m|cxFX;`9P1w z8@eUGW#lb}=c>-a@LbdHo`>g@hUbhaAVvN8@NlKu@Qm&_JQfql-qPGf8uE<>OdFb} zKp$KYVzKGQpJ#K>ot@-009DfIE#)XZTwpZTx(9=gEFKBg=DW<=R7{NUKv~H3Al8zz z8p{Jg!%1&j(Uv&`AIjq?DKkBPF080{LfZPyYj?$(X&swK1%G6TBChW2vS zYWWU&R)z>VDX3`!J)9hQ0CJZM;n)#|guURpH`i$V7^T7wdiILzl5hn&-Mfbvs1wK zEr(UeY?JDTTOS(HsA_D+rBwa|LWR#iRnzsx9ndNEed?TFDVeV>Kuh(h##Aa5ZwEu12ufC``1yj);L?BsrL6gC;SpLcR;S zhM{b>iD>6_Ld#PGtV8j!GIs9Ii{S^=2bI4&P@4V zO&Tg6#{w+rf)mr@gUx}y0qwk~iHD3i@dgK~s#Ghs6n)QFGaI1nfofn6yNB44C)3WS z_znZ?{tK2-8_h={$}^mfsll1Ku8B@r9b1 z04Kn)J!+l8Z8WbmE)=<@BP6>bb;%C(r$nKF>~)pCqJDLk{1BRWT|a3U#_I^iQv@ds zoOiHTUjPGq(a)aT&>1s)(7Ljn>41#sfEm*P8B>1Bn7X4xQ`t#4g1NQAo;uckBRG!4 zN%EhCRobu;MJKS*fngq~pdGvqS=D8{*bD3?GN6hR95%~}$dSpFFjsQBAiquKS@G|O zXu&Lif_i!Vw%jInuJXb6qq$n9pe<8i!E|h_)3Q_|DMuzT<714!d@+mQw%%_B#n0+e zbIS7SvBWeN&#G&|Hw${#e6uZDx9Z(im^>F(hS6&sE_k4}yPK=+B{HDvftn|O^T{PP zQ!(F+>7{X1dT0+a3_07qla-Lokt?JM5cxnP{N&S%l17a-Q^-rj$ku~emHCKIh0OZ1*xR=FnknnO7K&f8ElHecl> z=84D2>SUA96(|4x@g#00(7sC(=6oL1W9)zv<7rkrnGb)j zrfl}IBxiKG^&yr%-J?7jI4P+{bvbz@{!P?nV9YdIHyH?(D&1wkO%?%fVX_vw@j$nF zp9S#%&~=lwqYNOa2Yh?NJOrWJuX%gVf@GsC@E%8I!mXVJY_Ja}uVJ zBSES5oXeF9D7X*lMeH=Ef;4lhtE2I@$)H}OudwaScTg0P?ebM0s=rEhgG>Gz-iQU% z6!8HSMVc?7oaHEtZmG+09VW?sa2RZ*a6c28Sg^wcS!gd!YI1fUoDtUEPdGLxe_wa; zZobQ2W#^V_O{vLJ`j#~XWNVO*G?AH6w-i(PbH*~Z_j^Bv0C}ULQCemqkF+oZtOAvP zBrU9Y4tMKkOSfLxZWzzP{0n#xp!0S1;=Zw4e_pPJr@kwZ1}XP>IejDPL1AG_QYjtq zsy`lB8J<334&lhJG}ySL+=Qj!m*Zol=Ek`op%JzR!*eo&JC$m&f=FBWo`GG0qBxOx zuB4${1+g~^Fu2GbBgK~9Tpv}sC2Z*(_T|#_YO$%xDaqzw}Lr3Mc=%%60aenZ$zwumxz>it#RIBhu=E0@i9D4;~F6i}iueBF&E>PLR&mE?{S@z)Ce zoE<54ctIzle&v{7)iwo0#w?B^9yq1%!~2bs{!@-+CtPKV;9oe|>1_UYJh!RmQfoqw z<3wHyEg|f){yi{tX^nqWF|$G*-`o&Oz@kH`>}cro~ol*>&Pq zh18(h8cmLguLRP;rIxEcSjMMGDQ{l=c6m52u1~T>Bpcxw4DqRN*zulTKmuTeqxObb z8D=8~Ap>-+`Ylwk*z^c5r~G5oX7k5jQ1BsKspA5!<1~Zd_)aO?@tN-xpLyW}bPXS= zbCjg15fU((4F;_+M+QR5clgeOJp6aXOC&PY*?TCv2%SAiXXn)Tso`n<&hZL1O9|Tu zCbj?v)nvEPQT{4UJC3+tFLacV?-VU|)FLpGe_6T{Hwg_F9gX+}qeXb`=eev%zCs++ zKwwROt~5~h9M_Cds)MVmFlTj4H@wn!_c3L0O=62{YE_mCmUy;ggIk)Tyk4(aXHSD{ zie&EuOcDK?p+}=3St2RJ36EoSz&)DC2A^mg-~gdU9*ERIPFkVI-V%SW@XZNwywCZ1 z%A(^H#jA+!z{un;iDnX{$D`Adp5$0Dh`+`3FN1iQEnc$&e4vY?IChm3_PTnv##+TB zTi4=&${?;lAsa+)R|iqoWlHoIKXRc^i)*yV0uuzXKMdk+9kZog$81SB0A1tztcNkv z2x&~vS?qSpzUHOA8s&0r7_)n(jV;5d?>ts*rv3J{CvzKa<5di#-E6TdE}TCidbXJ- ze;}TFhaq!osmTUE>x^XY**63b0qqMw80nn960<`92)t|a9J_G-Vy{$W!42AM3l*h3 z#`JQ`{0c!gUtVSkJ-eoD;U{3fDRyENrL>EvL?G#~v*m+ad1N}>^MFrnOk{kxB+4EW zs5ijhmDn1|PT}^Gv}5xlzUC}W<#6d`=w&x|ZM!(;)hup)~cI)V*mMtOtT;NK zPW7;gTi6Z+hhn5qMgObYlZ#SClwFXZ^VhgWx`6&*?Fq7L8fjL%SJ6nDRFj%U;&xRd z>AGnoU9W2-t@7N|*15pAS*ci$iW1GtjoCqw8j*5(MuDECjXcMv4^Xe<7n6(~P)JNx z`*a2jHf-}=>(hp6<12ky&HHq=-X~qRKIwYBPiJXyRV@PJeF|E3f2D7xS91MuQ0xnZYWjZWwE7w{r?NaY=5X)Gpds))NjZ zE}P=O)}lB{3%MV5u85(u?w&&H?q_i8H}(0!LhJ4?v~K&(y54Qyg=ZqjP&IuZb%2!X zOT%1W^lIw6E7z%>!twI!2P@a-hl2(mLr~Z#$2B;50u9dQZCy3^c6D;0*Acp)5dylV zPBbzTdbw+Gnn#20aScumRkIB2)aQzuYGYkt|9@RkN$&x_GUZnmx$>Z2d6EOM{r;fi z#|R_S1H}p2|L*)mP0jP*F`igv4)tJuBU@t|86*h=^r1a>mu$hvvwYv0;Xf&^Sb{5F z+H(G)Xh%2rTeTxpA=yVVm?N;`dC}uM)T`MMtVroJnXK=_He}yACyh3i?&EWS)QgZj z&VJJ`g;tqyNJJfG9Im@NSY%q1ab-Tv)PbT&z-7Mn8*$@Bu_L<-gulwXf=FV z$jmfupK2lIgv^{+ZIU3l14#>845#gAfwi*7jl*sA6lZ#+;f&A*x<TP-r?d}#}lU!T|^i5N5o1fj8L9{#D6@GD9thkHA?QUDCR= z`b|nya{XUu|GMrs&5sdN@r<&qy@2mQQ%JX2`H=;rUVc<{7Ik+^K)T*5(bq+Epld|0 znp>)lXr8Jg+vG-p=tI%c@DtGkr9&=iqVsUkH4>>C*N%oj+7(kQZCjj6A^Zo5_+$ZN zZ9%7WtSO0{Ah`;+_gdHU(j@tkp-wAT$ILUDI=-TwT%q5M+w9hxTkGt=NJyLOV0s*1 zAHTGwa@ZBM&KJ4bzA3jUEcw`7Xjt+=fV^e=g38f{uCc7$-6pq(#fZ&x=J{WT55svD zA>2lF`!7aetAnIXFt*M!U($lSC(vU0Swn5-kEie&qhA0fYS=Wk@uCz(@~x(f6q zua!?)$#EDnD{iqb=2o#U6(rkjd^J%TDnWOrEtQ~{K6R&3U8#b)8)8d+?UF^qmf*~j zARZ>?W&u=-FqsbJ$#=|xWg;-#MVLHRgvnz?nCy@9w+xfbsA9!QmL$u+m&h#d8fBTbT>KgNETusycqBZDc&h{3TbSp`JNU2I7l6+k+T7LBu>9@Pg}ouH-yQRnTFz7Bq>a)<@%=e^axo?;G zu0>-^ac*&QLifoQS@*k?pKR~`O0V5#jva46EK+fFg0Zz7^C!Y&{1y9{1{t48D?gcZ zW6R$DnroYs=C`>vyMBNRR^p)ROTU0cV39kbt?YsRvjQ#RU@vE>PO)iI{;dRPv$e68 zC#Jk&YxYQ=mQs!)tesNXf|99n)vDL`vnM)S#w%I0X>|0gX(9ZTPZ4y@4mm;dFA(hP zy)22KOIrx4+-^=t3@ccWKDEyf1T1~2fL}Kp^YrF~9`zaaxW*?vdS^9<*mW8Xap9El zO;5(9htji6?K-V5fZlAGQt6b{i;}{1aRqh@X244E%V&bNCKh{{wQ%ZyWvFw3HFq#1 z)jF3_)~XX~<`_Vvo(f*pd!-@0B4FD>!)m}*6ugA#Qv60`-ON6y&ZP;JuZXs4US#ZM zHRbhtrr!#~n6uzyG2e*7hZ*@>mYT>87OJT_O)Co+iZOR%Mtbr4f88=wEAqopCGTng zn8kRPgw4EqIZrP`robHWJ$Pl=1FC~gGS)FJ37%`n&?R@isj-WhmRVxWj#|=g0||aC zQ}fl9^i0vt_1`ocSS6oiEX!tTyWwzwCujBKZ26>Yc0l>Oz(IL2fG+}$drR`5+>L7y`+8euvJs>>TqihX(mX>XON7ss3GJ-uwy@9oK+a;az3u4;b5LP;s-mA zfykWGaCg^hPACGM4px2HQ&u};zARX5U^%O}p#caD}Jwu9NGOuuQ3959FE=YYUfItFW7`kqa-1DkLj2|BVi*L{%kJc*kdUOKa6Q=gJONy@Q4e}vlVNg%ebz6w=IdB2^rcI4pJ(*!F zjB-Mp$%Nlj*|SHMCBImD?uNzB3I}IK|iv$ov)z;h#*ZGeozDT`H)qNNmvs zqdY#k#ZOO;A-izt`&bqsKW}zq`iOEt(a1k*@(rm*{+ah#zSSK29oCMrq1DPFKsbNq zNVxXLal`Q&Y$st+Ie`E2SAZh(+~7BgaE2o*LU~GhC$>7^hEItpp~A+jg3125o?@kP zoXy}*$yF*JJI2)|RC9O?l<}tQ+4tP5KB;%%qIUdU93M>{eJZz1eR~Q!e$MB!_d~=wyccg%Ntt8`i7KStj&DFyRDVx&#Q$Wv@gar7wi*l%DQ#l zXp!rR^?_KH-~QL4sJHUUqsbK4r;1kW#o+PnZ=X2vU*O@!+20ark5cU%XYBs+Ie+eR zk0vP>P-x-pti}${&~o-Oj`5591moxZndcu(*c3!;c>|0iWFTOSo5i|dFpjDiKd0}F z#bV^*%|_s7vwtXx+c;@cRGvnyXd!7_EI*FL>y^iFx&nK>wJ+{J(fC?e1Ko+M>~#re zvEfsny!e7UnsN4C@%3*Tk9Qf^3!!EPu=Dcgv}`a&HluTm5Tz!Sh^@^=B3_-%5_61C zqFv71_%KrTnl|3{ypf-VbQ@)Ty`dkYEsagbk->JFc8zV8>6-3Pj<&&3oU#FCodBIS zs$Q=zMhoBZgLQqG1g&F#i0xQS1=l|i{ndsR5OQBjAXIS|%TicQ7bha*bd!(%TxX#( z|MgCvythOH6f0HTw9)DCFuAv^=tYHnLr$UVNj-sBwD){0jI;!fuwvfucI3(6?GsDLUo^&y%1#kTOP#R0wL^)gCCa;v#B6 zZM$irvgRC=^EDy4B1cn;7vP&UF+$-4$Jy@S+TaFt29o5^jiudu_R7+0y;2*kV%3LL zYRiBc#%@4C0y~x{O)gG;DEem&RUnJ0=~=nS zZaR^zjkA9S`HH#eL~N4NC{WT-Flyx4`i4}TZyE`@h&3^^M3v)@@;LkV>8o72mS0xKZ9Y!=Ff7G+_gSN5SpMl zSs9!6Y-naW{L;*H_$iJtu0_e_3w9c{;d_bJtHb$Xz#HtVD|PbGc-jYJUOMvK@YUK0dkq-!eRW_|%5S=OlgQ4O?&6T=IZL zh$!#M${W+@a5&7r1Rdpu&NDnSBgB zma>o6n$7%RY~_I-wRrBMRHzyPwOtM6FLpDO;_F}#`-3rL8v|)|`V2v_wfybXEbhMQ zSW^ri3}0HtsRz9=h}_80s!-4sbCoZ>)U69&78THN=@X5^a3gLf1VnfoqY)*M}Kwqk+sq@+}Y)5<|>-KXw0wUnEQ1;=U(^gxUHlD z`xr?@5>o>y9fg-w+it$fuBzP)ejTlsejRG;e$D4VWPQ;W zB0nCn3A=&t_vYBKq7&tVD2Cv(IF(SOZ-Gr_3dg=52f?8Rw?b)~-QfOfhh2x_+iCT- zG|dp8!k1lnBU|3rp@vGRp^@Ymg!;cdEWszRxP%bf2sr~G7eq*M)_Hiq8Jv&~RYQ*s zaAp+dYj9^hK*BG#R+$91RyR?LB%94et+a|`pAJ@Am3vMiIL>Bkt^TIBdNs7l$XToF zK+otJv1p}L{4ze$SPATKZz@i|O94+UdaIX1tE-{aRiKG0l{&68x7m1M`SE|Dnf}4Bz zv$%(|S}uqfvO?me;<7YVZZx}4bQon(MmO@2+apEjGh7RObd%lo;esVA*J%&S z8!|Vk9X2D&y`%ORIZnhbTXe|r)B#eilPr(3dB4tgYn9w2WoA>Rh_YXwtX!WZV_>QD zCQ6M@|M;qV^FZ6U)TI+2EW}7P^5?c&2!6N||Co)?NN(sdm6vui5RZW+xu)$dJSY$( z6)yaUyYTG$C>I_Z^Z-4V2X9yQ`ISYk9Ple_8!wo7t~}^hp5%b z3-6GY-yKA4@Zz*pyJe9vp5p$)a32u4+;fE_w2zbR)NV zo0=+_;=!rvdsn?h&4r9t=R$(gEMMJis^b7pmD3NLyyLBDZiB){yj5Yx+(yt3WosCw zv{`k9namjEDTTRZ58M$}5)VHZKU1wSUm?#RKq*q{r5cGQ7K_P=#b&t&>PA#-e_4|- zyoypwQ>x<=3)Hd@fZA5#`K-1~ED~1PoY+>Y;arp81#*pXbZK7vTXCw;Qa<@;(l&IB!Wtl$oXy-@y$r8-x9CHQ)tu3yK!^km9YP{{? zlXdUeM-z0q%y0?x&z)I5>8(BEtv#bjEp{}l0(zcA>8#+ML1Ftf2qbikC;uvv9&r*v zr>FS|$AGd(drTZdqSmqNnPaG%h^CK7heRU>BN}6RX;7>A!VJ9#_3X&VrIp6uFjHNz z_PG7(@QLQv`f}~PcK8eJ$XmdKf9n@$i8V`y`AwN$hofwH=P(;KvOQpEwbkJE%wd#4 zw!Vk-U6xmTHT?4&!s0>ZGdb1BPy~h>pyD_hnBfC>nQt@CCpQzco{@l$&~rOmB=uM~ z1!Z6KT>?1v;$eLdz;}{gCr zE*&e+9II&`!O(|UW73q=#TlEaGx@g`8%AE0vlf(L8kiox(XtG1Ct;g&&lcx96X-Le zaW1KRAcABuGg|r5m4X1(58msx_nRNuG@U)+z2DAYqMIUtZv9?Xzk#lOC@P?&PjRE9 z)U~6^@a6$gYglijcC*j&#(b)~k~ii|`MEyN&-E4gIWd09W)Y}8dzQat(pWnp7bMcB z1YJ=XjOJ*zb-ywLY7K7b{)JwL{erp=bglc|Z8);%wx=cYZYO2BytlOEPTl6q4^j5h zUiP$ph~M|37&%I!t{fto6n0k+NsJcjV#Eg~o{FMh`j);~z}F_GTB8yZ|DX7a4}Rj) z1&O+P$abqwBvnD42-9lvR8jmOj{^oBZRY`Ii~A zWS)s!$rDc8Gikr%$4s1$!ii_2$eGu z(?myEBa~!cAJ@*sNs1S!xvTX*Bo_6#fgJE&I<2WIZ-u{QWg|?~e23CR+CvV(NXJVe z;uZQ4iW<93Lsb=)rS@rd&84rK!P2|8D6ExwjJh+SRzxVEYlNyMDq+n>T2z1)Jc$N( zRd%JJ7vpk;A`Vq<9N`4ZkP@jvNck+Dd`l;_1AC%FncajsZ7z^%&~+mrtgfU9)V8f7>FAG9R88mH!c%cxS%Ven%$04jayaD7U{-mPo-+dt zCce>YdCsih(W-9iLi!~q{q8DlNu&q5MtZjuik~fQ#@oraH9c(xX|pGNI)(h%laNg{ zX@`~KvO-pxTRohARMGSv57>GdZ^pW0P1)ANY!PvSn*K4gxwGb3$u-oxD8w$(jW8vh z^0g?c1-{(cRv0m)n~%KzTY;d*H`Jkaku^4$Ik_RQkSc*(XaT=JNY?t(5~La z&qe>KuhIVjKT+Iw^Rsiv01ir#1dp4MO4j9Kw+`v&n*CHZHCeTvhi_Du^Zq4ip;t*- z5Y>RL4QEx7c9I)Pnx?9R7p#{B8m*r{am~cypyoTXWG!?Lj|-5VqT?y+B?z z!Hd7CD94Rbn!{me9LfJm<_Y9wIPT zv+sp)U?qeDNN6%A<^a0J996$ivxK!|VDwNlf7p|OusR_{jBH9M%4DFDeK?ZCtUOQ^S7+W)o0p5ZV;yh3b6OHlmy4q>d|TXzw^pD02aPs zp2PKn{KiCWa+EW=d64-;zE1dFd&HO9;l3#U6vB><#I4!K&50i4xJ`ZA z73kW)^&-`DGx~#rT}m2r!${9v^$q0Ji{;!CgRtEa#-%u0Kojy5GJicT!wb0_pCO7X z?X@*sWqUyqh??2s=qrwM*{)r^HLQa%2U7!k(80*`)mlrpfGKxpwPbZL65+Mha0`42 zE7oW}Yj?{${EJ)8mG~=a#^Q4N$$QD)YI#^LXIJDmB4<}5I#(cWFvcH{zu2ohtZ4LB zZb2TTy5t?^JE3oJ5Fu|z)37VsW@pRG(4)It#1^U6&C-n>L_B&%PPR!0GSVXhw1s zBRMZ*=A|s%NXjqXEwkU&#|AYEhmP7|7ES=Q#QtqIud}`K{H*#1bdA`(m{-xZ3@@cU zuKzTC^GCdTrtUH46&<&(J?z80?#U9XxT|bAyta9~2kNe}#g%ROw!|^LxyttWfV!)! z0O>}qvc463D=0y5cl)+@>%F3|lRn(VRqi-T?CvUe#1cT)SfWQYC^h%T$5nnWXvOQ} z^yoTYt*N=n3GSRiyKaluO8Ml;b)Gb5k<4v1i>K@6#p`-Ki+7dG+`8ThOl?`}ZI<&@ zN1=!55FrC}ZBTDU&LNbRM+utfdTdIn!>>sKq@o`J;EBfX>$AV- zsp5>X--p^*vkrN23!JPHD|hJ51#VaoDONroOt+me@Ebn5T!g)EBtK-Z}6TF||aB4J=(qh?YI)i-mnTb95w z0wPqgLf0|^chyq?PRX590p^tuYn}r!B?%YgubrbiHKkU`+nIBBHB9dcnD6m*Bm){A zxi;2Ao70`A8F`5S<0UeG)v>YVs_8wMtI6s1eZ~C6j8m~7dYb27)HeD*nNiz7-HPtp z#g1)`nbzIij%_OW40LS-ze6gokR8j=-8d9#j+ApXwe&YrG{)gRMY9W8)_Wz(y2t`_ zjVx8hE@otcPc5DA&U9lh(aRtFVe&*nVGOZ?!nS<9Vv@n(xl66G*)20M#xtRC5 za?Mvjd8eHvZcPX8LZg*lX|!VV7F%f43+n{cE0T#eB$jPai!SeAJ#Sk1b`RoKkmEth z_czr@5}A@P-`GFTbkLFLCS?zcFn*}8WYl?{{OZ5>Fw=`dm6LvKyiV%C95r)xDH4E2Dh-P2Gn_Bzyy8fu`s4Yd{& zF)!*X&x)ZQu%YInhLcT9G%u>}`x3Yg_`K)5%=Xj-LZ;pGh2 z@@hKrQ1ojyEi&M9$ph)gQ&BYkk<(20j#2T^ZXMFsy$90KaCtPB*FV`tRYGf<}HFeMD67^GVi z=wc~>Hty@JvhUokP_(Hu)CmRbEtJF1U=tJ;Wp2I-WOyx5x(h73GlTbz}M7=Yd5nV zLTMbIo4~eGMfYhFP-<@ZY6~{7Ebr=AVj)}cgh5SMmUsILkOplf5^i>SN7Ou7~lA^59jm?!%C-|CVI z>f##t3WmB=R=xqJ$qQ;J!VP5IJ`G!!b+x^ttP@<{DiWov z_xjQ?-+vrp-Bhi^a<8(!tZ@grHtxQk)gL!mkMqqTqU`_RtLk`Y9n~?lh!81lQa0iG zUfWeR%1+*)3?F;TmYE99JDgjNg4@;Htgc&bR@dvf*^_rrLlgV6x00XOMLairtDW7& zbE5$cK-Y%pX2i3xvlsOZWw-J7ci6}{P_7Wl%V9+~sKUDN|J%6ogrA6h)>4)rdBy4vfYt_pdeYlG@` z*5lB^&W?rsitvF~_U@QARF~^%!@X5Q+T7WY=J~?+z(^^VYpNAwH?z9?D`5)GFP^Zk zT!`as_Ae$hwWSNxisrTZHIi}FGp+padX%MJNwy@C0li~AN`1bU7cgP#xv5yrUoqdy znN}*qzEUAZ6nrO8tC#{rhzVqP${b`f(AN|2D%^|FYc8F(#~)Y z&2y!kYb~Q`AZ}MRkgsv{$F^voi?lee7J;d0pk}-S<%y_`@*Yv|LU|VLsmHr(pjqJn zbdB;s16fUfqI@LI;T39(EqM|acPSRoB2z0VX=W^lWAIZJYllk8rbpLJicP{NKeX4A zVg~&eKKbD-^0zFUyvem-$uaO>@d~#^joKjT@i1!Vpz)0QryVqIa*+9 z%9cB0o=)M_HhaXei}vU07F8A&BJWPWXP_UzHTp^U=W>Mdr*&4G`{uBiAw=f76rnbiE6EFp{Du52t4eKwv2RV6TZvO* zZLGx8^gx@T^`0Y1Jjhabb+}DJtH@unKR(w|(kD%}t5)1s%o6#0^~&Kw(0=-xrh2bw z;mg6J@digZe;a!qO&;UYChLwOZE!(OwotrjkTPyorHsoaWV&2=C9Q4JT1q?V2O(o# zh`c+CsOT2ua4Qlf>G>npxJv)8>idzcrj&1BO4dkgFNj>t#>Y~;NA4DBiTn;lQC(&x zw$4NtN99?!fjsM`(B%ecI#!Hrt(0C4(fB3BLzl|Dfj)lF!%~z|%~XruD9$yv(Tj6y zmY9HU>uhtcq57gwT-+M6Sx(#CM(qY>HM!wC;soa`XD-&FJnN+yFOr+M8fn!4DkISz zlcgHS709PULo`<{d(9QWSrH9Ia84MV1OJ`2MT8j-Pq*&7wTZf2=r-3Y-R6WP&^33v zml!JdR4Vz*HGQGw)bByN?G-M)t@$W8raA?r3`Zyr7xx#=Hi-YX9`epZ@{F0HGa@~l zdFF1m3RA~s=~%rue;;Dz%TD$&$Pw21Jc_fG#K($vZ=H#;)wW&y#_inN>6PjoAqVtL zQ=Q&L-?)3XntZKd`p(tlqpeiffE9!K_nC>>RLRQbi1vlEeFe3e)xHiBW&h}}o1vP~ zkP)k%3`2I3A=}VX8#>+wzs6C#a1H1+ zL9dn2J!#Rhg6+2Q$jXSB*WK;hijW5Srg$A(6MolLHVQMk$|EUQDyd>1=YB`(fGrN~ zLpQcky8Eg(IzA=qu>;-0js@FSxNIfZ&--o}>mnF?z+VXjy8^)$h2$bg1{EgHUhBD| z8?Vfcvdc(KToswiw6>tu7RuH*`!+@GWDHlsyWb1%eh=t*LC=@a`MaCDz5Cs*?|zro z=G59;*&1iR;(LxP>)mWRaw)v~640}Po-LvCcMtCN?u%RBeUa8?)EXb9$*IWMuR6^y z=-tEQDZ;zY1KkmHr-aVmJ-XYw&uxA8Ia=EsrnODJ^Atu$IBdVl$Pe1v&q#JeB=xeYZhc z_Q+IxK*sM#*7*1#HZ}^4oTiaAHL_Ns#@WC9C41$p8X}Q;DnOqCdR5S?trspaa{h?1|A_LQPo7B0)+QVSRgN$2BqCh1n{!e=__*%~W#$t4{m z(2#~`zV(jER#NXnkn~Eu%2r7~;~YODf>GjdG7#(}1X~i4e5<>{CyU-erQY(YL2Z-7 z1ni=Kxef4dkPL!JdSjChU=;Mp@t#IuUN{5&M>+~5Hb>d5#*$vY<|?40!N5XZXF<2T zh3kA?XHK}z)dpk6`-w3v2g5_~83A+qW(R|(e#4#DO|2z|AFc%yu7N^Ft#)WN$ZQej zf5V@-tY?_xSq;yu^33KC*VgWu=I`cEJ;S=jx#iQiU5)g0-9mj`uZQ|;w76z14uxR9 zd)eH#oR04aA?Uag5L)5!RXx5sRAuUA(2E~x9H`o+Wk6R1x>5uEMQ`|$8pb{>g@%`a zUKaFn4f=vNe6ZT^1wfYsx>N)Gf4$-JY8bLFhK3h`z98reHRuIz_;9u11wa=Cx>y7K z8JF*~Y8b0B9~zzqdO^?&HRw5S_}*&6bAZkZbiM`}OvY(7jLDb{4bK8SC+N8nx>sGm zQ)k^|oKmY0cqX(uL#wlDb(U63lhJW>(<-_hKxYIxQzF3G8UK*qb#0fxPA{7rC0d(& z>8c~>PTBAWpprI-?|M>68_Kx={YR>jOcw58y`=hp%jYhbY~=;ac+7oKlhN-TpAJ14>NJghvSHg3JLbXH1wKcmEXn%n;hMCD2JGiLg466QTN7u|P!rmcbcp3=H-U4i5I=wI$i)$H&<4DNDa+ z%qkO`t@>BV$<^j-@65-r+;`PWYNWL^P!}&L=}{P#=})$tY!QasHKL@I{%=Dsz8#L7 zZ&=&ITpI~In1oeIHAgN-(dG!cd2ekiKd#gyTRc2wUt!AQ;W3P&N6lmCju1b0_x6e* zsb;9UJAJqt>>uOq#&7(2bCxd$p;`^>yef89zm{zeeb1F(g1q)ZzF(2?ci-=VfVqu6 z@VybE?0-9DO~0q6L1ZN~y+YG0BEU%1nx6Nj<;fIHyC*X*U~bbi9~tiS>Q;^put#`z z$N7(r^rlwdbzkXS5e5Ud90;=vVV1=1OR#%s;Fj(**JN+iz%2oKL7*1^Ei`cUjx-ue z#nmt##D&oC1yNkki?xOqz2V7f!;63}2y~&=@c-qO^PC!HXW50&@B+~Df}SrMmVS{d zb!R)VWn{nQ*8HppgYxuQ&xRq+y+5ada+O|BcJxNnwMJ)(O~jz-B|x8#Q5B+ffeJ1kCMR4tuddgzBSx z+EBluN@-=m69VhnXzG3vKpf>RUD*#xOj>4F_sgZJyw-* zTD(e&t7;LL+8p_9ipc%VX|7hXoeHRzg~M|5-yKD6+T@qKN@7jJw1=v&x|^j)UIlhq~Y2@dIwOHp=@0HmOsTNLzd9ih3t9^LV|KDr0= zjwAHP(&1Y48k9|q4PN#&jxwWyc& z(Xnc%a*5XF)!Ka78fRhZa4Ed|VtDsOpyvcVS3>93d{NDwF>*44XvJ~)s9;2(CP=rejB}-h7GAUp#SLE zFF2F)A{fr(nLw~J5NusYu9w<6XMtTEy3<=(;54nRskODTHO_)FIjeW0`%i^;p8|SS z(5oeM{_brvxLaBOGD`X<<~#;+um8#o8TKQ@B!QT}gM@Yv6JeGyE<$rB?(gk_Ol^WG~ z&drZpsV`5`bqj`cy&ep$(BiyW1m**Xb7%d{yT`e+!U5>Ir0!}R{^+u1BrLB))2%i~ zKJ-G0JI(o0{h99I?LZ(XwFpZ+lt)C5saR&*h}@B%Mf2R>T|x_se^zpzz( zp|0`5R+U*=maACt7Xnau;kW#S=k-Dq%wl-qA}?Il3zuszT=W+XR9~oTyl|lULjP9v zqQ4M;$_xJ|f8ja3kTmW>c;NysT+j;_YA>Ai7b?aoNUCeRP$}#@2b21D24?+*090Oh z=`^Ip&gq4BkueM}oYxrYg)_AmZr~mvhs;@&FVr<&*d>>|fx)B+04gsGiRv?3$}E+V}te?Y$3l9oK!|IqwfZfB;EI zVzx@{oD5!g63C_~+LmQTc4I!0lBra(6^X69dmKv;`6Pk@0TuxDCwAgzhfd*!Nf3$N z(lwL94V^N3=nWjx37s+x?CLad!|Wodnx(Vq20o#C=p4Fb&Y>Hohd#TX@9*B3H}fzL zZvYaE-7O`&nYnZ4&Yj=={eJiN@BXfZx|o9p_YR?eKE#G?Y^qE8hb+H~>J(f0kQ9w0 zSz_Uh2R6w>67)P=VEZ7{Qt!wyuR(FU3l>oy2F!k2>_e9U(N#b{kiZz6Iy#CryWbq5 z^xjt-=;`@Pf!2P=8m`WipG#~)q|_?a6J-UY1=Wve!!MX9p)|i`W8CYmF1o9}M1Lv; zy3AOy&LF7pE`saz%3giMN$kiI99g7&!g^rSz;mB+Vk~w-9>g-D%j3=g`e(eu|r<50Y0DQ8I+^Z%lOW$ ztqMVnn~DVD3>5373Kjsyl`5OG%T;+tIQcLCHTwf_^JD=oR_2QIvgB4ORJyAlKG46G z@nne;h>gjEd@V4zUQEr-^vqZEzL(Zq6_!pC(mic3RarEumGu^%bgU3^(%Y|ede{6? zB~OXstcWQE?y$|$B*$ofw-;UIaD8%{-PgXvJNh@+$`_W{NZY@2_(1=L9usEB^`Wh5 zGWt{v`n4t768(ynP_^wBo4nbU#L0dMY?HQxLc8LH-QfnueC)N2d(}dJ02J3U_Qi<< zfWzGarnhPPs*trQ2P(JY6Rj5BvksVP6qN3)@Z0KqPV^C4g{yG&r2}@&-#~EyfkCu4p|t>`iCOxo%Gm&gI|H;N0N{ z=fm`WGh=fHV-wy1{d&?}Pn>4B;Z4Q9S1KFBt|vui6m^9gUkgY5*r*DfR$-&6 z^u8Q+sshdNy#tlot@1!|bN_AhW){4H53gqpj%WO?OrN85u25D9)X=x}x%~*Y8k5#$ zQ_%x{mo@DyNOSydJ;0dUew(E_HtwR$N9+}Wh?g275U~Gt_mUufNx(}c3x<^pG8=u_ zU|%X}go?JZlc$y%meYkW9u~LoC_O4CA(iIcDnp9G19aH>YCkp@bWUq6#TRUAvh~%C z!@M0zqmNq9v0k9-@nBdl6!2?-+2pss&k@%hihm4ADg+}lR8-S<+*2r5*4sev3UFvW zm~CiV+HN0DE*|&E9#FSsvWf4DFp-m9b{3IDq+Z+>4O>et;Wt|RzNSxBI1MBwyyNSl z0fv$wA!ZR#YY4)8gxLWqqSr=gw^LAou>QWEt;9`w?CZffku+ScL1Wxa(pX*w$Y&X! z7dE#1EbgTlpQEiHrmete%jF;m`)pYv7A*7f)HYVIb`Vsk(3(z2#T@M67Qvc6a>Nml4z zPuHp?S6KZSqHPLHZq;J{dL9ke-yduiJDQ2Nr2Laov4bhj&)Ks)Z@}NReHb9>M$!<_{lUZZmoDsf^JG>% zDros5%{(FrAIFTxPe^JkA&XTsjZcDzEh+he?z#T(Vwk?)3)Nh)-CJKHs7r~P2jkBJ<@Bo z2`3~8MB#I6y=FwKiC6j!LLeiGz?VeXgp80tStq(}jzokKBN9t(E$|g8NJ$2+H~s6Y zZs*e5J<{T!Mc}_3i9hU;@I&7otlahnR0GMioOCnYVDHdsW4H@*r*RfAovXEKR0ONC z5MmVBb~7-1S2rzH`r=8ct9erD^2>4iZ8qTnF?`Ke1;h2Q`%U;x`w#;^$eg0vUQXr( zLL=^Ueb5LkGu;tgT-m}+c$nGw))J;D>aE6nnD@8#~jx~o0R!){?W$QpJ-X;z!v zQ8%GWh24_6AK~%tyNdUci8aPThn(8X&c8r=>-DN4v>A4=38c<8z4CI!VQYl6;JE8Q zcY9wsTDc?K5Z)oor$3zbvOk`>fb=qunnV6eRxExI^VGKpMC24f6TZE993MPTk^33L*n}>-Vhdn->ybS)%rGgf#}jx z^H08^0yv^Eq*v=;QR_YkSJ(!{x-sGQz1dH>@l8H;uNZY>!{R^d=s;!mvrS^I3Eb?| zVD<$!fufc3O%J=n#;_no|NWq_c6qja5!p}l?%+{ueOzsI62_G;z^?l{;xz|;@66p$ z0$XS93gL`*6?eJ30_V{mlvjYcd~sd@ZZdU150VN3H#c!qal%AJV-IJh73eH(Z+y=h zZ#fCq*g~OB9T#l6#M)vFB02PVxEA?sWOL~R)nX7N15Odfq9xG`?NOyq>HD~5*}rSNl|jZ3V*4py zN6Z!QJ&Xzo7{x7Dcqx)W0$4ywGMr2HD9gnnNYQ4P1e3r6R17?Iu*s|zq#Ol21)D_a zXWxP7ES^}g5k`_#&(9%CN7k(cB;`UAP7@tXus}V4n28s7)UnH=rtGdh78TbKSuGp| zpt&j=U6q2y1sO^&-$OV4?4MBgKK8tdPemX1-&fqt;i`~dSZ>wd#WxWQbFV1;-N!Vy z+4WX;&F}EP5l7`YL9BZ3f$CM^PX8J4=iQBLdEA#`mO{+Gn5{ z6-n$H(Jg>V?=>K|8$=7KiVtCbXhuap(_8)}G#h664(+KNq67x03F>iW&4c{~I<)3N zq^u6j^C&o)*`Zn!UdnXeEV-eFPFU#qXtB_lfKS1JjSnm);Y0H=05rFI7*H*U;b4-F z=z+0F!U1L-1^m+uNHWe(YX}y>p+?KB8HZfbNJJ?H7hUfZ%OJ0t)Ag%|*6;lkoY04O$^ zaXcwT1fhJ42+p9ekroUQ%$911KmzL|01}&P(<}581AtIbn``ss;=girp={~XZFOg2 zb8S$p3{l(krI+`<1IA6+UB!*$xNz+-Vqt|j6q0tLo`%X7IQs)ID1&VP_x?cf#)W$V z(yVP1#|#`p6iGy9F>5TwfbV&Kz`F!WZ(A%>FQ0{_(0sCmNU`-TY@m6)QiNjUU!=C6 zs1Ax9V7TamMm@%b@X<$m);9`Zv1zM)wJ?5v@Dt6?JeGWhF8169`zj{z!8{CnK2Y3% z%&QYKQ0TN;n7|_~w?w)XsFhaYzEuhh8%BZMJ87!tP@$BlK(~n)D$ydxIe$Fok258} z$9F~s0ZwO2{Sccre+L|Dj{~*@2uOHPbhRTMV3vTMzu1s8c7&O zD;B(or6~T5qeRK81zdP4yG|mtj_N6X>1N+A*_73x^l=QoyUht8RCioCqh*iz5rfrP zi`Qv!N-grN^Kf&1MN+_h0aZYy;8MXyM|BprH{jSLMUiDZlA>tKg54`!4G95jk8z}xv%Kbt{p&1|E{@AUg%p&N8eSQ@>%n`c1+c0>-CS-vE1BAxk2-CA=;Fbz9Xvf z+d{CabTOq>y5sco60RB`)6M?w9>2l%8ZZgv$ZfFQWjl@1&uFL77>M0TAaWa44iGu% zMZsjKOkkCAVIo#*ARcm+!>$BZ6W{1kCx9JmqG*(jM!Vhq+G`Y$f?#GV#Vc#YuB>Py zMO-OsKNUz5udB`O>Rs+?yUQK_D22*P<1kK5&>Wmd59sXP_)KZqd?B)nBce5pT|%`n zK>ZU(>h&q@hly;Ny58seP4AOAl-6KSl8JHH9TtQ`q+@EGLaC$rMG&%d0CionBhI{z z>N%|6$Q&_Q{;Uh^np0zI$uz-HNct*7^b|$sjVk$s6jdr?o#7F;lT@j4qe_*>T8uS# zo(7p!l)ugsWj8e(O-j`c@LHdNL-cpuT#`il%0-bFW@Lj+&5({ByM$9~L~kwV@r#}w z5u`mmPBF6euV@m1J~?>0>%0r!5Im@BDYd4nM-oF?Y7l2i?D7NqOwgciHc}G$Oz#l% zbg^PA?1U*fG4-`!VFNkgH2}N@((p>cY1+8rNhr|VOkE;|UdODC3pip{Wo{Zfr?b?w zE~|DGW2tuBsGhKV=@Hs*a%evzOx*<9^_`?0zv*acI}$(qFl(Cy%nCg|^=wPrvOP!X zfZKC4hE-zE(JXfFwB|_gY|W@}9Eew-V!7^6- z50@K0n|f!g3dI(YDHl3pk%pK=Uh4>vW$xlg^r2*q*9n+|*jb(s#1lOcd|U$~yWL>%4ca-zv4gd3Z0ozXSBXCrD!-VQV>E1Z!S$6lOuY}gle1M zc_UMB!6x{^j^C=!p#|S5$xFLBnE=)oB7E-(^soLCv(vx54O&7b7r%+^2bM#wQ2jyA zQ(dF{Hs7jp3B(gy& z$Sq!Eqhaz-+G_h~b9hf7YnG-E7KUoTTmauv6cR5ZO;U(>A$%*6+2{o_+Zrdc6`afl z72H*t`h10sgPQb3df@gQdp46xT!OyG}%>sJ~G<2@3i)-M~SDA zs;O|S%V;(_o)H#b=960Gri{fWXu+AwPUsP)<>MU1?2dz`3p7`qHpJIbSqRH(HN;19 zZOo3_NyJyVA->Afh(Aq>(PH>mtBC|CQ)(gsiXlyp_Kk5rzudk(_lsBGC&$*W_Yn7M zNeKWf_(X?v8iv()TJ?`U^@VF><iwmIA9KR1qDFVxsNJ^HIzxH`47X=9I9A+A02$q!^?JzFiZ)?NQ#K z6hnUT4^1K;tuKJt%p;&xOe&5%BJshs!f!)-Fvmc8>p)(yRI0+)2?@zyCAiJbl zg0;UFWd!1xi)9wO=$Xqb6l2Lt6A9EK65w`{1XOM$pz<^cT&BgkTBOcu@_yM0=t6sp zzfzzx)J}~}9*lQ7ftlXLY!75D;80_*9%PI9v=Dn3n51%imricG@{!@RQo*t&^izbLj+g>5v zXhf3Pl#kno!aIu>WRi8>zZqveIj!-Vr#RhTE!xWo%%%k_aQt4vQWL%0ZSkO&pKZK+(k;q5su$f(@)8|? z%f0-Fe|cR;o|#oHMSu5da~E!(>-N^q;*KhSvbokDHB_;};R z|H)~$gwY1o?_)P19WS~UU-U0t@GqWnPu=O>c8Ryi+dy**oOV?^?8PKTHLtpy5AKWe zFqs@XLFTAp3O)$idB7|9zx(|qr{MeGiK&jo>iy^0zZ;fj(> zNkcG})->IF&A}c60^a6pP||cC=?g2H?&~H+XQ}r`6Y9N$^F`CW34o~g^$s^=l7LL0 zr*X}Wty$+|t#3Ix|BW*?hU@DLlvnY;#H`{~e3dq-_+HaFFN%iO z&T$kjYvQ>ep={o!vI_tcs*9(x*=XFkot(;4Zc~}c)8jr*i?eExIyXtv$%hCtc@beo zy`y$3LE*kGGP z7+8Ve_T8!Fm^_4*b99w({(^&Rdz_Dzi=;r@4(GG9oO%l9m#5_%1=~y$K?jL&K92w* z(IKV{ujQEFg_a}1OSB>RYR)hj^C-FwfJxHE4A&+SkY6fE8!9*2P73MjwOT$ruTi(Mjx(&begofiB|9byo4d=Yxfrc}u zqt|d=)j97s9}rJ@4aciBbG&lDd;2V>Pod%H<*{zVId1J($w2J@+4Spl_;r<8_y*jssqIndvWdM*)b_8G6fqb;&KSO6FlK zl|9m!6b#UOILc=QKEiX7OzIL7x?@u530&olNiCYduhHTqi3HT~Ov6>1q+0-#q7>hshs>~Fsj7jX&UKyLpl3=6B-hg$f9EBI% zu=!G>(Qrt9hT%a)5&C@`z_#o6Y|bZU(6cz$ctHzy_ncw zV-Jl6Cb#Z#Gu@URZW-!Hl3b2ExTQt4EOLppf>xp$hy)QP-IikZ@;I8Ol4yF-$3CtI z*wU$Puzwy*)OjskN#x{ID86ft-((0_mYyNJS}FIML)m96d^7ztE=fCSC-a6xSizk z=ofB$Ri5VZ(rVH=$m-1H(|Lz;TF6H26ous(PS1yQcq7y|sd00xJK|72Se~1kpbPoq zAyw=F{HDW-6s}m@o;FV`8G+IWSX|>aO{PgUO}3_w_*Gf?(B5e+IbeuLE!G;J#A_ag-Orlo1(VYB@h@b*f&NLu2#HXeL7&FauY9jjA$n$<~* z-A;p2ReuevcI)GuPr1Z^1k3g*=ObxThjUOg3a`}KBt7Thd&~>LXS}J!#~Uqc8oSAk z<|KRLcibQ;<)wU7k@=h6KE(+GgGpDHs2SEnPr* zGeOL8A{&Hec$pe7KnS-J#P=&!`6zX&|BlL&zValMF;NKNmk|h^!%i(%DABx|qzp;wn*9imMFQ_Q9x`bCRmHAAyS{Owzf$SVrgEPKh*5Vz zMn0|BVsVtm8y1Tr%eGjM`;OOSSuD<#HPbnZh4&Dph1N6rVw|tiZuG@+%w&3q@>2Up zGgVjba|1mzi@V9&fo?LkU(nGkd8bLzDJ>OiOXkGaej9YuO5w1Sj1mrvndZgGf6}Rz;&-iqAJR+EPo6 zHXocO^TKITaH4h!PL9JnE|jIwey)6zG}_NG!QZGxYpM$x?Gb&+5xzT*Mr$rHG}=>n zBxRdnBip8jf14TB`5|-6u#qO2R6vpwY#f?jYM3@}wni&&U!;7lSfe$EA{yO}q1537}#&^RyV%Sk@BjKl20yw_EcYJah}!{C*MOd(G?X?o?m>Stff*J30NDJ6*%6 z>Y|Tzm7;tSOcHKI#8Ex87Q>4N)g++0CVa;N$nP~2xg;xJ;M#b(41{r-7bYOeO=@+9 z!(@24!WfK#sIxMuH6JF-yDp>^kSt6eq)qa@wTI%q}7Tby+w3tF>+ z7PT{E*Eo9%Z-?9Y>@AB|0+Ujrj7Pw)1m;T4tK>>xOTbc)HPfFl6X#k9e2&h^QgK9B ze2!0QWvNIY{wr=N&Sh_{)A|UBFqb0R+7+|b&Cpm9@fCt#h|ldL;``79JQb9uS>P2~ zi~jET4}OCf(S!rv%gv^pd8r%|i(QEcjYG2lJwZUXCT*R3)7L zf7-2Xdd-jLe4cP&BbZ3p$VV{OoU+%RV3sgBIf99`jqZlFkrg684`MGjkRn<#b%R+xv5F-hMY?7jYGdzP06+$u!xWor1DPW#!qX2FvDM01UV6lh- z&e7t$TBMGrfXT&!(-_b@y*p?q#@==7BiCO4D+T z_%|GDSK7|VFx#}sqQf`+`9HTYwndHS8SE1gS#;+R_07BAL>?KrSCaF|OkRl32;$UE zL)@?3PufIcGFdX-=x6I!__~#niPmsL7PW{>=-$_yC~q-HU#0nDtNqzRt&> zGYxE6lW(Sh?N$M)ThR>g1zS3!QJZ4a8rzfow_i03lef!U8@bkLtbp;>9cHy>ymj@F z+9}L(z*-LDy)lf^I*k|UhXN>;Y37Of^M7_LH?K;4+L&IZAxjp^E%=r3E6JV}Mqun& zt1%Lixyp?_t2`~BTx%GFJa<;+DJP$-EK^B7^!M54+H>dKd?%Gt1DcmPM{6_|2M!R~ zvk3vTzIY|NTV)yZ>2^NFWyQUH+DA8QP_dl7>Wy-*G6vfzI`5nWO@oRYY-7sZ*Oykdg&=$qV*{!c+glc&Em#s0t{*_!~V8&3l#()JODc&m6f}_JG(bp+jwltxc z5GDFbz2aF%ip%xYEtoi+W&c8TW%OKJhS%fMq^Gt1vVSdj$$o*(Wa{w=;>%43LsJ{8<^@g*}%Lh z;IzPn8T^z7mr{P5)!5-S;P)&KCTH4dt_>Two#e_YH@2+uG+Ryv#(2hjqo#m-=rQH` z)E+%DgHRIa5iYe<{!?j1$g$)ISu)H38kL(m%Q8yd3~X*X3<++2t@6a@Unbq^u|`oPl3s?J;IBlv6$)20N2FfF#|~4l(>Ht5yDId z*PWb+_?^W53tSuab32LsDmUy`c^dn#)8YjQ=hX4of1_rAeAqwd`qUo#=hQoDrv@u8 z_J1Q&GRZUph%?2A-&R0r#|ukfc0MzJ;*H3xmWigE;GPurDAJdlCqiP1J-n2U`-2H)J_5GR+|A7Js;a67MTI&g<;CK zdp=LF#|juP;WOed?HTW+fJN;LVBI=1fb_7sIwE_-4cY+|P$oNo#o)l8wR}J(2G#-a zi=iRKp9uwV{F&QH{;YE2&ni#zXDuIiil(UI+4GIs0rKI$;za0Dd-kl*5-O)gG%t6K z77(O!H7sQVkR%y1=^GbQ6Rsz315l8=Yyd|%YQ|N#i%cCyZ9rumNlv&dvatDt9V9K(Dg_T#+b?zxEc}0K9^aW7TJl`0ICcD(f8^^Zd-3pDsr^B{8`!q*E`gA8#m|W3kI$=9nmyw_}EP`A^YIeIpYOY*-N{=;Y&00J| zi{wtUIw>{3SWJitB~xaLtSYe7_C*~RY}>y=b3RP;SP)DpL!V|&;=!Mq5+PYhyc~9`IPDLqmdKbXb zfE#)YxZw}EVo`0O`d>Pu6}3fMEM{1L=YhLQh9gBsb#5%;GNU+^A*{H1?&SuEXz^`{ z{`tkXY=;gWW5v-YaeQ5$^Ew~jDpWbtma;QnKF06v9WVD|YvpX}E4p60^JVtp(e*yN z9^`thT?c{ge}rqiW1P)Yb-hr1xgTc9+0+hQAECWZ&pgvm#Ywy+{JH}S6pZc+v z`-REhfa74E+Q8{=U^wPfp3MK~PH*!SFk0On3lW9tuec9*aWkSF}In+0kGgdS|1yc;Ir;qfrbp}QJ)m-;@ehSquyFfg) zVX?XDwJ4E&OQ7O&X0MoN51fdjRXUcQL5@41vSm~opb{?5)Yt@6#|GF=-X#Lz?L;

    rP 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

    &IeC2Sx5AecCj4`~?<^40r#z}fBL9pT1L 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 W&SGF6<8Jf&A^zU8QJ3}K|Nj7GlN^iy diff --git a/examples/clay-official-website/index.html b/examples/clay-official-website/index.html index f168175..0eab546 100644 --- a/examples/clay-official-website/index.html +++ b/examples/clay-official-website/index.html @@ -113,7 +113,6 @@ ]}; let rectangleConfigDefinition = { name: 'rectangle', type: 'struct', members: [ { name: 'color', ...colorDefinition }, - { name: 'cornerRadius', ...cornerRadiusDefinition }, { name: 'link', ...stringDefinition }, { name: 'cursorPointer', type: 'uint8_t' }, ]}; @@ -123,7 +122,6 @@ { name: 'top', ...borderDefinition }, { name: 'bottom', ...borderDefinition }, { name: 'betweenChildren', ...borderDefinition }, - { name: 'cornerRadius', ...cornerRadiusDefinition } ]}; let textConfigDefinition = { name: 'text', type: 'struct', members: [ { name: 'textColor', ...colorDefinition }, @@ -149,6 +147,9 @@ let customConfigDefinition = { name: 'custom', type: 'struct', members: [ { name: 'customData', type: 'uint32_t' }, ]} + let sharedConfigDefinition = { name: 'shared', type: 'struct', members: [ + { name: 'cornerRadius', ...cornerRadiusDefinition }, + ]}; let renderCommandDefinition = { name: 'CLay_RenderCommand', type: 'struct', @@ -160,7 +161,10 @@ { name: 'height', type: 'float' }, ]}, { name: 'config', type: 'uint32_t'}, - { name: 'text', ...stringSliceDefinition }, + { name: 'textOrSharedConfig', type: 'union', members: [ + { name: 'text', ...stringSliceDefinition }, + { name: 'sharedConfig', type: 'uint32_t' } + ]}, { name: 'zIndex', type: 'int32_t' }, { name: 'id', type: 'uint32_t' }, { name: 'commandType', type: 'uint32_t', }, @@ -378,7 +382,7 @@ let isMultiConfigElement = previousId === renderCommand.id.value; if (!elementCache[renderCommand.id.value]) { let elementType = 'div'; - switch (renderCommand.commandType.value) { + switch (renderCommand.commandType.value & 0xff) { case CLAY_RENDER_COMMAND_TYPE_RECTANGLE: { if (readStructAtAddress(renderCommand.config.value, rectangleConfigDefinition).link.length.value > 0) { elementType = 'a'; @@ -386,6 +390,7 @@ break; } case CLAY_RENDER_COMMAND_TYPE_IMAGE: { + console.log('test5'); elementType = 'img'; break; } default: break; @@ -439,6 +444,7 @@ } case (CLAY_RENDER_COMMAND_TYPE_RECTANGLE): { let config = readStructAtAddress(renderCommand.config.value, rectangleConfigDefinition); + let sharedConfig = readStructAtAddress( renderCommand.textOrSharedConfig.sharedConfig.value, sharedConfigDefinition); let configMemory = new Uint8Array(memoryDataView.buffer.slice(renderCommand.config.value, renderCommand.config.value + config.__size)); let linkContents = config.link.length.value > 0 ? textDecoder.decode(new Uint8Array(memoryDataView.buffer.slice(config.link.chars.value, config.link.chars.value + config.link.length.value))) : 0; memoryDataView.setUint32(0, renderCommand.id.value, true); @@ -459,22 +465,23 @@ elementData.previousMemoryConfig = configMemory; let color = config.color; element.style.backgroundColor = `rgba(${color.r.value}, ${color.g.value}, ${color.b.value}, ${color.a.value / 255})`; - if (config.cornerRadius.topLeft.value > 0) { - element.style.borderTopLeftRadius = config.cornerRadius.topLeft.value + 'px'; + if (sharedConfig.cornerRadius.topLeft.value > 0) { + element.style.borderTopLeftRadius = sharedConfig.cornerRadius.topLeft.value + 'px'; } - if (config.cornerRadius.topRight.value > 0) { - element.style.borderTopRightRadius = config.cornerRadius.topRight.value + 'px'; + if (sharedConfig.cornerRadius.topRight.value > 0) { + element.style.borderTopRightRadius = sharedConfig.cornerRadius.topRight.value + 'px'; } - if (config.cornerRadius.bottomLeft.value > 0) { - element.style.borderBottomLeftRadius = config.cornerRadius.bottomLeft.value + 'px'; + if (sharedConfig.cornerRadius.bottomLeft.value > 0) { + element.style.borderBottomLeftRadius = sharedConfig.cornerRadius.bottomLeft.value + 'px'; } - if (config.cornerRadius.bottomRight.value > 0) { - element.style.borderBottomRightRadius = config.cornerRadius.bottomRight.value + 'px'; + if (sharedConfig.cornerRadius.bottomRight.value > 0) { + element.style.borderBottomRightRadius = sharedConfig.cornerRadius.bottomRight.value + 'px'; } break; } case (CLAY_RENDER_COMMAND_TYPE_BORDER): { let config = readStructAtAddress(renderCommand.config.value, borderConfigDefinition); + let sharedConfig = readStructAtAddress( renderCommand.textOrSharedConfig.sharedConfig.value, sharedConfigDefinition); let configMemory = new Uint8Array(memoryDataView.buffer.slice(renderCommand.config.value, renderCommand.config.value + config.__size)); if (!dirty && !MemoryIsDifferent(configMemory, elementData.previousMemoryConfig, config.__size)) { break; @@ -496,24 +503,24 @@ let color = config.bottom.color; element.style.borderBottom = `${config.bottom.width.value}px solid rgba(${color.r.value}, ${color.g.value}, ${color.b.value}, ${color.a.value / 255})` } - if (config.cornerRadius.topLeft.value > 0) { - element.style.borderTopLeftRadius = config.cornerRadius.topLeft.value + 'px'; + if (sharedConfig.cornerRadius.topLeft.value > 0) { + element.style.borderTopLeftRadius = sharedConfig.cornerRadius.topLeft.value + 'px'; } - if (config.cornerRadius.topRight.value > 0) { - element.style.borderTopRightRadius = config.cornerRadius.topRight.value + 'px'; + if (sharedConfig.cornerRadius.topRight.value > 0) { + element.style.borderTopRightRadius = sharedConfig.cornerRadius.topRight.value + 'px'; } - if (config.cornerRadius.bottomLeft.value > 0) { - element.style.borderBottomLeftRadius = config.cornerRadius.bottomLeft.value + 'px'; + if (sharedConfig.cornerRadius.bottomLeft.value > 0) { + element.style.borderBottomLeftRadius = sharedConfig.cornerRadius.bottomLeft.value + 'px'; } - if (config.cornerRadius.bottomRight.value > 0) { - element.style.borderBottomRightRadius = config.cornerRadius.bottomRight.value + 'px'; + if (sharedConfig.cornerRadius.bottomRight.value > 0) { + element.style.borderBottomRightRadius = sharedConfig.cornerRadius.bottomRight.value + 'px'; } break; } case (CLAY_RENDER_COMMAND_TYPE_TEXT): { let config = readStructAtAddress(renderCommand.config.value, textConfigDefinition); let configMemory = new Uint8Array(memoryDataView.buffer.slice(renderCommand.config.value, renderCommand.config.value + config.__size)); - let textContents = renderCommand.text; + let textContents = renderCommand.textOrSharedConfig.text; let stringContents = new Uint8Array(memoryDataView.buffer.slice(textContents.chars.value, textContents.chars.value + textContents.length.value)); if (MemoryIsDifferent(configMemory, elementData.previousMemoryConfig, config.__size)) { element.className = 'text'; @@ -549,6 +556,7 @@ break; } case (CLAY_RENDER_COMMAND_TYPE_IMAGE): { + console.log('test1'); let config = readStructAtAddress(renderCommand.config.value, imageConfigDefinition); let srcContents = new Uint8Array(memoryDataView.buffer.slice(config.sourceURL.chars.value, config.sourceURL.chars.value + config.sourceURL.length.value)); if (srcContents.length !== elementData.previousMemoryText.length || MemoryIsDifferent(srcContents, elementData.previousMemoryText, srcContents.length)) { diff --git a/examples/clay-official-website/main.c b/examples/clay-official-website/main.c index 4944262..e97213f 100644 --- a/examples/clay-official-website/main.c +++ b/examples/clay-official-website/main.c @@ -41,21 +41,21 @@ Clay_TextElementConfig headerTextConfig = (Clay_TextElementConfig) { .fontId = 2 Clay_TextElementConfig blobTextConfig = (Clay_TextElementConfig) { .fontId = 2, .fontSize = 30, .textColor = {244, 235, 230, 255} }; void LandingPageBlob(int index, int fontSize, Clay_Color color, Clay_String text, Clay_String imageURL) { - CLAY(CLAY_IDI("HeroBlob", index), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(.max = 480) }, .padding = CLAY_PADDING_ALL(16), .childGap = 16, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER} }), CLAY_BORDER_OUTSIDE_RADIUS(2, color, 10)) { - CLAY(CLAY_IDI("CheckImage", index), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_FIXED(32) } }), CLAY_IMAGE({ .sourceDimensions = { 128, 128 }, .sourceURL = imageURL })) {} + CLAY({ .id = CLAY_IDI("HeroBlob", index), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 480) }, .padding = CLAY_PADDING_ALL(16), .childGap = 16, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER} }, .border = CLAY_BORDER_OUTSIDE({ 2, color }), .shared = { .cornerRadius = CLAY_CORNER_RADIUS(10) } }) { + CLAY({ .id = CLAY_IDI("CheckImage", index), .layout = { .sizing = { CLAY_SIZING_FIXED(32) } }, .image = { .sourceDimensions = { 128, 128 }, .sourceURL = imageURL } }) {} CLAY_TEXT(text, CLAY_TEXT_CONFIG({ .fontSize = fontSize, .fontId = FONT_ID_BODY_24, .textColor = color })); } } void LandingPageDesktop() { - CLAY(CLAY_ID("LandingPage1Desktop"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIT(.min = windowHeight - 70) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = { 50, 50 } })) { - CLAY(CLAY_ID("LandingPage1"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(32), .childGap = 32 }), CLAY_BORDER({ .left = { 2, COLOR_RED }, .right = { 2, COLOR_RED } })) { - CLAY(CLAY_ID("LeftText"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_PERCENT(0.55f) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 })) { + CLAY({ .id = CLAY_ID("LandingPage1Desktop"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIT(.min = windowHeight - 70) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = { 50, 50 } } }) { + CLAY({ .id = CLAY_ID("LandingPage1"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(32), .childGap = 32 }, .border = { .left = { 2, COLOR_RED }, .right = { 2, COLOR_RED } } }) { + CLAY({ .id = CLAY_ID("LeftText"), .layout = { .sizing = { .width = CLAY_SIZING_PERCENT(0.55f) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 } }) { CLAY_TEXT(CLAY_STRING("Clay is a flex-box style UI auto layout library in C, with declarative syntax and microsecond performance."), CLAY_TEXT_CONFIG({ .fontSize = 56, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_RED })); - CLAY(CLAY_ID("LandingPageSpacer"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(32) } })) {} + CLAY({ .id = CLAY_ID("LandingPageSpacer"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(32) } } }) {} CLAY_TEXT(CLAY_STRING("Clay is laying out this webpage right now!"), CLAY_TEXT_CONFIG({ .fontSize = 36, .fontId = FONT_ID_TITLE_36, .textColor = COLOR_ORANGE })); } - CLAY(CLAY_ID("HeroImageOuter"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_PERCENT(0.45f) }, .childAlignment = { CLAY_ALIGN_X_CENTER }, .childGap = 16 })) { + CLAY({ .id = CLAY_ID("HeroImageOuter"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_PERCENT(0.45f) }, .childAlignment = { CLAY_ALIGN_X_CENTER }, .childGap = 16 } }) { LandingPageBlob(1, 32, COLOR_BLOB_BORDER_5, CLAY_STRING("High performance"), CLAY_STRING("/clay/images/check_5.png")); LandingPageBlob(2, 32, COLOR_BLOB_BORDER_4, CLAY_STRING("Flexbox-style responsive layout"), CLAY_STRING("/clay/images/check_4.png")); LandingPageBlob(3, 32, COLOR_BLOB_BORDER_3, CLAY_STRING("Declarative syntax"), CLAY_STRING("/clay/images/check_3.png")); @@ -67,13 +67,13 @@ void LandingPageDesktop() { } void LandingPageMobile() { - CLAY(CLAY_ID("LandingPage1Mobile"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIT(.min = windowHeight - 70) }, .childAlignment = {CLAY_ALIGN_X_CENTER, .y = CLAY_ALIGN_Y_CENTER}, .padding = { 16, 16, 32, 32 }, .childGap = 32 })) { - CLAY(CLAY_ID("LeftText"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(0) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 })) { + CLAY({ .id = CLAY_ID("LandingPage1Mobile"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIT(.min = windowHeight - 70) }, .childAlignment = {CLAY_ALIGN_X_CENTER, .y = CLAY_ALIGN_Y_CENTER}, .padding = { 16, 16, 32, 32 }, .childGap = 32 } }) { + CLAY({ .id = CLAY_ID("LeftText"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 } }) { CLAY_TEXT(CLAY_STRING("Clay is a flex-box style UI auto layout library in C, with declarative syntax and microsecond performance."), CLAY_TEXT_CONFIG({ .fontSize = 48, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_RED })); - CLAY(CLAY_ID("LandingPageSpacer"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(32) } })) {} + CLAY({ .id = CLAY_ID("LandingPageSpacer"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(32) } } }) {} CLAY_TEXT(CLAY_STRING("Clay is laying out this webpage right now!"), CLAY_TEXT_CONFIG({ .fontSize = 32, .fontId = FONT_ID_TITLE_36, .textColor = COLOR_ORANGE })); } - CLAY(CLAY_ID("HeroImageOuter"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_GROW(0) }, .childAlignment = { CLAY_ALIGN_X_CENTER }, .childGap = 16 })) { + CLAY({ .id = CLAY_ID("HeroImageOuter"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_GROW(0) }, .childAlignment = { CLAY_ALIGN_X_CENTER }, .childGap = 16 } }) { LandingPageBlob(1, 28, COLOR_BLOB_BORDER_5, CLAY_STRING("High performance"), CLAY_STRING("/clay/images/check_5.png")); LandingPageBlob(2, 28, COLOR_BLOB_BORDER_4, CLAY_STRING("Flexbox-style responsive layout"), CLAY_STRING("/clay/images/check_4.png")); LandingPageBlob(3, 28, COLOR_BLOB_BORDER_3, CLAY_STRING("Declarative syntax"), CLAY_STRING("/clay/images/check_3.png")); @@ -84,17 +84,17 @@ void LandingPageMobile() { } void FeatureBlocksDesktop() { - CLAY(CLAY_ID("FeatureBlocksOuter"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0) } })) { - CLAY(CLAY_ID("FeatureBlocksInner"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0) }, .childAlignment = { .y = CLAY_ALIGN_Y_CENTER } }), CLAY_BORDER({ .betweenChildren = { .width = 2, .color = COLOR_RED } })) { + CLAY({ .id = CLAY_ID("FeatureBlocksOuter"), .layout = { .sizing = { CLAY_SIZING_GROW(0) } } }) { + CLAY({ .id = CLAY_ID("FeatureBlocksInner"), .layout = { .sizing = { CLAY_SIZING_GROW(0) }, .childAlignment = { .y = CLAY_ALIGN_Y_CENTER } }, .border = { .betweenChildren = { .width = 2, .color = COLOR_RED } }}) { Clay_TextElementConfig *textConfig = CLAY_TEXT_CONFIG({ .fontSize = 24, .fontId = FONT_ID_BODY_24, .textColor = COLOR_RED }); - CLAY(CLAY_ID("HFileBoxOuter"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_PERCENT(0.5f) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = {50, 50, 32, 32}, .childGap = 8 })) { - CLAY(CLAY_ID("HFileIncludeOuter"), CLAY_LAYOUT({ .padding = {8, 4} }), CLAY_RECTANGLE({ .color = COLOR_RED, .cornerRadius = CLAY_CORNER_RADIUS(8) })) { + CLAY({ .id = CLAY_ID("HFileBoxOuter"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_PERCENT(0.5f) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = {50, 50, 32, 32}, .childGap = 8 } }) { + CLAY({ .id = CLAY_ID("HFileIncludeOuter"), .layout = { .padding = {8, 4} }, .rectangle = { .color = COLOR_RED }, .shared = { .cornerRadius = CLAY_CORNER_RADIUS(8) } }) { CLAY_TEXT(CLAY_STRING("#include clay.h"), CLAY_TEXT_CONFIG({ .fontSize = 24, .fontId = FONT_ID_BODY_24, .textColor = COLOR_LIGHT })); } CLAY_TEXT(CLAY_STRING("~2000 lines of C99."), textConfig); CLAY_TEXT(CLAY_STRING("Zero dependencies, including no C standard library."), textConfig); } - CLAY(CLAY_ID("BringYourOwnRendererOuter"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_PERCENT(0.5f) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = {50, 50, 32, 32}, .childGap = 8 })) { + CLAY({ .id = CLAY_ID("BringYourOwnRendererOuter"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_PERCENT(0.5f) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = {50, 50, 32, 32}, .childGap = 8 } }) { CLAY_TEXT(CLAY_STRING("Renderer agnostic."), CLAY_TEXT_CONFIG({ .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = COLOR_ORANGE })); CLAY_TEXT(CLAY_STRING("Layout with clay, then render with Raylib, WebGL Canvas or even as HTML."), textConfig); CLAY_TEXT(CLAY_STRING("Flexible output for easy compositing in your custom engine or environment."), textConfig); @@ -104,16 +104,16 @@ void FeatureBlocksDesktop() { } void FeatureBlocksMobile() { - CLAY(CLAY_ID("FeatureBlocksInner"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0) } }), CLAY_BORDER({ .betweenChildren = { .width = 2, .color = COLOR_RED } })) { + CLAY({ .id = CLAY_ID("FeatureBlocksInner"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0) } }, .border = { .betweenChildren = { .width = 2, .color = COLOR_RED } } }) { Clay_TextElementConfig *textConfig = CLAY_TEXT_CONFIG({ .fontSize = 24, .fontId = FONT_ID_BODY_24, .textColor = COLOR_RED }); - CLAY(CLAY_ID("HFileBoxOuter"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = {16, 16, 32, 32}, .childGap = 8 })) { - CLAY(CLAY_ID("HFileIncludeOuter"), CLAY_LAYOUT({ .padding = {8, 4} }), CLAY_RECTANGLE({ .color = COLOR_RED, .cornerRadius = CLAY_CORNER_RADIUS(8) })) { + CLAY({ .id = CLAY_ID("HFileBoxOuter"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = {16, 16, 32, 32}, .childGap = 8 } }) { + CLAY({ .id = CLAY_ID("HFileIncludeOuter"), .layout = { .padding = {8, 4} }, .rectangle = { .color = COLOR_RED }, .shared = { .cornerRadius = CLAY_CORNER_RADIUS(8) } }) { CLAY_TEXT(CLAY_STRING("#include clay.h"), CLAY_TEXT_CONFIG({ .fontSize = 24, .fontId = FONT_ID_BODY_24, .textColor = COLOR_LIGHT })); } CLAY_TEXT(CLAY_STRING("~2000 lines of C99."), textConfig); CLAY_TEXT(CLAY_STRING("Zero dependencies, including no C standard library."), textConfig); } - CLAY(CLAY_ID("BringYourOwnRendererOuter"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = {16, 16, 32, 32}, .childGap = 8 })) { + CLAY({ .id = CLAY_ID("BringYourOwnRendererOuter"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = {16, 16, 32, 32}, .childGap = 8 } }) { CLAY_TEXT(CLAY_STRING("Renderer agnostic."), CLAY_TEXT_CONFIG({ .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = COLOR_ORANGE })); CLAY_TEXT(CLAY_STRING("Layout with clay, then render with Raylib, WebGL Canvas or even as HTML."), textConfig); CLAY_TEXT(CLAY_STRING("Flexible output for easy compositing in your custom engine or environment."), textConfig); @@ -122,33 +122,33 @@ void FeatureBlocksMobile() { } void DeclarativeSyntaxPageDesktop() { - CLAY(CLAY_ID("SyntaxPageDesktop"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = { 50, 50 } })) { - CLAY(CLAY_ID("SyntaxPage"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = { 0, CLAY_ALIGN_Y_CENTER }, .padding = CLAY_PADDING_ALL(32), .childGap = 32 }), CLAY_BORDER({ .left = { 2, COLOR_RED }, .right = { 2, COLOR_RED } })) { - CLAY(CLAY_ID("SyntaxPageLeftText"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_PERCENT(0.5) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 })) { + CLAY({ .id = CLAY_ID("SyntaxPageDesktop"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = { 50, 50 } } }) { + CLAY({ .id = CLAY_ID("SyntaxPage"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = { 0, CLAY_ALIGN_Y_CENTER }, .padding = CLAY_PADDING_ALL(32), .childGap = 32 }, .border = { .left = { 2, COLOR_RED }, .right = { 2, COLOR_RED } } }) { + CLAY({ .id = CLAY_ID("SyntaxPageLeftText"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.5) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 } }) { CLAY_TEXT(CLAY_STRING("Declarative Syntax"), CLAY_TEXT_CONFIG({ .fontSize = 52, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_RED })); - CLAY(CLAY_ID("SyntaxSpacer"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(.max = 16) } })) {} + CLAY({ .id = CLAY_ID("SyntaxSpacer"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 16) } } }) {} CLAY_TEXT(CLAY_STRING("Flexible and readable declarative syntax with nested UI element hierarchies."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_RED })); CLAY_TEXT(CLAY_STRING("Mix elements with standard C code like loops, conditionals and functions."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_RED })); CLAY_TEXT(CLAY_STRING("Create your own library of re-usable components from UI primitives like text, images and rectangles."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_RED })); } - CLAY(CLAY_ID("SyntaxPageRightImage"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_PERCENT(0.50) }, .childAlignment = {.x = CLAY_ALIGN_X_CENTER} })) { - CLAY(CLAY_ID("SyntaxPageRightImageInner"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(.max = 568) } }), CLAY_IMAGE({ .sourceDimensions = {1136, 1194}, .sourceURL = CLAY_STRING("/clay/images/declarative.png") })) {} + CLAY({ .id = CLAY_ID("SyntaxPageRightImage"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.50) }, .childAlignment = {.x = CLAY_ALIGN_X_CENTER} } }) { + CLAY({ .id = CLAY_ID("SyntaxPageRightImageInner"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 568) } }, .image = { .sourceDimensions = {1136, 1194}, .sourceURL = CLAY_STRING("/clay/images/declarative.png") } }) {} } } } } void DeclarativeSyntaxPageMobile() { - CLAY(CLAY_ID("SyntaxPageDesktop"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {CLAY_ALIGN_X_CENTER, CLAY_ALIGN_Y_CENTER}, .padding = {16, 16, 32, 32}, .childGap = 16 })) { - CLAY(CLAY_ID("SyntaxPageLeftText"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 })) { + CLAY({ .id = CLAY_ID("SyntaxPageDesktop"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {CLAY_ALIGN_X_CENTER, CLAY_ALIGN_Y_CENTER}, .padding = {16, 16, 32, 32}, .childGap = 16 } }) { + CLAY({ .id = CLAY_ID("SyntaxPageLeftText"), .layout = { .sizing = { CLAY_SIZING_GROW(0) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 } }) { CLAY_TEXT(CLAY_STRING("Declarative Syntax"), CLAY_TEXT_CONFIG({ .fontSize = 48, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_RED })); - CLAY(CLAY_ID("SyntaxSpacer"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(.max = 16) } })) {} + CLAY({ .id = CLAY_ID("SyntaxSpacer"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 16) } } }) {} CLAY_TEXT(CLAY_STRING("Flexible and readable declarative syntax with nested UI element hierarchies."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_RED })); CLAY_TEXT(CLAY_STRING("Mix elements with standard C code like loops, conditionals and functions."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_RED })); CLAY_TEXT(CLAY_STRING("Create your own library of re-usable components from UI primitives like text, images and rectangles."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_RED })); } - CLAY(CLAY_ID("SyntaxPageRightImage"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0) }, .childAlignment = {.x = CLAY_ALIGN_X_CENTER} })) { - CLAY(CLAY_ID("SyntaxPageRightImageInner"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(.max = 568) } }), CLAY_IMAGE({ .sourceDimensions = {1136, 1194}, .sourceURL = CLAY_STRING("/clay/images/declarative.png") } )) {} + CLAY({ .id = CLAY_ID("SyntaxPageRightImage"), .layout = { .sizing = { CLAY_SIZING_GROW(0) }, .childAlignment = {.x = CLAY_ALIGN_X_CENTER} } }) { + CLAY({ .id = CLAY_ID("SyntaxPageRightImageInner"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 568) } }, .image = { .sourceDimensions = {1136, 1194}, .sourceURL = CLAY_STRING("/clay/images/declarative.png") } }) {} } } } @@ -165,20 +165,20 @@ Clay_Color ColorLerp(Clay_Color a, Clay_Color b, float amount) { Clay_String LOREM_IPSUM_TEXT = CLAY_STRING("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."); void HighPerformancePageDesktop(float lerpValue) { - CLAY(CLAY_ID("PerformanceOuter"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = {82, 82, 32, 32}, .childGap = 64 }), CLAY_RECTANGLE({ .color = COLOR_RED })) { - CLAY(CLAY_ID("PerformanceLeftText"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_PERCENT(0.5) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 })) { + CLAY({ .id = CLAY_ID("PerformanceOuter"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = {82, 82, 32, 32}, .childGap = 64 }, .rectangle = { .color = COLOR_RED } }) { + CLAY({ .id = CLAY_ID("PerformanceLeftText"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.5) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 } }) { CLAY_TEXT(CLAY_STRING("High Performance"), CLAY_TEXT_CONFIG({ .fontSize = 52, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_LIGHT })); - CLAY(CLAY_ID("PerformanceSpacer"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(.max = 16) }})) {} + CLAY({ .id = CLAY_ID("PerformanceSpacer"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 16) }} }) {} CLAY_TEXT(CLAY_STRING("Fast enough to recompute your entire UI every frame."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_LIGHT })); CLAY_TEXT(CLAY_STRING("Small memory footprint (3.5mb default) with static allocation & reuse. No malloc / free."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_LIGHT })); CLAY_TEXT(CLAY_STRING("Simplify animations and reactive UI design by avoiding the standard performance hacks."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_LIGHT })); } - CLAY(CLAY_ID("PerformanceRightImageOuter"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_PERCENT(0.50) }, .childAlignment = {CLAY_ALIGN_X_CENTER} })) { - CLAY(CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(400) } }), CLAY_BORDER_ALL({ .width = 2, .color = COLOR_LIGHT })) { - CLAY(CLAY_ID("AnimationDemoContainerLeft"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_PERCENT(0.3f + 0.4f * lerpValue), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(32) }), CLAY_RECTANGLE({ .color = ColorLerp(COLOR_RED, COLOR_ORANGE, lerpValue) })) { + CLAY({ .id = CLAY_ID("PerformanceRightImageOuter"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.50) }, .childAlignment = {CLAY_ALIGN_X_CENTER} } }) { + CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(400) } }, .border = CLAY_BORDER_ALL({ .width = 2, .color = COLOR_LIGHT }) }) { + CLAY({ .id = CLAY_ID("AnimationDemoContainerLeft"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.3f + 0.4f * lerpValue), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(32) }, .rectangle = { .color = ColorLerp(COLOR_RED, COLOR_ORANGE, lerpValue) } }) { CLAY_TEXT(LOREM_IPSUM_TEXT, CLAY_TEXT_CONFIG({ .fontSize = 24, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_LIGHT })); } - CLAY(CLAY_ID("AnimationDemoContainerRight"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(32) }), CLAY_RECTANGLE({ .color = ColorLerp(COLOR_ORANGE, COLOR_RED, lerpValue) })) { + CLAY({ .id = CLAY_ID("AnimationDemoContainerRight"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(32) }, .rectangle = { .color = ColorLerp(COLOR_ORANGE, COLOR_RED, lerpValue) } }) { CLAY_TEXT(LOREM_IPSUM_TEXT, CLAY_TEXT_CONFIG({ .fontSize = 24, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_LIGHT })); } } @@ -187,20 +187,20 @@ void HighPerformancePageDesktop(float lerpValue) { } void HighPerformancePageMobile(float lerpValue) { - CLAY(CLAY_ID("PerformanceOuter"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {CLAY_ALIGN_X_CENTER, CLAY_ALIGN_Y_CENTER}, .padding = {16, 16, 32, 32}, .childGap = 32 }), CLAY_RECTANGLE({ .color = COLOR_RED })) { - CLAY(CLAY_ID("PerformanceLeftText"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 })) { + CLAY({ .id = CLAY_ID("PerformanceOuter"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {CLAY_ALIGN_X_CENTER, CLAY_ALIGN_Y_CENTER}, .padding = {16, 16, 32, 32}, .childGap = 32 }, .rectangle = { .color = COLOR_RED } }) { + CLAY({ .id = CLAY_ID("PerformanceLeftText"), .layout = { .sizing = { CLAY_SIZING_GROW(0) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 } }) { CLAY_TEXT(CLAY_STRING("High Performance"), CLAY_TEXT_CONFIG({ .fontSize = 48, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_LIGHT })); - CLAY(CLAY_ID("PerformanceSpacer"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(.max = 16) }})) {} + CLAY({ .id = CLAY_ID("PerformanceSpacer"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 16) }} }) {} CLAY_TEXT(CLAY_STRING("Fast enough to recompute your entire UI every frame."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_LIGHT })); CLAY_TEXT(CLAY_STRING("Small memory footprint (3.5mb default) with static allocation & reuse. No malloc / free."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_LIGHT })); CLAY_TEXT(CLAY_STRING("Simplify animations and reactive UI design by avoiding the standard performance hacks."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_LIGHT })); } - CLAY(CLAY_ID("PerformanceRightImageOuter"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0) }, .childAlignment = {CLAY_ALIGN_X_CENTER} })) { - CLAY(CLAY_ID(""), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(400) } }), CLAY_BORDER_ALL({ .width = 2, .color = COLOR_LIGHT })) { - CLAY(CLAY_ID("AnimationDemoContainerLeft"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_PERCENT(0.35f + 0.3f * lerpValue), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(16) }), CLAY_RECTANGLE({ .color = ColorLerp(COLOR_RED, COLOR_ORANGE, lerpValue) })) { + CLAY({ .id = CLAY_ID("PerformanceRightImageOuter"), .layout = { .sizing = { CLAY_SIZING_GROW(0) }, .childAlignment = {CLAY_ALIGN_X_CENTER} } }) { + CLAY({ .id = CLAY_ID(""), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(400) } }, .border = CLAY_BORDER_ALL({ .width = 2, .color = COLOR_LIGHT }) }) { + CLAY({ .id = CLAY_ID("AnimationDemoContainerLeft"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.35f + 0.3f * lerpValue), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(16) }, .rectangle = { .color = ColorLerp(COLOR_RED, COLOR_ORANGE, lerpValue) } }) { CLAY_TEXT(LOREM_IPSUM_TEXT, CLAY_TEXT_CONFIG({ .fontSize = 24, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_LIGHT })); } - CLAY(CLAY_ID("AnimationDemoContainerRight"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(16) }), CLAY_RECTANGLE({ .color = ColorLerp(COLOR_ORANGE, COLOR_RED, lerpValue) })) { + CLAY({ .id = CLAY_ID("AnimationDemoContainerRight"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(16) }, .rectangle = { .color = ColorLerp(COLOR_ORANGE, COLOR_RED, lerpValue) } }) { CLAY_TEXT(LOREM_IPSUM_TEXT, CLAY_TEXT_CONFIG({ .fontSize = 24, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_LIGHT })); } } @@ -217,36 +217,40 @@ void HandleRendererButtonInteraction(Clay_ElementId elementId, Clay_PointerData } void RendererButtonActive(Clay_String text) { - CLAY(CLAY_LAYOUT({ .sizing = {CLAY_SIZING_FIXED(300) }, .padding = CLAY_PADDING_ALL(16) }), - CLAY_RECTANGLE({ .color = Clay_Hovered() ? COLOR_RED_HOVER : COLOR_RED, .cornerRadius = CLAY_CORNER_RADIUS(10) }) - ) { + CLAY({ + .layout = { .sizing = {CLAY_SIZING_FIXED(300) }, .padding = CLAY_PADDING_ALL(16) }, + .rectangle = { .color = Clay_Hovered() ? COLOR_RED_HOVER : COLOR_RED }, + .shared = { .cornerRadius = CLAY_CORNER_RADIUS(10) } + }) { CLAY_TEXT(text, CLAY_TEXT_CONFIG({ .disablePointerEvents = true, .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_LIGHT })); } } void RendererButtonInactive(Clay_String text, size_t rendererIndex) { - CLAY(CLAY_LAYOUT({ .sizing = {CLAY_SIZING_FIXED(300)}, .padding = CLAY_PADDING_ALL(16) }), - CLAY_BORDER_OUTSIDE_RADIUS(2, COLOR_RED, 10), - CLAY_RECTANGLE({ .color = Clay_Hovered() ? COLOR_LIGHT_HOVER : COLOR_LIGHT, .cornerRadius = CLAY_CORNER_RADIUS(10), .cursorPointer = true }), - Clay_OnHover(HandleRendererButtonInteraction, rendererIndex) - ) { + CLAY({ + .layout = { .sizing = {CLAY_SIZING_FIXED(300)}, .padding = CLAY_PADDING_ALL(16) }, + .border = CLAY_BORDER_OUTSIDE({ 2, COLOR_RED }), + .rectangle = { .color = Clay_Hovered() ? COLOR_LIGHT_HOVER : COLOR_LIGHT, .cursorPointer = true }, + .shared = { .cornerRadius = CLAY_CORNER_RADIUS(10) } + }) { + Clay_OnHover(HandleRendererButtonInteraction, rendererIndex); CLAY_TEXT(text, CLAY_TEXT_CONFIG({ .disablePointerEvents = true, .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_RED })); } } void RendererPageDesktop() { - CLAY(CLAY_ID("RendererPageDesktop"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = { 50, 50 } })) { - CLAY(CLAY_ID("RendererPage"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = { 0, CLAY_ALIGN_Y_CENTER }, .padding = CLAY_PADDING_ALL(32), .childGap = 32 }), CLAY_BORDER({ .left = { 2, COLOR_RED }, .right = { 2, COLOR_RED } })) { - CLAY(CLAY_ID("RendererLeftText"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_PERCENT(0.5) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 })) { + CLAY({ .id = CLAY_ID("RendererPageDesktop"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = { 50, 50 } } }) { + CLAY({ .id = CLAY_ID("RendererPage"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = { 0, CLAY_ALIGN_Y_CENTER }, .padding = CLAY_PADDING_ALL(32), .childGap = 32 }, .border = { .left = { 2, COLOR_RED }, .right = { 2, COLOR_RED } } }) { + CLAY({ .id = CLAY_ID("RendererLeftText"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.5) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 } }) { CLAY_TEXT(CLAY_STRING("Renderer & Platform Agnostic"), CLAY_TEXT_CONFIG({ .fontSize = 52, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_RED })); - CLAY(CLAY_ID("RendererSpacerLeft"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(.max = 16) }})) {} + CLAY({ .id = CLAY_ID("RendererSpacerLeft"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 16) }} }) {} CLAY_TEXT(CLAY_STRING("Clay outputs a sorted array of primitive render commands, such as RECTANGLE, TEXT or IMAGE."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_RED })); CLAY_TEXT(CLAY_STRING("Write your own renderer in a few hundred lines of code, or use the provided examples for Raylib, WebGL canvas and more."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_RED })); CLAY_TEXT(CLAY_STRING("There's even an HTML renderer - you're looking at it right now!"), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_RED })); } - CLAY(CLAY_ID("RendererRightText"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_PERCENT(0.5) }, .childAlignment = {CLAY_ALIGN_X_CENTER}, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 16 })) { + CLAY({ .id = CLAY_ID("RendererRightText"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.5) }, .childAlignment = {CLAY_ALIGN_X_CENTER}, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 16 } }) { CLAY_TEXT(CLAY_STRING("Try changing renderer!"), CLAY_TEXT_CONFIG({ .fontSize = 36, .fontId = FONT_ID_BODY_36, .textColor = COLOR_ORANGE })); - CLAY(CLAY_ID("RendererSpacerRight"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(.max = 32) } })) {} + CLAY({ .id = CLAY_ID("RendererSpacerRight"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 32) } } }) {} if (ACTIVE_RENDERER_INDEX == 0) { RendererButtonActive(CLAY_STRING("HTML Renderer")); RendererButtonInactive(CLAY_STRING("Canvas Renderer"), 1); @@ -260,17 +264,17 @@ void RendererPageDesktop() { } void RendererPageMobile() { - CLAY(CLAY_ID("RendererMobile"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {.x = CLAY_ALIGN_X_CENTER, .y = CLAY_ALIGN_Y_CENTER}, .padding = { 16, 16, 32, 32}, .childGap = 32 }), CLAY_RECTANGLE({ .color = COLOR_LIGHT })) { - CLAY(CLAY_ID("RendererLeftText"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 })) { + CLAY({ .id = CLAY_ID("RendererMobile"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {.x = CLAY_ALIGN_X_CENTER, .y = CLAY_ALIGN_Y_CENTER}, .padding = { 16, 16, 32, 32}, .childGap = 32 }, .rectangle = { .color = COLOR_LIGHT } }) { + CLAY({ .id = CLAY_ID("RendererLeftText"), .layout = { .sizing = { CLAY_SIZING_GROW(0) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 } }) { CLAY_TEXT(CLAY_STRING("Renderer & Platform Agnostic"), CLAY_TEXT_CONFIG({ .fontSize = 48, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_RED })); - CLAY(CLAY_ID("RendererSpacerLeft"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(.max = 16) }})) {} + CLAY({ .id = CLAY_ID("RendererSpacerLeft"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 16) }} }) {} CLAY_TEXT(CLAY_STRING("Clay outputs a sorted array of primitive render commands, such as RECTANGLE, TEXT or IMAGE."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_RED })); CLAY_TEXT(CLAY_STRING("Write your own renderer in a few hundred lines of code, or use the provided examples for Raylib, WebGL canvas and more."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_RED })); CLAY_TEXT(CLAY_STRING("There's even an HTML renderer - you're looking at it right now!"), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_RED })); } - CLAY(CLAY_ID("RendererRightText"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 16 })) { + CLAY({ .id = CLAY_ID("RendererRightText"), .layout = { .sizing = { CLAY_SIZING_GROW(0) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 16 } }) { CLAY_TEXT(CLAY_STRING("Try changing renderer!"), CLAY_TEXT_CONFIG({ .fontSize = 36, .fontId = FONT_ID_BODY_36, .textColor = COLOR_ORANGE })); - CLAY(CLAY_ID("RendererSpacerRight"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(.max = 32) }})) {} + CLAY({ .id = CLAY_ID("RendererSpacerRight"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 32) }} }) {} if (ACTIVE_RENDERER_INDEX == 0) { RendererButtonActive(CLAY_STRING("HTML Renderer")); RendererButtonInactive(CLAY_STRING("Canvas Renderer"), 1); @@ -283,17 +287,17 @@ void RendererPageMobile() { } void DebuggerPageDesktop() { - CLAY(CLAY_ID("DebuggerDesktop"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = { 82, 82, 32, 32 }, .childGap = 64 }), CLAY_RECTANGLE({ .color = COLOR_RED })) { - CLAY(CLAY_ID("DebuggerLeftText"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_PERCENT(0.5) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 })) { + CLAY({ .id = CLAY_ID("DebuggerDesktop"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = { 82, 82, 32, 32 }, .childGap = 64 }, .rectangle = { .color = COLOR_RED } }) { + CLAY({ .id = CLAY_ID("DebuggerLeftText"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.5) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 } }) { CLAY_TEXT(CLAY_STRING("Integrated Debug Tools"), CLAY_TEXT_CONFIG({ .fontSize = 52, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_LIGHT })); - CLAY(CLAY_ID("DebuggerSpacer"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(.max = 16) }})) {} + CLAY({ .id = CLAY_ID("DebuggerSpacer"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 16) }} }) {} CLAY_TEXT(CLAY_STRING("Clay includes built in \"Chrome Inspector\"-style debug tooling."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_LIGHT })); CLAY_TEXT(CLAY_STRING("View your layout hierarchy and config in real time."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_LIGHT })); - CLAY(CLAY_ID("DebuggerPageSpacer"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(32) } })) {} + CLAY({ .id = CLAY_ID("DebuggerPageSpacer"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(32) } } }) {} CLAY_TEXT(CLAY_STRING("Press the \"d\" key to try it out now!"), CLAY_TEXT_CONFIG({ .fontSize = 32, .fontId = FONT_ID_TITLE_36, .textColor = COLOR_ORANGE })); } - CLAY(CLAY_ID("DebuggerRightImageOuter"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_PERCENT(0.50) }, .childAlignment = {CLAY_ALIGN_X_CENTER} })) { - CLAY(CLAY_ID("DebuggerPageRightImageInner"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(.max = 558) } }), CLAY_IMAGE({ .sourceDimensions = {1620, 1474}, .sourceURL = CLAY_STRING("/clay/images/debugger.png") })) {} + CLAY({ .id = CLAY_ID("DebuggerRightImageOuter"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.50) }, .childAlignment = {CLAY_ALIGN_X_CENTER} } }) { + CLAY({ .id = CLAY_ID("DebuggerPageRightImageInner"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 558) } }, .image = { .sourceDimensions = {1620, 1474}, .sourceURL = CLAY_STRING("/clay/images/debugger.png") } }) {} } } } @@ -310,45 +314,46 @@ float animationLerpValue = -1.0f; Clay_RenderCommandArray CreateLayout(bool mobileScreen, float lerpValue) { Clay_BeginLayout(); - CLAY(CLAY_ID("OuterContainer"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) } }), CLAY_RECTANGLE({ .color = COLOR_LIGHT })) { - CLAY(CLAY_ID("Header"), CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(50) }, .childAlignment = { 0, CLAY_ALIGN_Y_CENTER }, .childGap = 16, .padding = { 32, 32 } })) { + CLAY({ .id = CLAY_ID("OuterContainer"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) } }, .rectangle = { .color = COLOR_LIGHT } }) { + CLAY({ .id = CLAY_ID("Header"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(50) }, .childAlignment = { 0, CLAY_ALIGN_Y_CENTER }, .childGap = 16, .padding = { 32, 32 } } }) { CLAY_TEXT(CLAY_STRING("Clay"), &headerTextConfig); - CLAY(CLAY_ID("Spacer"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(0) } })) {} + CLAY({ .id = CLAY_ID("Spacer"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0) } } }) {} if (!mobileScreen) { - CLAY(CLAY_ID("LinkExamplesOuter"), CLAY_LAYOUT({ .padding = {8, 8} }), CLAY_RECTANGLE({ .link = CLAY_STRING("https://github.com/nicbarker/clay/tree/main/examples"), .color = {0,0,0,0} })) { + CLAY({ .id = CLAY_ID("LinkExamplesOuter"), .layout = { .padding = {8, 8} }, .rectangle = { .link = CLAY_STRING("https://github.com/nicbarker/clay/tree/main/examples"), .color = {0,0,0,0} } }) { CLAY_TEXT(CLAY_STRING("Examples"), CLAY_TEXT_CONFIG({ .disablePointerEvents = true, .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = {61, 26, 5, 255} })); } - CLAY(CLAY_ID("LinkDocsOuter"), CLAY_LAYOUT({ .padding = {8, 8} }), CLAY_RECTANGLE({ .link = CLAY_STRING("https://github.com/nicbarker/clay/blob/main/README.md"), .color = {0,0,0,0} })) { + CLAY({ .id = CLAY_ID("LinkDocsOuter"), .layout = { .padding = {8, 8} }, .rectangle = { .link = CLAY_STRING("https://github.com/nicbarker/clay/blob/main/README.md"), .color = {0,0,0,0} } }) { CLAY_TEXT(CLAY_STRING("Docs"), CLAY_TEXT_CONFIG({ .disablePointerEvents = true, .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = {61, 26, 5, 255} })); } } - CLAY(CLAY_LAYOUT({ .padding = {16, 16, 6, 6} }), - CLAY_RECTANGLE({ - .cornerRadius = CLAY_CORNER_RADIUS(10), - .link = CLAY_STRING("https://discord.gg/b4FTWkxdvT"), - .color = Clay_Hovered() ? COLOR_LIGHT_HOVER : COLOR_LIGHT }), - CLAY_BORDER_OUTSIDE_RADIUS(2, COLOR_RED, 10) - ) { + CLAY({ + .layout = { .padding = {16, 16, 6, 6} }, + .rectangle = {.link = CLAY_STRING("https://discord.gg/b4FTWkxdvT"), .color = Clay_Hovered() ? COLOR_LIGHT_HOVER : COLOR_LIGHT}, + .border = CLAY_BORDER_OUTSIDE({ 2, COLOR_RED }), + .shared = { .cornerRadius = CLAY_CORNER_RADIUS(10) } + }) { CLAY_TEXT(CLAY_STRING("Discord"), CLAY_TEXT_CONFIG({ .disablePointerEvents = true, .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = {61, 26, 5, 255} })); } - CLAY(CLAY_LAYOUT({ .padding = {16, 16, 6, 6} }), - CLAY_RECTANGLE({ .cornerRadius = CLAY_CORNER_RADIUS(10), .link = CLAY_STRING("https://github.com/nicbarker/clay"), .color = Clay_Hovered() ? COLOR_LIGHT_HOVER : COLOR_LIGHT }), - CLAY_BORDER_OUTSIDE_RADIUS(2, COLOR_RED, 10) - ) { + CLAY({ + .layout = { .padding = {16, 16, 6, 6} }, + .rectangle = { .link = CLAY_STRING("https://github.com/nicbarker/clay"), .color = Clay_Hovered() ? COLOR_LIGHT_HOVER : COLOR_LIGHT }, + .border = CLAY_BORDER_OUTSIDE({ 2, COLOR_RED }), + .shared = { .cornerRadius = CLAY_CORNER_RADIUS(10) } + }) { CLAY_TEXT(CLAY_STRING("Github"), CLAY_TEXT_CONFIG({ .disablePointerEvents = true, .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = {61, 26, 5, 255} })); } } Clay_LayoutConfig topBorderConfig = (Clay_LayoutConfig) { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(4) }}; - CLAY(CLAY_ID("TopBorder1"), CLAY_LAYOUT(topBorderConfig), CLAY_RECTANGLE({ .color = COLOR_TOP_BORDER_5 })) {} - CLAY(CLAY_ID("TopBorder2"), CLAY_LAYOUT(topBorderConfig), CLAY_RECTANGLE({ .color = COLOR_TOP_BORDER_4 })) {} - CLAY(CLAY_ID("TopBorder3"), CLAY_LAYOUT(topBorderConfig), CLAY_RECTANGLE({ .color = COLOR_TOP_BORDER_3 })) {} - CLAY(CLAY_ID("TopBorder4"), CLAY_LAYOUT(topBorderConfig), CLAY_RECTANGLE({ .color = COLOR_TOP_BORDER_2 })) {} - CLAY(CLAY_ID("TopBorder5"), CLAY_LAYOUT(topBorderConfig), CLAY_RECTANGLE({ .color = COLOR_TOP_BORDER_1 })) {} - CLAY(CLAY_ID("OuterScrollContainer"), - CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .layoutDirection = CLAY_TOP_TO_BOTTOM }), - CLAY_SCROLL({ .vertical = true }), - CLAY_BORDER({ .betweenChildren = {2, COLOR_RED} }) - ) { + CLAY({ .id = CLAY_ID("TopBorder1"), .layout = topBorderConfig, .rectangle = { .color = COLOR_TOP_BORDER_5 } }) {} + CLAY({ .id = CLAY_ID("TopBorder2"), .layout = topBorderConfig, .rectangle = { .color = COLOR_TOP_BORDER_4 } }) {} + CLAY({ .id = CLAY_ID("TopBorder3"), .layout = topBorderConfig, .rectangle = { .color = COLOR_TOP_BORDER_3 } }) {} + CLAY({ .id = CLAY_ID("TopBorder4"), .layout = topBorderConfig, .rectangle = { .color = COLOR_TOP_BORDER_2 } }) {} + CLAY({ .id = CLAY_ID("TopBorder5"), .layout = topBorderConfig, .rectangle = { .color = COLOR_TOP_BORDER_1 } }) {} + CLAY({ .id = CLAY_ID("OuterScrollContainer"), + .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .layoutDirection = CLAY_TOP_TO_BOTTOM }, + .scroll = { .vertical = true }, + .border = { .betweenChildren = { 2, COLOR_RED } } + }) { if (mobileScreen) { LandingPageMobile(); FeatureBlocksMobile(); @@ -375,11 +380,12 @@ Clay_RenderCommandArray CreateLayout(bool mobileScreen, float lerpValue) { scrollbarColor = (Clay_Color){225, 138, 50, 160}; } float scrollHeight = scrollData.scrollContainerDimensions.height - 12; - CLAY(CLAY_ID("ScrollBar"), - CLAY_FLOATING({ .offset = { .x = -6, .y = -(scrollData.scrollPosition->y / scrollData.contentDimensions.height) * scrollHeight + 6}, .zIndex = 1, .parentId = Clay_GetElementId(CLAY_STRING("OuterScrollContainer")).id, .attachment = {.element = CLAY_ATTACH_POINT_RIGHT_TOP, .parent = CLAY_ATTACH_POINT_RIGHT_TOP }}), - CLAY_LAYOUT({ .sizing = {CLAY_SIZING_FIXED(10), CLAY_SIZING_FIXED((scrollHeight / scrollData.contentDimensions.height) * scrollHeight)} }), - CLAY_RECTANGLE({ .cornerRadius = CLAY_CORNER_RADIUS(5), .color = scrollbarColor }) - ) {} + CLAY({ .id = CLAY_ID("ScrollBar"), + .floating = { .offset = { .x = -6, .y = -(scrollData.scrollPosition->y / scrollData.contentDimensions.height) * scrollHeight + 6}, .zIndex = 1, .parentId = Clay_GetElementId(CLAY_STRING("OuterScrollContainer")).id, .attachment = {.element = CLAY_ATTACH_POINT_RIGHT_TOP, .parent = CLAY_ATTACH_POINT_RIGHT_TOP }}, + .layout = { .sizing = {CLAY_SIZING_FIXED(10), CLAY_SIZING_FIXED((scrollHeight / scrollData.contentDimensions.height) * scrollHeight)} }, + .rectangle = { .color = scrollbarColor }, + .shared = { .cornerRadius = CLAY_CORNER_RADIUS(5) } + }) {} } return Clay_EndLayout(); } From c9d5e73be4f50c6a52c262f36a5523f1d5af3c73 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 31 Jan 2025 15:17:34 +1300 Subject: [PATCH 20/37] CPP declaration order --- clay.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clay.h b/clay.h index 0655542..e5fa4af 100644 --- a/clay.h +++ b/clay.h @@ -2721,7 +2721,7 @@ void Clay__RenderDebugViewColor(Clay_Color color, Clay_TextElementConfig *textCo CLAY_TEXT(Clay__IntToString(color.a), textConfig); CLAY_TEXT(CLAY_STRING(" }"), textConfig); CLAY({ .layout = { .sizing = { CLAY_SIZING_FIXED(10), CLAY__DEFAULT_STRUCT } } }) {} - CLAY({ .layout = { .sizing = { CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8)} }, .border = CLAY_BORDER_OUTSIDE({ 1, CLAY__DEBUGVIEW_COLOR_4 }), .rectangle = { .color = color }, .shared = { .cornerRadius = CLAY_CORNER_RADIUS(4) } }) {} + CLAY({ .layout = { .sizing = { CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8)} }, .rectangle = { .color = color }, .border = CLAY_BORDER_OUTSIDE({ 1, CLAY__DEBUGVIEW_COLOR_4 }), .shared = { .cornerRadius = CLAY_CORNER_RADIUS(4) } }) {} } } From 595194741bb271bdf7b3ba5d3d693f88c57e0b5a Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 31 Jan 2025 15:30:28 +1300 Subject: [PATCH 21/37] Pedantic compiler updates --- clay.h | 38 +++++++++---------- .../raylib-sidebar-scrolling-container/main.c | 4 +- .../multi-compilation-unit.c | 4 +- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/clay.h b/clay.h index e5fa4af..cef67ff 100644 --- a/clay.h +++ b/clay.h @@ -983,14 +983,14 @@ Clay_ElementConfig Clay__CurrentConfigUnion(Clay__ElementConfigType type) { } } -Clay_RectangleElementConfig * Clay_CurrentConfigRectangle() { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_RECTANGLE).config.rectangleElementConfig; } -Clay_TextElementConfig * Clay_CurrentConfigText() { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_TEXT).config.textElementConfig; } -Clay_ImageElementConfig * Clay_CurrentConfigImage() { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_IMAGE).config.imageElementConfig; } -Clay_FloatingElementConfig * Clay_CurrentConfigFloating() { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_FLOATING).config.floatingElementConfig; } -Clay_CustomElementConfig * Clay_CurrentConfigCustom() { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_CUSTOM).config.customElementConfig; } -Clay_ScrollElementConfig * Clay_CurrentConfigScroll() { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_SCROLL).config.scrollElementConfig; } -Clay_BorderElementConfig * Clay_CurrentConfigBorder() { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_BORDER).config.borderElementConfig; } -Clay_SharedElementConfig * Clay_CurrentConfigShared() { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_SHARED).config.sharedElementConfig; } +Clay_RectangleElementConfig * Clay_CurrentConfigRectangle(void) { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_RECTANGLE).config.rectangleElementConfig; } +Clay_TextElementConfig * Clay_CurrentConfigText(void) { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_TEXT).config.textElementConfig; } +Clay_ImageElementConfig * Clay_CurrentConfigImage(void) { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_IMAGE).config.imageElementConfig; } +Clay_FloatingElementConfig * Clay_CurrentConfigFloating(void) { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_FLOATING).config.floatingElementConfig; } +Clay_CustomElementConfig * Clay_CurrentConfigCustom(void) { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_CUSTOM).config.customElementConfig; } +Clay_ScrollElementConfig * Clay_CurrentConfigScroll(void) { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_SCROLL).config.scrollElementConfig; } +Clay_BorderElementConfig * Clay_CurrentConfigBorder(void) { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_BORDER).config.borderElementConfig; } +Clay_SharedElementConfig * Clay_CurrentConfigShared(void) { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_SHARED).config.sharedElementConfig; } Clay_ElementId Clay__HashNumber(const uint32_t offset, const uint32_t seed) { uint32_t hash = seed; @@ -1476,7 +1476,7 @@ bool Clay__MemCmp(const char *s1, const char *s2, int32_t length); } #endif -void Clay__OpenElement() { +void Clay__OpenElement(void) { Clay_Context* context = Clay_GetCurrentContext(); if (context->layoutElements.length == context->layoutElements.capacity - 1 || context->booleanWarnings.maxElementsExceeded) { context->booleanWarnings.maxElementsExceeded = true; @@ -2623,8 +2623,8 @@ Clay__RenderDebugLayoutData Clay__RenderDebugLayoutElementsList(int32_t initialR layoutData.rowCount++; Clay__TextElementData *textElementData = currentElement->childrenOrTextContent.textElementData; Clay_TextElementConfig *rawTextConfig = offscreen ? CLAY_TEXT_CONFIG({ .textColor = CLAY__DEBUGVIEW_COLOR_3, .fontSize = 16 }) : &Clay__DebugView_TextNameConfig; - CLAY({ .layout = { .sizing = { .height = CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT)}, .childAlignment = { .y = CLAY_ALIGN_Y_CENTER } }, .rectangle = CLAY__DEFAULT_STRUCT }) { - CLAY({ .layout = { .sizing = {CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_INDENT_WIDTH + 16), CLAY__DEFAULT_STRUCT} } }) {} + CLAY({ .layout = { .sizing = { .height = CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT)}, .childAlignment = { .y = CLAY_ALIGN_Y_CENTER } } }) { + CLAY({ .layout = { .sizing = {CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_INDENT_WIDTH + 16) } } }) {} CLAY_TEXT(CLAY_STRING("\""), rawTextConfig); CLAY_TEXT(textElementData->text.length > 40 ? (CLAY__INIT(Clay_String) { .length = 40, .chars = textElementData->text.chars }) : textElementData->text, rawTextConfig); if (textElementData->text.length > 40) { @@ -2720,7 +2720,7 @@ void Clay__RenderDebugViewColor(Clay_Color color, Clay_TextElementConfig *textCo CLAY_TEXT(CLAY_STRING(", a: "), textConfig); CLAY_TEXT(Clay__IntToString(color.a), textConfig); CLAY_TEXT(CLAY_STRING(" }"), textConfig); - CLAY({ .layout = { .sizing = { CLAY_SIZING_FIXED(10), CLAY__DEFAULT_STRUCT } } }) {} + CLAY({ .layout = { .sizing = { CLAY_SIZING_FIXED(10) } } }) {} CLAY({ .layout = { .sizing = { CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8)} }, .rectangle = { .color = color }, .border = CLAY_BORDER_OUTSIDE({ 1, CLAY__DEBUGVIEW_COLOR_4 }), .shared = { .cornerRadius = CLAY_CORNER_RADIUS(4) } }) {} } } @@ -2867,7 +2867,7 @@ void Clay__RenderDebugView(void) { CLAY({ .layout = { .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM } }) { // .boundingBox CLAY_TEXT(CLAY_STRING("Bounding Box"), infoTitleConfig); - CLAY({}) { + CLAY({0}) { CLAY_TEXT(CLAY_STRING("{ x: "), infoTextConfig); CLAY_TEXT(Clay__IntToString(selectedItem->boundingBox.x), infoTextConfig); CLAY_TEXT(CLAY_STRING(", y: "), infoTextConfig); @@ -2884,11 +2884,11 @@ void Clay__RenderDebugView(void) { CLAY_TEXT(layoutConfig->layoutDirection == CLAY_TOP_TO_BOTTOM ? CLAY_STRING("TOP_TO_BOTTOM") : CLAY_STRING("LEFT_TO_RIGHT"), infoTextConfig); // .sizing CLAY_TEXT(CLAY_STRING("Sizing"), infoTitleConfig); - CLAY({}) { + CLAY({0}) { CLAY_TEXT(CLAY_STRING("width: "), infoTextConfig); Clay__RenderDebugLayoutSizing(layoutConfig->sizing.width, infoTextConfig); } - CLAY({}) { + CLAY({0}) { CLAY_TEXT(CLAY_STRING("height: "), infoTextConfig); Clay__RenderDebugLayoutSizing(layoutConfig->sizing.height, infoTextConfig); } @@ -2910,7 +2910,7 @@ void Clay__RenderDebugView(void) { CLAY_TEXT(Clay__IntToString(layoutConfig->childGap), infoTextConfig); // .childAlignment CLAY_TEXT(CLAY_STRING("Child Alignment"), infoTitleConfig); - CLAY({ .layout = CLAY__DEFAULT_STRUCT }) { + CLAY({0}) { CLAY_TEXT(CLAY_STRING("{ x: "), infoTextConfig); Clay_String alignX = CLAY_STRING("LEFT"); if (layoutConfig->childAlignment.x == CLAY_ALIGN_X_CENTER) { @@ -3018,7 +3018,7 @@ void Clay__RenderDebugView(void) { CLAY({ .layout = { .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM } }) { // .offset CLAY_TEXT(CLAY_STRING("Offset"), infoTitleConfig); - CLAY({}) { + CLAY({0}) { CLAY_TEXT(CLAY_STRING("{ x: "), infoTextConfig); CLAY_TEXT(Clay__IntToString(floatingConfig->offset.x), infoTextConfig); CLAY_TEXT(CLAY_STRING(", y: "), infoTextConfig); @@ -3027,7 +3027,7 @@ void Clay__RenderDebugView(void) { } // .expand CLAY_TEXT(CLAY_STRING("Expand"), infoTitleConfig); - CLAY({}) { + CLAY({0}) { CLAY_TEXT(CLAY_STRING("{ width: "), infoTextConfig); CLAY_TEXT(Clay__IntToString(floatingConfig->expand.width), infoTextConfig); CLAY_TEXT(CLAY_STRING(", height: "), infoTextConfig); @@ -3449,7 +3449,7 @@ void Clay_BeginLayout(void) { } context->booleanWarnings = CLAY__INIT(Clay_BooleanWarnings) CLAY__DEFAULT_STRUCT; Clay__OpenElement(); - Clay__ConfigureOpenElement((Clay_ElementDeclaration) { + Clay__ConfigureOpenElement(CLAY__INIT(Clay_ElementDeclaration) { .id = CLAY_ID("Clay__RootContainer"), .layout = { .sizing = {CLAY_SIZING_FIXED((rootDimensions.width)), CLAY_SIZING_FIXED(rootDimensions.height)} } }); diff --git a/examples/raylib-sidebar-scrolling-container/main.c b/examples/raylib-sidebar-scrolling-container/main.c index 7d01d49..b9e659d 100644 --- a/examples/raylib-sidebar-scrolling-container/main.c +++ b/examples/raylib-sidebar-scrolling-container/main.c @@ -44,7 +44,7 @@ void RenderDropdownTextItem(int index) { } } -Clay_RenderCommandArray CreateLayout() { +Clay_RenderCommandArray CreateLayout(void) { Clay_BeginLayout(); CLAY({ .id = CLAY_ID("OuterContainer"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_GROW(0) }, .padding = { 16, 16, 16, 16 }, .childGap = 16 }, .rectangle = { .color = {200, 200, 200, 255} }}) { CLAY({ .id = CLAY_ID("SideBar"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_GROW(0) }, .padding = {16, 16, 16, 16 }, .childGap = 16 }, .rectangle = { .color = {150, 150, 255, 255} }}) { @@ -150,7 +150,7 @@ typedef struct bool mouseDown; } ScrollbarData; -ScrollbarData scrollbarData = {}; +ScrollbarData scrollbarData = {0}; bool debugEnabled = false; diff --git a/examples/raylib-sidebar-scrolling-container/multi-compilation-unit.c b/examples/raylib-sidebar-scrolling-container/multi-compilation-unit.c index a357cec..5255d45 100644 --- a/examples/raylib-sidebar-scrolling-container/multi-compilation-unit.c +++ b/examples/raylib-sidebar-scrolling-container/multi-compilation-unit.c @@ -2,8 +2,8 @@ // NOTE: This file only exists to make sure that clay works when included in multiple translation units. -void SatisfyCompiler() { +void SatisfyCompiler(void) { CLAY({ .id = CLAY_ID("SatisfyCompiler") }) { CLAY_TEXT(CLAY_STRING("Test"), CLAY_TEXT_CONFIG({ .fontId = 0, .fontSize = 24 })); } -} \ No newline at end of file +} From 33b150e515677a2662953d0ac3063d41d147f312 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 31 Jan 2025 15:45:18 +1300 Subject: [PATCH 22/37] Pedantic compiler errors --- clay.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/clay.h b/clay.h index cef67ff..e848996 100644 --- a/clay.h +++ b/clay.h @@ -981,6 +981,8 @@ Clay_ElementConfig Clay__CurrentConfigUnion(Clay__ElementConfigType type) { case CLAY__ELEMENT_CONFIG_TYPE_SHARED: return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .sharedElementConfig = Clay__SharedElementConfigArray_Add(&Clay_GetCurrentContext()->sharedElementConfigs, CLAY__INIT(Clay_SharedElementConfig) CLAY__DEFAULT_STRUCT) }, type); } + + return CLAY__INIT(Clay_ElementConfig) CLAY__DEFAULT_STRUCT; } Clay_RectangleElementConfig * Clay_CurrentConfigRectangle(void) { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_RECTANGLE).config.rectangleElementConfig; } @@ -2867,7 +2869,7 @@ void Clay__RenderDebugView(void) { CLAY({ .layout = { .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM } }) { // .boundingBox CLAY_TEXT(CLAY_STRING("Bounding Box"), infoTitleConfig); - CLAY({0}) { + CLAY({{0}}) { CLAY_TEXT(CLAY_STRING("{ x: "), infoTextConfig); CLAY_TEXT(Clay__IntToString(selectedItem->boundingBox.x), infoTextConfig); CLAY_TEXT(CLAY_STRING(", y: "), infoTextConfig); @@ -2884,11 +2886,11 @@ void Clay__RenderDebugView(void) { CLAY_TEXT(layoutConfig->layoutDirection == CLAY_TOP_TO_BOTTOM ? CLAY_STRING("TOP_TO_BOTTOM") : CLAY_STRING("LEFT_TO_RIGHT"), infoTextConfig); // .sizing CLAY_TEXT(CLAY_STRING("Sizing"), infoTitleConfig); - CLAY({0}) { + CLAY({{0}}) { CLAY_TEXT(CLAY_STRING("width: "), infoTextConfig); Clay__RenderDebugLayoutSizing(layoutConfig->sizing.width, infoTextConfig); } - CLAY({0}) { + CLAY({{0}}) { CLAY_TEXT(CLAY_STRING("height: "), infoTextConfig); Clay__RenderDebugLayoutSizing(layoutConfig->sizing.height, infoTextConfig); } @@ -2910,7 +2912,7 @@ void Clay__RenderDebugView(void) { CLAY_TEXT(Clay__IntToString(layoutConfig->childGap), infoTextConfig); // .childAlignment CLAY_TEXT(CLAY_STRING("Child Alignment"), infoTitleConfig); - CLAY({0}) { + CLAY({{0}}) { CLAY_TEXT(CLAY_STRING("{ x: "), infoTextConfig); Clay_String alignX = CLAY_STRING("LEFT"); if (layoutConfig->childAlignment.x == CLAY_ALIGN_X_CENTER) { @@ -3018,7 +3020,7 @@ void Clay__RenderDebugView(void) { CLAY({ .layout = { .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM } }) { // .offset CLAY_TEXT(CLAY_STRING("Offset"), infoTitleConfig); - CLAY({0}) { + CLAY({{0}}) { CLAY_TEXT(CLAY_STRING("{ x: "), infoTextConfig); CLAY_TEXT(Clay__IntToString(floatingConfig->offset.x), infoTextConfig); CLAY_TEXT(CLAY_STRING(", y: "), infoTextConfig); @@ -3027,7 +3029,7 @@ void Clay__RenderDebugView(void) { } // .expand CLAY_TEXT(CLAY_STRING("Expand"), infoTitleConfig); - CLAY({0}) { + CLAY({{0}}) { CLAY_TEXT(CLAY_STRING("{ width: "), infoTextConfig); CLAY_TEXT(Clay__IntToString(floatingConfig->expand.width), infoTextConfig); CLAY_TEXT(CLAY_STRING(", height: "), infoTextConfig); From ed26b790986531f26f058961ca5f4f3d792beec0 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 31 Jan 2025 15:51:10 +1300 Subject: [PATCH 23/37] swap out malloc.h for stdlib in demo --- examples/shared-layouts/clay-video-demo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/shared-layouts/clay-video-demo.c b/examples/shared-layouts/clay-video-demo.c index 3042893..03df520 100644 --- a/examples/shared-layouts/clay-video-demo.c +++ b/examples/shared-layouts/clay-video-demo.c @@ -1,5 +1,5 @@ #include "../../clay.h" -#include +#include const int FONT_ID_BODY_16 = 0; Clay_Color COLOR_WHITE = { 255, 255, 255, 255}; From 8133d36e65de8e5ab9fd042b9c576db8fbe71488 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 31 Jan 2025 15:55:40 +1300 Subject: [PATCH 24/37] braces around inits --- clay.h | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/clay.h b/clay.h index e848996..94f4ad0 100644 --- a/clay.h +++ b/clay.h @@ -964,22 +964,21 @@ Clay_ElementConfig Clay__CurrentConfigUnion(Clay__ElementConfigType type) { case CLAY__ELEMENT_CONFIG_TYPE_NONE: return CLAY__INIT(Clay_ElementConfig) CLAY__DEFAULT_STRUCT; case CLAY__ELEMENT_CONFIG_TYPE_RECTANGLE: - return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .rectangleElementConfig = Clay__RectangleElementConfigArray_Add(&Clay_GetCurrentContext()->rectangleElementConfigs, CLAY__INIT(Clay_RectangleElementConfig) CLAY__DEFAULT_STRUCT) }, type); + return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .rectangleElementConfig = Clay__RectangleElementConfigArray_Add(&Clay_GetCurrentContext()->rectangleElementConfigs, CLAY__INIT(Clay_RectangleElementConfig) {CLAY__DEFAULT_STRUCT}) }, type); case CLAY__ELEMENT_CONFIG_TYPE_TEXT: - return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .textElementConfig = Clay__TextElementConfigArray_Add(&Clay_GetCurrentContext()->textElementConfigs, CLAY__INIT(Clay_TextElementConfig) CLAY__DEFAULT_STRUCT) }, type); + return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .textElementConfig = Clay__TextElementConfigArray_Add(&Clay_GetCurrentContext()->textElementConfigs, CLAY__INIT(Clay_TextElementConfig) {CLAY__DEFAULT_STRUCT}) }, type); case CLAY__ELEMENT_CONFIG_TYPE_IMAGE: - return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .imageElementConfig = Clay__ImageElementConfigArray_Add(&Clay_GetCurrentContext()->imageElementConfigs, CLAY__INIT(Clay_ImageElementConfig) CLAY__DEFAULT_STRUCT) }, type); + return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .imageElementConfig = Clay__ImageElementConfigArray_Add(&Clay_GetCurrentContext()->imageElementConfigs, CLAY__INIT(Clay_ImageElementConfig)CLAY__DEFAULT_STRUCT) }, type); case CLAY__ELEMENT_CONFIG_TYPE_FLOATING: - return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .floatingElementConfig = Clay__FloatingElementConfigArray_Add(&Clay_GetCurrentContext()->floatingElementConfigs, CLAY__INIT(Clay_FloatingElementConfig) CLAY__DEFAULT_STRUCT) }, type); + return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .floatingElementConfig = Clay__FloatingElementConfigArray_Add(&Clay_GetCurrentContext()->floatingElementConfigs, CLAY__INIT(Clay_FloatingElementConfig) {CLAY__DEFAULT_STRUCT}) }, type); case CLAY__ELEMENT_CONFIG_TYPE_CUSTOM: - Clay__int32_tArray_Add(&context->imageElementPointers, context->layoutElements.length - 1); - return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .customElementConfig = Clay__CustomElementConfigArray_Add(&Clay_GetCurrentContext()->customElementConfigs, CLAY__INIT(Clay_CustomElementConfig) CLAY__DEFAULT_STRUCT) }, type); + Clay__int32_tArray_Add(&context->imageElementPointers, context->layoutElements.length - 1);return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .customElementConfig = Clay__CustomElementConfigArray_Add(&Clay_GetCurrentContext()->customElementConfigs, CLAY__INIT(Clay_CustomElementConfig)CLAY__DEFAULT_STRUCT) }, type); case CLAY__ELEMENT_CONFIG_TYPE_SCROLL: return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .scrollElementConfig = Clay__ScrollElementConfigArray_Add(&Clay_GetCurrentContext()->scrollElementConfigs, CLAY__INIT(Clay_ScrollElementConfig) CLAY__DEFAULT_STRUCT) }, type); case CLAY__ELEMENT_CONFIG_TYPE_BORDER: - return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .borderElementConfig = Clay__BorderElementConfigArray_Add(&Clay_GetCurrentContext()->borderElementConfigs, CLAY__INIT(Clay_BorderElementConfig) CLAY__DEFAULT_STRUCT) }, type); + return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .borderElementConfig = Clay__BorderElementConfigArray_Add(&Clay_GetCurrentContext()->borderElementConfigs, CLAY__INIT(Clay_BorderElementConfig) {CLAY__DEFAULT_STRUCT}) }, type); case CLAY__ELEMENT_CONFIG_TYPE_SHARED: - return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .sharedElementConfig = Clay__SharedElementConfigArray_Add(&Clay_GetCurrentContext()->sharedElementConfigs, CLAY__INIT(Clay_SharedElementConfig) CLAY__DEFAULT_STRUCT) }, type); + return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .sharedElementConfig = Clay__SharedElementConfigArray_Add(&Clay_GetCurrentContext()->sharedElementConfigs, CLAY__INIT(Clay_SharedElementConfig) {CLAY__DEFAULT_STRUCT}) }, type); } return CLAY__INIT(Clay_ElementConfig) CLAY__DEFAULT_STRUCT; From 6d87726b71f67169abdacbd2551cdd85f837a00d Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 31 Jan 2025 16:06:49 +1300 Subject: [PATCH 25/37] Update SDL2 renderer to new API --- renderers/SDL2/clay_renderer_SDL2.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/renderers/SDL2/clay_renderer_SDL2.c b/renderers/SDL2/clay_renderer_SDL2.c index bb4059e..b91e226 100644 --- a/renderers/SDL2/clay_renderer_SDL2.c +++ b/renderers/SDL2/clay_renderer_SDL2.c @@ -58,7 +58,7 @@ static void Clay_SDL2_Render(SDL_Renderer *renderer, Clay_RenderCommandArray ren } case CLAY_RENDER_COMMAND_TYPE_TEXT: { Clay_TextElementConfig *config = renderCommand->config.textElementConfig; - Clay_StringSlice text = renderCommand->text; + Clay_StringSlice text = renderCommand->textOrSharedConfig.text; char *cloned = (char *)calloc(text.length + 1, 1); memcpy(cloned, text.chars, text.length); TTF_Font* font = fonts[config->fontId].font; @@ -114,34 +114,35 @@ static void Clay_SDL2_Render(SDL_Renderer *renderer, Clay_RenderCommandArray ren } case CLAY_RENDER_COMMAND_TYPE_BORDER: { Clay_BorderElementConfig *config = renderCommand->config.borderElementConfig; + Clay_CornerRadius cornerRadius = renderCommand->textOrSharedConfig.sharedConfig->cornerRadius; if (config->left.width > 0) { SDL_SetRenderDrawColor(renderer, CLAY_COLOR_TO_SDL_COLOR_ARGS(config->left.color)); - SDL_FRect rect = { boundingBox.x, boundingBox.y + config->cornerRadius.topLeft, config->left.width, boundingBox.height - config->cornerRadius.topLeft - config->cornerRadius.bottomLeft }; + SDL_FRect rect = { boundingBox.x, boundingBox.y + cornerRadius.topLeft, config->left.width, boundingBox.height - cornerRadius.topLeft - cornerRadius.bottomLeft }; SDL_RenderFillRectF(renderer, &rect); } if (config->right.width > 0) { SDL_SetRenderDrawColor(renderer, CLAY_COLOR_TO_SDL_COLOR_ARGS(config->right.color)); - SDL_FRect rect = { boundingBox.x + boundingBox.width - config->right.width, boundingBox.y + config->cornerRadius.topRight, config->right.width, boundingBox.height - config->cornerRadius.topRight - config->cornerRadius.bottomRight }; + SDL_FRect rect = { boundingBox.x + boundingBox.width - config->right.width, boundingBox.y + cornerRadius.topRight, config->right.width, boundingBox.height - cornerRadius.topRight - cornerRadius.bottomRight }; SDL_RenderFillRectF(renderer, &rect); } if (config->right.width > 0) { SDL_SetRenderDrawColor(renderer, CLAY_COLOR_TO_SDL_COLOR_ARGS(config->right.color)); - SDL_FRect rect = { boundingBox.x + boundingBox.width - config->right.width, boundingBox.y + config->cornerRadius.topRight, config->right.width, boundingBox.height - config->cornerRadius.topRight - config->cornerRadius.bottomRight }; + SDL_FRect rect = { boundingBox.x + boundingBox.width - config->right.width, boundingBox.y + cornerRadius.topRight, config->right.width, boundingBox.height - cornerRadius.topRight - cornerRadius.bottomRight }; SDL_RenderFillRectF(renderer, &rect); } if (config->top.width > 0) { SDL_SetRenderDrawColor(renderer, CLAY_COLOR_TO_SDL_COLOR_ARGS(config->right.color)); - SDL_FRect rect = { boundingBox.x + config->cornerRadius.topLeft, boundingBox.y, boundingBox.width - config->cornerRadius.topLeft - config->cornerRadius.topRight, config->top.width }; + SDL_FRect rect = { boundingBox.x + cornerRadius.topLeft, boundingBox.y, boundingBox.width - cornerRadius.topLeft - cornerRadius.topRight, config->top.width }; SDL_RenderFillRectF(renderer, &rect); } if (config->bottom.width > 0) { SDL_SetRenderDrawColor(renderer, CLAY_COLOR_TO_SDL_COLOR_ARGS(config->bottom.color)); - SDL_FRect rect = { boundingBox.x + config->cornerRadius.bottomLeft, boundingBox.y + boundingBox.height - config->bottom.width, boundingBox.width - config->cornerRadius.bottomLeft - config->cornerRadius.bottomRight, config->bottom.width }; + SDL_FRect rect = { boundingBox.x + cornerRadius.bottomLeft, boundingBox.y + boundingBox.height - config->bottom.width, boundingBox.width - cornerRadius.bottomLeft - cornerRadius.bottomRight, config->bottom.width }; SDL_RenderFillRectF(renderer, &rect); } From 01b52385d66d33846ad1244a7c476c09492a2b19 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 31 Jan 2025 16:19:15 +1300 Subject: [PATCH 26/37] Fix SDL3 renderer --- renderers/SDL3/clay_renderer_SDL3.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/renderers/SDL3/clay_renderer_SDL3.c b/renderers/SDL3/clay_renderer_SDL3.c index 583c238..af45d04 100644 --- a/renderers/SDL3/clay_renderer_SDL3.c +++ b/renderers/SDL3/clay_renderer_SDL3.c @@ -147,18 +147,19 @@ static void SDL_RenderClayCommands(SDL_Renderer *renderer, Clay_RenderCommandArr switch (rcmd->commandType) { case CLAY_RENDER_COMMAND_TYPE_RECTANGLE: { const Clay_RectangleElementConfig *config = rcmd->config.rectangleElementConfig; + Clay_CornerRadius cornerRadius = rcmd->textOrSharedConfig.sharedConfig->cornerRadius; const Clay_Color color = config->color; SDL_SetRenderDrawColor(renderer, color.r, color.g, color.b, color.a); - if (config->cornerRadius.topLeft > 0) { - SDL_RenderFillRoundedRect(renderer, rect, config->cornerRadius.topLeft, color); + if (cornerRadius.topLeft > 0) { + SDL_RenderFillRoundedRect(renderer, rect, cornerRadius.topLeft, color); } else { SDL_RenderFillRect(renderer, &rect); } } break; case CLAY_RENDER_COMMAND_TYPE_TEXT: { const Clay_TextElementConfig *config = rcmd->config.textElementConfig; - const Clay_StringSlice *text = &rcmd->text; + const Clay_StringSlice *text = &rcmd->textOrSharedConfig.text; const SDL_Color color = { config->textColor.r, config->textColor.g, config->textColor.b, config->textColor.a }; TTF_Font *font = gFonts[config->fontId]; @@ -171,13 +172,14 @@ static void SDL_RenderClayCommands(SDL_Renderer *renderer, Clay_RenderCommandArr } break; case CLAY_RENDER_COMMAND_TYPE_BORDER: { const Clay_BorderElementConfig *config = rcmd->config.borderElementConfig; + Clay_CornerRadius cornerRadius = rcmd->textOrSharedConfig.sharedConfig->cornerRadius; const float minRadius = SDL_min(rect.w, rect.h) / 2.0f; const Clay_CornerRadius clampedRadii = { - .topLeft = SDL_min(config->cornerRadius.topLeft, minRadius), - .topRight = SDL_min(config->cornerRadius.topRight, minRadius), - .bottomLeft = SDL_min(config->cornerRadius.bottomLeft, minRadius), - .bottomRight = SDL_min(config->cornerRadius.bottomRight, minRadius) + .topLeft = SDL_min(cornerRadius.topLeft, minRadius), + .topRight = SDL_min(cornerRadius.topRight, minRadius), + .bottomLeft = SDL_min(cornerRadius.bottomLeft, minRadius), + .bottomRight = SDL_min(cornerRadius.bottomRight, minRadius) }; //edges SDL_SetRenderDrawColor(renderer, config->left.color.r, config->left.color.g, config->left.color.b, config->left.color.a); @@ -209,25 +211,25 @@ static void SDL_RenderClayCommands(SDL_Renderer *renderer, Clay_RenderCommandArr SDL_RenderFillRect(renderer, &line); } //corners - if (config->cornerRadius.topLeft > 0) { + if (cornerRadius.topLeft > 0) { const float centerX = rect.x + clampedRadii.topLeft -1; const float centerY = rect.y + clampedRadii.topLeft; SDL_RenderArc(renderer, (SDL_FPoint){centerX, centerY}, clampedRadii.topLeft, 180.0f, 270.0f, config->top.width, config->top.color); } - if (config->cornerRadius.topRight > 0) { + if (cornerRadius.topRight > 0) { const float centerX = rect.x + rect.w - clampedRadii.topRight -1; const float centerY = rect.y + clampedRadii.topRight; SDL_RenderArc(renderer, (SDL_FPoint){centerX, centerY}, clampedRadii.topRight, 270.0f, 360.0f, config->top.width, config->top.color); } - if (config->cornerRadius.bottomLeft > 0) { + if (cornerRadius.bottomLeft > 0) { const float centerX = rect.x + clampedRadii.bottomLeft -1; const float centerY = rect.y + rect.h - clampedRadii.bottomLeft -1; SDL_RenderArc(renderer, (SDL_FPoint){centerX, centerY}, clampedRadii.bottomLeft, 90.0f, 180.0f, config->bottom.width, config->bottom.color); } - if (config->cornerRadius.bottomRight > 0) { + if (cornerRadius.bottomRight > 0) { const float centerX = rect.x + rect.w - clampedRadii.bottomRight -1; //TODO: why need to -1 in all calculations??? const float centerY = rect.y + rect.h - clampedRadii.bottomRight -1; SDL_RenderArc(renderer, (SDL_FPoint){centerX, centerY}, clampedRadii.bottomRight, From e2f4e2ade178d8c651cd03eee1599bc9a8dcf635 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 31 Jan 2025 17:24:10 +1300 Subject: [PATCH 27/37] msvc fixes --- clay.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clay.h b/clay.h index 94f4ad0..a9c2fa0 100644 --- a/clay.h +++ b/clay.h @@ -359,10 +359,10 @@ typedef enum { typedef struct { Clay_Vector2 offset; Clay_Dimensions expand; - uint16_t zIndex; uint32_t parentId; Clay_FloatingAttachPoints attachment; Clay_PointerCaptureMode pointerCaptureMode; + uint32_t zIndex; } Clay_FloatingElementConfig; CLAY__WRAPPER_STRUCT(Clay_FloatingElementConfig); From 06d6ed32fd76e2238bbae13e34f8c702602a41e0 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 31 Jan 2025 17:31:26 +1300 Subject: [PATCH 28/37] fix windows x64 SIMD detection --- clay.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clay.h b/clay.h index a9c2fa0..b8d7b99 100644 --- a/clay.h +++ b/clay.h @@ -15,7 +15,7 @@ #include // SIMD includes on supported platforms -#ifdef __x86_64__ +#if defined(__x86_64__) || defined(_M_X64) || defined(_M_AMD64) #include #elif __aarch64__ #include @@ -1413,7 +1413,7 @@ void Clay__CloseElement(void) { } bool Clay__MemCmp(const char *s1, const char *s2, int32_t length); -#ifdef __x86_64__ +#if defined(__x86_64__) || defined(_M_X64) || defined(_M_AMD64) bool Clay__MemCmp(const char *s1, const char *s2, int32_t length) { while (length >= 16) { __m128i v1 = _mm_loadu_si128((const __m128i *)s1); From 50f88d7cf6ab9fd1a5c57bfa629b4352fba15cbb Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 31 Jan 2025 22:25:44 +1300 Subject: [PATCH 29/37] test --- clay.h | 27 +++++++++++++++++++---- examples/shared-layouts/clay-video-demo.c | 10 ++++----- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/clay.h b/clay.h index b8d7b99..655746d 100644 --- a/clay.h +++ b/clay.h @@ -13,6 +13,7 @@ #include #include #include +#include // SIMD includes on supported platforms #if defined(__x86_64__) || defined(_M_X64) || defined(_M_AMD64) @@ -362,7 +363,7 @@ typedef struct { uint32_t parentId; Clay_FloatingAttachPoints attachment; Clay_PointerCaptureMode pointerCaptureMode; - uint32_t zIndex; + int32_t zIndex; } Clay_FloatingElementConfig; CLAY__WRAPPER_STRUCT(Clay_FloatingElementConfig); @@ -1528,6 +1529,22 @@ void Clay__OpenTextElement(Clay_String text, Clay_TextElementConfig *textConfig) textElement->layoutConfig = &CLAY_LAYOUT_DEFAULT; } +void poisonStack() { + char* test = (char*)alloca(1024); + for (int i = 0; i < 1024; i++) { + test[i] = 0xff; + } +} + +void doThing() { + poisonStack(); + Clay_FloatingElementConfig floatingConfigMask = {}; + for (int i = 0; i < sizeof(floatingConfigMask); i++) { + char x = ((char*)&floatingConfigMask)[i]; + char y = x; + } +} + void Clay__ConfigureOpenElement(const Clay_ElementDeclaration declaration) { Clay_Context* context = Clay_GetCurrentContext(); Clay_LayoutElement *openLayoutElement = Clay__GetOpenLayoutElement(); @@ -1538,6 +1555,8 @@ void Clay__ConfigureOpenElement(const Clay_ElementDeclaration declaration) { Clay__GenerateIdForAnonymousElement(openLayoutElement); } + doThing(); + openLayoutElement->elementConfigs.internalArray = &context->elementConfigs.internalArray[context->elementConfigs.length]; if (!Clay__MemCmp((char *)(&declaration.rectangle), (char *)(&Clay_RectangleElementConfig_DEFAULT), sizeof(Clay_RectangleElementConfig))) { Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .rectangleElementConfig = Clay__StoreRectangleElementConfig(declaration.rectangle) }, CLAY__ELEMENT_CONFIG_TYPE_RECTANGLE); @@ -2665,7 +2684,7 @@ Clay__RenderDebugLayoutData Clay__RenderDebugLayoutElementsList(int32_t initialR } if (highlightedElementId) { - CLAY({ .id = CLAY_ID("Clay__DebugView_ElementHighlight"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .floating = { .zIndex = 65535, .parentId = highlightedElementId, .pointerCaptureMode = CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH } }) { + CLAY({ .id = CLAY_ID("Clay__DebugView_ElementHighlight"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .floating = { .parentId = highlightedElementId, .pointerCaptureMode = CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH, .zIndex = 65535 } }) { CLAY({ .id = CLAY_ID("Clay__DebugView_ElementHighlightRectangle"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .rectangle = { .color = Clay__debugViewHighlightColor } }) {} } } @@ -2799,7 +2818,7 @@ void Clay__RenderDebugView(void) { Clay__RenderDebugLayoutData layoutData = CLAY__DEFAULT_STRUCT; CLAY({ .id = CLAY_ID("Clay__DebugView"), .layout = { .sizing = { CLAY_SIZING_FIXED((float)Clay__debugViewWidth) , CLAY_SIZING_FIXED(context->layoutDimensions.height) }, .layoutDirection = CLAY_TOP_TO_BOTTOM }, - .floating = { .zIndex = 65000, .parentId = Clay__HashString(CLAY_STRING("Clay__RootContainer"), 0, 0).id, .attachment = { .element = CLAY_ATTACH_POINT_LEFT_CENTER, .parent = CLAY_ATTACH_POINT_RIGHT_CENTER }}, + .floating = { .parentId = Clay__HashString(CLAY_STRING("Clay__RootContainer"), 0, 0).id, .attachment = { .element = CLAY_ATTACH_POINT_LEFT_CENTER, .parent = CLAY_ATTACH_POINT_RIGHT_CENTER }, .zIndex = 65000}, .border = { .bottom = { .width = 1, .color = CLAY__DEBUGVIEW_COLOR_3 }} }) { CLAY({ .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT)}, .padding = {CLAY__DEBUGVIEW_OUTER_PADDING, CLAY__DEBUGVIEW_OUTER_PADDING }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER} }, .rectangle = { .color = CLAY__DEBUGVIEW_COLOR_2 } }) { @@ -2821,7 +2840,7 @@ void Clay__RenderDebugView(void) { CLAY({ .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)}, .layoutDirection = CLAY_TOP_TO_BOTTOM }, .rectangle = { .color = ((initialElementsLength + initialRootsLength) & 1) == 0 ? CLAY__DEBUGVIEW_COLOR_2 : CLAY__DEBUGVIEW_COLOR_1 } }) { Clay_ElementId panelContentsId = Clay__HashString(CLAY_STRING("Clay__DebugViewPaneOuter"), 0, 0); // Element list - CLAY({ .id = panelContentsId, .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .floating = { .zIndex = 65001, .pointerCaptureMode = CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH } }) { + CLAY({ .id = panelContentsId, .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .floating = { .pointerCaptureMode = CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH, .zIndex = 65001, } }) { CLAY({ .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)}, .padding = { CLAY__DEBUGVIEW_OUTER_PADDING, CLAY__DEBUGVIEW_OUTER_PADDING }, .layoutDirection = CLAY_TOP_TO_BOTTOM } }) { layoutData = Clay__RenderDebugLayoutElementsList((int32_t)initialRootsLength, highlightedRow); } diff --git a/examples/shared-layouts/clay-video-demo.c b/examples/shared-layouts/clay-video-demo.c index 03df520..b1c22c1 100644 --- a/examples/shared-layouts/clay-video-demo.c +++ b/examples/shared-layouts/clay-video-demo.c @@ -41,11 +41,11 @@ typedef struct { } DocumentArray; Document documentsRaw[5] ={ - { .title = CLAY_STRING("Squirrels"), .contents = CLAY_STRING("The Secret Life of Squirrels: Nature's Clever Acrobats\n""Squirrels are often overlooked creatures, dismissed as mere park inhabitants or backyard nuisances. Yet, beneath their fluffy tails and twitching noses lies an intricate world of cunning, agility, and survival tactics that are nothing short of fascinating. As one of the most common mammals in North America, squirrels have adapted to a wide range of environments from bustling urban centers to tranquil forests and have developed a variety of unique behaviors that continue to intrigue scientists and nature enthusiasts alike.\n""\n""Master Tree Climbers\n""At the heart of a squirrel's skill set is its impressive ability to navigate trees with ease. Whether they're darting from branch to branch or leaping across wide gaps, squirrels possess an innate talent for acrobatics. Their powerful hind legs, which are longer than their front legs, give them remarkable jumping power. With a tail that acts as a counterbalance, squirrels can leap distances of up to ten times the length of their body, making them some of the best aerial acrobats in the animal kingdom.\n""But it's not just their agility that makes them exceptional climbers. Squirrels' sharp, curved claws allow them to grip tree bark with precision, while the soft pads on their feet provide traction on slippery surfaces. Their ability to run at high speeds and scale vertical trunks with ease is a testament to the evolutionary adaptations that have made them so successful in their arboreal habitats.\n""\n""Food Hoarders Extraordinaire\n""Squirrels are often seen frantically gathering nuts, seeds, and even fungi in preparation for winter. While this behavior may seem like instinctual hoarding, it is actually a survival strategy that has been honed over millions of years. Known as \"scatter hoarding,\" squirrels store their food in a variety of hidden locations, often burying it deep in the soil or stashing it in hollowed-out tree trunks.\n""Interestingly, squirrels have an incredible memory for the locations of their caches. Research has shown that they can remember thousands of hiding spots, often returning to them months later when food is scarce. However, they don't always recover every stash some forgotten caches eventually sprout into new trees, contributing to forest regeneration. This unintentional role as forest gardeners highlights the ecological importance of squirrels in their ecosystems.\n""\n""The Great Squirrel Debate: Urban vs. Wild\n""While squirrels are most commonly associated with rural or wooded areas, their adaptability has allowed them to thrive in urban environments as well. In cities, squirrels have become adept at finding food sources in places like parks, streets, and even garbage cans. However, their urban counterparts face unique challenges, including traffic, predators, and the lack of natural shelters. Despite these obstacles, squirrels in urban areas are often observed using human infrastructure such as buildings, bridges, and power lines as highways for their acrobatic escapades.\n""There is, however, a growing concern regarding the impact of urban life on squirrel populations. Pollution, deforestation, and the loss of natural habitats are making it more difficult for squirrels to find adequate food and shelter. As a result, conservationists are focusing on creating squirrel-friendly spaces within cities, with the goal of ensuring these resourceful creatures continue to thrive in both rural and urban landscapes.\n""\n""A Symbol of Resilience\n""In many cultures, squirrels are symbols of resourcefulness, adaptability, and preparation. Their ability to thrive in a variety of environments while navigating challenges with agility and grace serves as a reminder of the resilience inherent in nature. Whether you encounter them in a quiet forest, a city park, or your own backyard, squirrels are creatures that never fail to amaze with their endless energy and ingenuity.\n""In the end, squirrels may be small, but they are mighty in their ability to survive and thrive in a world that is constantly changing. So next time you spot one hopping across a branch or darting across your lawn, take a moment to appreciate the remarkable acrobat at work a true marvel of the natural world.\n") }, - { .title = CLAY_STRING("Lorem Ipsum"), .contents = CLAY_STRING("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.") }, - { .title = CLAY_STRING("Vacuum Instructions"), .contents = CLAY_STRING("Chapter 3: Getting Started - Unpacking and Setup\n""\n""Congratulations on your new SuperClean Pro 5000 vacuum cleaner! In this section, we will guide you through the simple steps to get your vacuum up and running. Before you begin, please ensure that you have all the components listed in the \"Package Contents\" section on page 2.\n""\n""1. Unboxing Your Vacuum\n""Carefully remove the vacuum cleaner from the box. Avoid using sharp objects that could damage the product. Once removed, place the unit on a flat, stable surface to proceed with the setup. Inside the box, you should find:\n""\n"" The main vacuum unit\n"" A telescoping extension wand\n"" A set of specialized cleaning tools (crevice tool, upholstery brush, etc.)\n"" A reusable dust bag (if applicable)\n"" A power cord with a 3-prong plug\n"" A set of quick-start instructions\n""\n""2. Assembling Your Vacuum\n""Begin by attaching the extension wand to the main body of the vacuum cleaner. Line up the connectors and twist the wand into place until you hear a click. Next, select the desired cleaning tool and firmly attach it to the wand's end, ensuring it is securely locked in.\n""\n""For models that require a dust bag, slide the bag into the compartment at the back of the vacuum, making sure it is properly aligned with the internal mechanism. If your vacuum uses a bagless system, ensure the dust container is correctly seated and locked in place before use.\n""\n""3. Powering On\n""To start the vacuum, plug the power cord into a grounded electrical outlet. Once plugged in, locate the power switch, usually positioned on the side of the handle or body of the unit, depending on your model. Press the switch to the \"On\" position, and you should hear the motor begin to hum. If the vacuum does not power on, check that the power cord is securely plugged in, and ensure there are no blockages in the power switch.\n""\n""Note: Before first use, ensure that the vacuum filter (if your model has one) is properly installed. If unsure, refer to \"Section 5: Maintenance\" for filter installation instructions.") }, - { .title = CLAY_STRING("Article 4"), .contents = CLAY_STRING("Article 4") }, - { .title = CLAY_STRING("Article 5"), .contents = CLAY_STRING("Article 5") }, + { .title = CLAY_STRING("Squirrels"), .contents = CLAY_STRING("The Secret Life of Squirrels: Nature's Clever Acrobats\n""Squirrels are often overlooked creatures, dismissed as mere park inhabitants or backyard nuisances. Yet, beneath their fluffy tails and twitching noses lies an intricate world of cunning, agility, and survival tactics that are nothing short of fascinating. As one of the most common mammals in North America, squirrels have adapted to a wide range of environments from bustling urban centers to tranquil forests and have developed a variety of unique behaviors that continue to intrigue scientists and nature enthusiasts alike.\n""\n""Master Tree Climbers\n""At the heart of a squirrel's skill set is its impressive ability to navigate trees with ease. Whether they're darting from branch to branch or leaping across wide gaps, squirrels possess an innate talent for acrobatics. Their powerful hind legs, which are longer than their front legs, give them remarkable jumping power. With a tail that acts as a counterbalance, squirrels can leap distances of up to ten times the length of their body, making them some of the best aerial acrobats in the animal kingdom.\n""But it's not just their agility that makes them exceptional climbers. Squirrels' sharp, curved claws allow them to grip tree bark with precision, while the soft pads on their feet provide traction on slippery surfaces. Their ability to run at high speeds and scale vertical trunks with ease is a testament to the evolutionary adaptations that have made them so successful in their arboreal habitats.\n""\n""Food Hoarders Extraordinaire\n""Squirrels are often seen frantically gathering nuts, seeds, and even fungi in preparation for winter. While this behavior may seem like instinctual hoarding, it is actually a survival strategy that has been honed over millions of years. Known as \"scatter hoarding,\" squirrels store their food in a variety of hidden locations, often burying it deep in the soil or stashing it in hollowed-out tree trunks.\n""Interestingly, squirrels have an incredible memory for the locations of their caches. Research has shown that they can remember thousands of hiding spots, often returning to them months later when food is scarce. However, they don't always recover every stash some forgotten caches eventually sprout into new trees, contributing to forest regeneration. This unintentional role as forest gardeners highlights the ecological importance of squirrels in their ecosystems.\n""\n""The Great Squirrel Debate: Urban vs. Wild\n""While squirrels are most commonly associated with rural or wooded areas, their adaptability has allowed them to thrive in urban environments as well. In cities, squirrels have become adept at finding food sources in places like parks, streets, and even garbage cans. However, their urban counterparts face unique challenges, including traffic, predators, and the lack of natural shelters. Despite these obstacles, squirrels in urban areas are often observed using human infrastructure such as buildings, bridges, and power lines as highways for their acrobatic escapades.\n""There is, however, a growing concern regarding the impact of urban life on squirrel populations. Pollution, deforestation, and the loss of natural habitats are making it more difficult for squirrels to find adequate food and shelter. As a result, conservationists are focusing on creating squirrel-friendly spaces within cities, with the goal of ensuring these resourceful creatures continue to thrive in both rural and urban landscapes.\n""\n""A Symbol of Resilience\n""In many cultures, squirrels are symbols of resourcefulness, adaptability, and preparation. Their ability to thrive in a variety of environments while navigating challenges with agility and grace serves as a reminder of the resilience inherent in nature. Whether you encounter them in a quiet forest, a city park, or your own backyard, squirrels are creatures that never fail to amaze with their endless energy and ingenuity.\n""In the end, squirrels may be small, but they are mighty in their ability to survive and thrive in a world that is constantly changing. So next time you spot one hopping across a branch or darting across your lawn, take a moment to appreciate the remarkable acrobat at work a true marvel of the natural world.\n") }, + { .title = CLAY_STRING("Lorem Ipsum"), .contents = CLAY_STRING("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.") }, + { .title = CLAY_STRING("Vacuum Instructions"), .contents = CLAY_STRING("Chapter 3: Getting Started - Unpacking and Setup\n""\n""Congratulations on your new SuperClean Pro 5000 vacuum cleaner! In this section, we will guide you through the simple steps to get your vacuum up and running. Before you begin, please ensure that you have all the components listed in the \"Package Contents\" section on page 2.\n""\n""1. Unboxing Your Vacuum\n""Carefully remove the vacuum cleaner from the box. Avoid using sharp objects that could damage the product. Once removed, place the unit on a flat, stable surface to proceed with the setup. Inside the box, you should find:\n""\n"" The main vacuum unit\n"" A telescoping extension wand\n"" A set of specialized cleaning tools (crevice tool, upholstery brush, etc.)\n"" A reusable dust bag (if applicable)\n"" A power cord with a 3-prong plug\n"" A set of quick-start instructions\n""\n""2. Assembling Your Vacuum\n""Begin by attaching the extension wand to the main body of the vacuum cleaner. Line up the connectors and twist the wand into place until you hear a click. Next, select the desired cleaning tool and firmly attach it to the wand's end, ensuring it is securely locked in.\n""\n""For models that require a dust bag, slide the bag into the compartment at the back of the vacuum, making sure it is properly aligned with the internal mechanism. If your vacuum uses a bagless system, ensure the dust container is correctly seated and locked in place before use.\n""\n""3. Powering On\n""To start the vacuum, plug the power cord into a grounded electrical outlet. Once plugged in, locate the power switch, usually positioned on the side of the handle or body of the unit, depending on your model. Press the switch to the \"On\" position, and you should hear the motor begin to hum. If the vacuum does not power on, check that the power cord is securely plugged in, and ensure there are no blockages in the power switch.\n""\n""Note: Before first use, ensure that the vacuum filter (if your model has one) is properly installed. If unsure, refer to \"Section 5: Maintenance\" for filter installation instructions.") }, + { .title = CLAY_STRING("Article 4"), .contents = CLAY_STRING("Article 4") }, + { .title = CLAY_STRING("Article 5"), .contents = CLAY_STRING("Article 5") }, }; DocumentArray documents = { From 3145e1249113866e2f81ec74f2b91b87ca236716 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Sat, 1 Feb 2025 21:05:25 +1300 Subject: [PATCH 30/37] Fix for garbage padding and MSVC fixes --- clay.h | 71 +++++++++++++------ .../raylib-sidebar-scrolling-container/main.c | 6 +- examples/shared-layouts/clay-video-demo.c | 14 ++-- 3 files changed, 58 insertions(+), 33 deletions(-) diff --git a/clay.h b/clay.h index 655746d..afec75c 100644 --- a/clay.h +++ b/clay.h @@ -13,7 +13,6 @@ #include #include #include -#include // SIMD includes on supported platforms #if defined(__x86_64__) || defined(_M_X64) || defined(_M_AMD64) @@ -351,7 +350,7 @@ typedef struct { Clay_FloatingAttachPointType parent; } Clay_FloatingAttachPoints; -typedef enum { +typedef CLAY_PACKED_ENUM{ CLAY_POINTER_CAPTURE_MODE_CAPTURE, // CLAY_POINTER_CAPTURE_MODE_PARENT, TODO pass pointer through to attached parent CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH, @@ -361,9 +360,9 @@ typedef struct { Clay_Vector2 offset; Clay_Dimensions expand; uint32_t parentId; + int32_t zIndex; Clay_FloatingAttachPoints attachment; Clay_PointerCaptureMode pointerCaptureMode; - int32_t zIndex; } Clay_FloatingElementConfig; CLAY__WRAPPER_STRUCT(Clay_FloatingElementConfig); @@ -874,6 +873,7 @@ struct Clay_Context { Clay__int32_tArray measuredWordsFreeList; Clay__int32_tArray openClipElementStack; Clay__ElementIdArray pointerOverIds; + Clay__int32_tArray declarationPaddingMask; Clay__ScrollContainerDataInternalArray scrollContainerDatas; Clay__boolArray treeNodeVisited; Clay__charArray dynamicStringData; @@ -1529,22 +1529,6 @@ void Clay__OpenTextElement(Clay_String text, Clay_TextElementConfig *textConfig) textElement->layoutConfig = &CLAY_LAYOUT_DEFAULT; } -void poisonStack() { - char* test = (char*)alloca(1024); - for (int i = 0; i < 1024; i++) { - test[i] = 0xff; - } -} - -void doThing() { - poisonStack(); - Clay_FloatingElementConfig floatingConfigMask = {}; - for (int i = 0; i < sizeof(floatingConfigMask); i++) { - char x = ((char*)&floatingConfigMask)[i]; - char y = x; - } -} - void Clay__ConfigureOpenElement(const Clay_ElementDeclaration declaration) { Clay_Context* context = Clay_GetCurrentContext(); Clay_LayoutElement *openLayoutElement = Clay__GetOpenLayoutElement(); @@ -1555,7 +1539,11 @@ void Clay__ConfigureOpenElement(const Clay_ElementDeclaration declaration) { Clay__GenerateIdForAnonymousElement(openLayoutElement); } - doThing(); + uint8_t* decData = (uint8_t*)&declaration; + for (int32_t i = 0; i < context->declarationPaddingMask.length; i++) { + int offset = context->declarationPaddingMask.internalArray[i]; + *(decData + context->declarationPaddingMask.internalArray[i]) = 0; + } openLayoutElement->elementConfigs.internalArray = &context->elementConfigs.internalArray[context->elementConfigs.length]; if (!Clay__MemCmp((char *)(&declaration.rectangle), (char *)(&Clay_RectangleElementConfig_DEFAULT), sizeof(Clay_RectangleElementConfig))) { @@ -1672,6 +1660,7 @@ void Clay__InitializePersistentMemory(Clay_Context* context) { int32_t maxMeasureTextCacheWordCount = context->maxMeasureTextCacheWordCount; Clay_Arena *arena = &context->internalArena; + context->declarationPaddingMask = Clay__int32_tArray_Allocate_Arena(sizeof(Clay_ElementDeclaration), arena); context->scrollContainerDatas = Clay__ScrollContainerDataInternalArray_Allocate_Arena(10, arena); context->layoutElementsHashMapInternal = Clay__LayoutElementHashMapItemArray_Allocate_Arena(maxElementCount, arena); context->layoutElementsHashMap = Clay__int32_tArray_Allocate_Arena(maxElementCount, arena); @@ -2684,7 +2673,7 @@ Clay__RenderDebugLayoutData Clay__RenderDebugLayoutElementsList(int32_t initialR } if (highlightedElementId) { - CLAY({ .id = CLAY_ID("Clay__DebugView_ElementHighlight"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .floating = { .parentId = highlightedElementId, .pointerCaptureMode = CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH, .zIndex = 65535 } }) { + CLAY({ .id = CLAY_ID("Clay__DebugView_ElementHighlight"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .floating = { .zIndex = 65535, .parentId = highlightedElementId, .pointerCaptureMode = CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH } }) { CLAY({ .id = CLAY_ID("Clay__DebugView_ElementHighlightRectangle"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .rectangle = { .color = Clay__debugViewHighlightColor } }) {} } } @@ -2818,7 +2807,7 @@ void Clay__RenderDebugView(void) { Clay__RenderDebugLayoutData layoutData = CLAY__DEFAULT_STRUCT; CLAY({ .id = CLAY_ID("Clay__DebugView"), .layout = { .sizing = { CLAY_SIZING_FIXED((float)Clay__debugViewWidth) , CLAY_SIZING_FIXED(context->layoutDimensions.height) }, .layoutDirection = CLAY_TOP_TO_BOTTOM }, - .floating = { .parentId = Clay__HashString(CLAY_STRING("Clay__RootContainer"), 0, 0).id, .attachment = { .element = CLAY_ATTACH_POINT_LEFT_CENTER, .parent = CLAY_ATTACH_POINT_RIGHT_CENTER }, .zIndex = 65000}, + .floating = { .zIndex = 65000, .parentId = Clay__HashString(CLAY_STRING("Clay__RootContainer"), 0, 0).id, .attachment = { .element = CLAY_ATTACH_POINT_LEFT_CENTER, .parent = CLAY_ATTACH_POINT_RIGHT_CENTER }}, .border = { .bottom = { .width = 1, .color = CLAY__DEBUGVIEW_COLOR_3 }} }) { CLAY({ .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT)}, .padding = {CLAY__DEBUGVIEW_OUTER_PADDING, CLAY__DEBUGVIEW_OUTER_PADDING }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER} }, .rectangle = { .color = CLAY__DEBUGVIEW_COLOR_2 } }) { @@ -2840,7 +2829,7 @@ void Clay__RenderDebugView(void) { CLAY({ .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)}, .layoutDirection = CLAY_TOP_TO_BOTTOM }, .rectangle = { .color = ((initialElementsLength + initialRootsLength) & 1) == 0 ? CLAY__DEBUGVIEW_COLOR_2 : CLAY__DEBUGVIEW_COLOR_1 } }) { Clay_ElementId panelContentsId = Clay__HashString(CLAY_STRING("Clay__DebugViewPaneOuter"), 0, 0); // Element list - CLAY({ .id = panelContentsId, .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .floating = { .pointerCaptureMode = CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH, .zIndex = 65001, } }) { + CLAY({ .id = panelContentsId, .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .floating = { .zIndex = 65001, .pointerCaptureMode = CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH } }) { CLAY({ .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)}, .padding = { CLAY__DEBUGVIEW_OUTER_PADDING, CLAY__DEBUGVIEW_OUTER_PADDING }, .layoutDirection = CLAY_TOP_TO_BOTTOM } }) { layoutData = Clay__RenderDebugLayoutElementsList((int32_t)initialRootsLength, highlightedRow); } @@ -3305,6 +3294,41 @@ void Clay_SetPointerState(Clay_Vector2 position, bool isPointerDown) { } } +void Clay__PoisonStack(Clay_Context* context) { + uint8_t stackmem[1024]; + for (int i = 0; i < 1024; i++) { + stackmem[i] = 0xce; + } +} + +void Clay__CalculateDeclarationPaddingMask(const Clay_ElementDeclaration dec, Clay_Context* context) { + uint8_t* decData = (uint8_t*)&dec; + for (int i = 0; i < sizeof(Clay_ElementDeclaration); i++) { + if (decData[i] != 0) { + Clay__int32_tArray_Add(&context->declarationPaddingMask, i); + } + } +} + +void Clay__CreateGarbagePaddingStruct(Clay_Context* context) { + Clay__CalculateDeclarationPaddingMask(CLAY__INIT(Clay_ElementDeclaration) { + .id = { 0 }, + .layout = { 0 }, + .rectangle = { 0 }, + .image = { 0 }, + .floating = { 0 }, + .custom = { 0 }, + .scroll = { 0 }, + .border = { 0 }, + .shared = { 0 }, + }, context); +} + +void Clay__InitDeclarationPaddingMask(Clay_Context *context) { + Clay__PoisonStack(context); + Clay__CreateGarbagePaddingStruct(context); +} + CLAY_WASM_EXPORT("Clay_Initialize") Clay_Context* Clay_Initialize(Clay_Arena arena, Clay_Dimensions layoutDimensions, Clay_ErrorHandler errorHandler) { Clay_Context *context = Clay__Context_Allocate_Arena(&arena); @@ -3321,6 +3345,7 @@ Clay_Context* Clay_Initialize(Clay_Arena arena, Clay_Dimensions layoutDimensions Clay_SetCurrentContext(context); Clay__InitializePersistentMemory(context); Clay__InitializeEphemeralMemory(context); + Clay__InitDeclarationPaddingMask(context); for (int32_t i = 0; i < context->layoutElementsHashMap.capacity; ++i) { context->layoutElementsHashMap.internalArray[i] = -1; } diff --git a/examples/raylib-sidebar-scrolling-container/main.c b/examples/raylib-sidebar-scrolling-container/main.c index b9e659d..c81e07c 100644 --- a/examples/raylib-sidebar-scrolling-container/main.c +++ b/examples/raylib-sidebar-scrolling-container/main.c @@ -4,8 +4,8 @@ const uint32_t FONT_ID_BODY_24 = 0; const uint32_t FONT_ID_BODY_16 = 1; -#define COLOR_ORANGE (Clay_Color) {225, 138, 50, 255} -#define COLOR_BLUE (Clay_Color) {111, 173, 162, 255} +#define COLOR_ORANGE {225, 138, 50, 255} +#define COLOR_BLUE {111, 173, 162, 255} Texture2D profilePicture; #define RAYLIB_VECTOR2_TO_CLAY_VECTOR2(vector) (Clay_Vector2) { .x = vector.x, .y = vector.y } @@ -28,7 +28,7 @@ Clay_ElementDeclaration headerButtonStyle = { void RenderHeaderButton(Clay_String text) { CLAY(headerButtonStyle) { if (Clay_Hovered()) { - Clay_CurrentConfigRectangle()->color = COLOR_ORANGE; + Clay_CurrentConfigRectangle()->color = (Clay_Color) COLOR_ORANGE; } CLAY_TEXT(text, CLAY_TEXT_CONFIG(headerTextConfig)); } diff --git a/examples/shared-layouts/clay-video-demo.c b/examples/shared-layouts/clay-video-demo.c index b1c22c1..a65a8f7 100644 --- a/examples/shared-layouts/clay-video-demo.c +++ b/examples/shared-layouts/clay-video-demo.c @@ -40,13 +40,7 @@ typedef struct { uint32_t length; } DocumentArray; -Document documentsRaw[5] ={ - { .title = CLAY_STRING("Squirrels"), .contents = CLAY_STRING("The Secret Life of Squirrels: Nature's Clever Acrobats\n""Squirrels are often overlooked creatures, dismissed as mere park inhabitants or backyard nuisances. Yet, beneath their fluffy tails and twitching noses lies an intricate world of cunning, agility, and survival tactics that are nothing short of fascinating. As one of the most common mammals in North America, squirrels have adapted to a wide range of environments from bustling urban centers to tranquil forests and have developed a variety of unique behaviors that continue to intrigue scientists and nature enthusiasts alike.\n""\n""Master Tree Climbers\n""At the heart of a squirrel's skill set is its impressive ability to navigate trees with ease. Whether they're darting from branch to branch or leaping across wide gaps, squirrels possess an innate talent for acrobatics. Their powerful hind legs, which are longer than their front legs, give them remarkable jumping power. With a tail that acts as a counterbalance, squirrels can leap distances of up to ten times the length of their body, making them some of the best aerial acrobats in the animal kingdom.\n""But it's not just their agility that makes them exceptional climbers. Squirrels' sharp, curved claws allow them to grip tree bark with precision, while the soft pads on their feet provide traction on slippery surfaces. Their ability to run at high speeds and scale vertical trunks with ease is a testament to the evolutionary adaptations that have made them so successful in their arboreal habitats.\n""\n""Food Hoarders Extraordinaire\n""Squirrels are often seen frantically gathering nuts, seeds, and even fungi in preparation for winter. While this behavior may seem like instinctual hoarding, it is actually a survival strategy that has been honed over millions of years. Known as \"scatter hoarding,\" squirrels store their food in a variety of hidden locations, often burying it deep in the soil or stashing it in hollowed-out tree trunks.\n""Interestingly, squirrels have an incredible memory for the locations of their caches. Research has shown that they can remember thousands of hiding spots, often returning to them months later when food is scarce. However, they don't always recover every stash some forgotten caches eventually sprout into new trees, contributing to forest regeneration. This unintentional role as forest gardeners highlights the ecological importance of squirrels in their ecosystems.\n""\n""The Great Squirrel Debate: Urban vs. Wild\n""While squirrels are most commonly associated with rural or wooded areas, their adaptability has allowed them to thrive in urban environments as well. In cities, squirrels have become adept at finding food sources in places like parks, streets, and even garbage cans. However, their urban counterparts face unique challenges, including traffic, predators, and the lack of natural shelters. Despite these obstacles, squirrels in urban areas are often observed using human infrastructure such as buildings, bridges, and power lines as highways for their acrobatic escapades.\n""There is, however, a growing concern regarding the impact of urban life on squirrel populations. Pollution, deforestation, and the loss of natural habitats are making it more difficult for squirrels to find adequate food and shelter. As a result, conservationists are focusing on creating squirrel-friendly spaces within cities, with the goal of ensuring these resourceful creatures continue to thrive in both rural and urban landscapes.\n""\n""A Symbol of Resilience\n""In many cultures, squirrels are symbols of resourcefulness, adaptability, and preparation. Their ability to thrive in a variety of environments while navigating challenges with agility and grace serves as a reminder of the resilience inherent in nature. Whether you encounter them in a quiet forest, a city park, or your own backyard, squirrels are creatures that never fail to amaze with their endless energy and ingenuity.\n""In the end, squirrels may be small, but they are mighty in their ability to survive and thrive in a world that is constantly changing. So next time you spot one hopping across a branch or darting across your lawn, take a moment to appreciate the remarkable acrobat at work a true marvel of the natural world.\n") }, - { .title = CLAY_STRING("Lorem Ipsum"), .contents = CLAY_STRING("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.") }, - { .title = CLAY_STRING("Vacuum Instructions"), .contents = CLAY_STRING("Chapter 3: Getting Started - Unpacking and Setup\n""\n""Congratulations on your new SuperClean Pro 5000 vacuum cleaner! In this section, we will guide you through the simple steps to get your vacuum up and running. Before you begin, please ensure that you have all the components listed in the \"Package Contents\" section on page 2.\n""\n""1. Unboxing Your Vacuum\n""Carefully remove the vacuum cleaner from the box. Avoid using sharp objects that could damage the product. Once removed, place the unit on a flat, stable surface to proceed with the setup. Inside the box, you should find:\n""\n"" The main vacuum unit\n"" A telescoping extension wand\n"" A set of specialized cleaning tools (crevice tool, upholstery brush, etc.)\n"" A reusable dust bag (if applicable)\n"" A power cord with a 3-prong plug\n"" A set of quick-start instructions\n""\n""2. Assembling Your Vacuum\n""Begin by attaching the extension wand to the main body of the vacuum cleaner. Line up the connectors and twist the wand into place until you hear a click. Next, select the desired cleaning tool and firmly attach it to the wand's end, ensuring it is securely locked in.\n""\n""For models that require a dust bag, slide the bag into the compartment at the back of the vacuum, making sure it is properly aligned with the internal mechanism. If your vacuum uses a bagless system, ensure the dust container is correctly seated and locked in place before use.\n""\n""3. Powering On\n""To start the vacuum, plug the power cord into a grounded electrical outlet. Once plugged in, locate the power switch, usually positioned on the side of the handle or body of the unit, depending on your model. Press the switch to the \"On\" position, and you should hear the motor begin to hum. If the vacuum does not power on, check that the power cord is securely plugged in, and ensure there are no blockages in the power switch.\n""\n""Note: Before first use, ensure that the vacuum filter (if your model has one) is properly installed. If unsure, refer to \"Section 5: Maintenance\" for filter installation instructions.") }, - { .title = CLAY_STRING("Article 4"), .contents = CLAY_STRING("Article 4") }, - { .title = CLAY_STRING("Article 5"), .contents = CLAY_STRING("Article 5") }, -}; +Document documentsRaw[5]; DocumentArray documents = { .length = 5, @@ -85,6 +79,12 @@ void HandleSidebarInteraction( } ClayVideoDemo_Data ClayVideoDemo_Initialize() { + documents.documents[0] = (Document){ .title = CLAY_STRING("Squirrels"), .contents = CLAY_STRING("The Secret Life of Squirrels: Nature's Clever Acrobats\n""Squirrels are often overlooked creatures, dismissed as mere park inhabitants or backyard nuisances. Yet, beneath their fluffy tails and twitching noses lies an intricate world of cunning, agility, and survival tactics that are nothing short of fascinating. As one of the most common mammals in North America, squirrels have adapted to a wide range of environments from bustling urban centers to tranquil forests and have developed a variety of unique behaviors that continue to intrigue scientists and nature enthusiasts alike.\n""\n""Master Tree Climbers\n""At the heart of a squirrel's skill set is its impressive ability to navigate trees with ease. Whether they're darting from branch to branch or leaping across wide gaps, squirrels possess an innate talent for acrobatics. Their powerful hind legs, which are longer than their front legs, give them remarkable jumping power. With a tail that acts as a counterbalance, squirrels can leap distances of up to ten times the length of their body, making them some of the best aerial acrobats in the animal kingdom.\n""But it's not just their agility that makes them exceptional climbers. Squirrels' sharp, curved claws allow them to grip tree bark with precision, while the soft pads on their feet provide traction on slippery surfaces. Their ability to run at high speeds and scale vertical trunks with ease is a testament to the evolutionary adaptations that have made them so successful in their arboreal habitats.\n""\n""Food Hoarders Extraordinaire\n""Squirrels are often seen frantically gathering nuts, seeds, and even fungi in preparation for winter. While this behavior may seem like instinctual hoarding, it is actually a survival strategy that has been honed over millions of years. Known as \"scatter hoarding,\" squirrels store their food in a variety of hidden locations, often burying it deep in the soil or stashing it in hollowed-out tree trunks.\n""Interestingly, squirrels have an incredible memory for the locations of their caches. Research has shown that they can remember thousands of hiding spots, often returning to them months later when food is scarce. However, they don't always recover every stash some forgotten caches eventually sprout into new trees, contributing to forest regeneration. This unintentional role as forest gardeners highlights the ecological importance of squirrels in their ecosystems.\n""\n""The Great Squirrel Debate: Urban vs. Wild\n""While squirrels are most commonly associated with rural or wooded areas, their adaptability has allowed them to thrive in urban environments as well. In cities, squirrels have become adept at finding food sources in places like parks, streets, and even garbage cans. However, their urban counterparts face unique challenges, including traffic, predators, and the lack of natural shelters. Despite these obstacles, squirrels in urban areas are often observed using human infrastructure such as buildings, bridges, and power lines as highways for their acrobatic escapades.\n""There is, however, a growing concern regarding the impact of urban life on squirrel populations. Pollution, deforestation, and the loss of natural habitats are making it more difficult for squirrels to find adequate food and shelter. As a result, conservationists are focusing on creating squirrel-friendly spaces within cities, with the goal of ensuring these resourceful creatures continue to thrive in both rural and urban landscapes.\n""\n""A Symbol of Resilience\n""In many cultures, squirrels are symbols of resourcefulness, adaptability, and preparation. Their ability to thrive in a variety of environments while navigating challenges with agility and grace serves as a reminder of the resilience inherent in nature. Whether you encounter them in a quiet forest, a city park, or your own backyard, squirrels are creatures that never fail to amaze with their endless energy and ingenuity.\n""In the end, squirrels may be small, but they are mighty in their ability to survive and thrive in a world that is constantly changing. So next time you spot one hopping across a branch or darting across your lawn, take a moment to appreciate the remarkable acrobat at work a true marvel of the natural world.\n") }; + documents.documents[1] = (Document){ .title = CLAY_STRING("Lorem Ipsum"), .contents = CLAY_STRING("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.") }; + documents.documents[2] = (Document){ .title = CLAY_STRING("Vacuum Instructions"), .contents = CLAY_STRING("Chapter 3: Getting Started - Unpacking and Setup\n""\n""Congratulations on your new SuperClean Pro 5000 vacuum cleaner! In this section, we will guide you through the simple steps to get your vacuum up and running. Before you begin, please ensure that you have all the components listed in the \"Package Contents\" section on page 2.\n""\n""1. Unboxing Your Vacuum\n""Carefully remove the vacuum cleaner from the box. Avoid using sharp objects that could damage the product. Once removed, place the unit on a flat, stable surface to proceed with the setup. Inside the box, you should find:\n""\n"" The main vacuum unit\n"" A telescoping extension wand\n"" A set of specialized cleaning tools (crevice tool, upholstery brush, etc.)\n"" A reusable dust bag (if applicable)\n"" A power cord with a 3-prong plug\n"" A set of quick-start instructions\n""\n""2. Assembling Your Vacuum\n""Begin by attaching the extension wand to the main body of the vacuum cleaner. Line up the connectors and twist the wand into place until you hear a click. Next, select the desired cleaning tool and firmly attach it to the wand's end, ensuring it is securely locked in.\n""\n""For models that require a dust bag, slide the bag into the compartment at the back of the vacuum, making sure it is properly aligned with the internal mechanism. If your vacuum uses a bagless system, ensure the dust container is correctly seated and locked in place before use.\n""\n""3. Powering On\n""To start the vacuum, plug the power cord into a grounded electrical outlet. Once plugged in, locate the power switch, usually positioned on the side of the handle or body of the unit, depending on your model. Press the switch to the \"On\" position, and you should hear the motor begin to hum. If the vacuum does not power on, check that the power cord is securely plugged in, and ensure there are no blockages in the power switch.\n""\n""Note: Before first use, ensure that the vacuum filter (if your model has one) is properly installed. If unsure, refer to \"Section 5: Maintenance\" for filter installation instructions.") }; + documents.documents[3] = (Document){ .title = CLAY_STRING("Article 4"), .contents = CLAY_STRING("Article 4") }; + documents.documents[4] = (Document){ .title = CLAY_STRING("Article 5"), .contents = CLAY_STRING("Article 5") }; + ClayVideoDemo_Data data = { .frameArena = { .memory = (intptr_t)malloc(1024) } }; From fd2b13974c7860c2f1e5d570946b265008c0e9bd Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Sat, 1 Feb 2025 21:12:14 +1300 Subject: [PATCH 31/37] init orderg --- clay.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clay.h b/clay.h index afec75c..99aa95e 100644 --- a/clay.h +++ b/clay.h @@ -2673,7 +2673,7 @@ Clay__RenderDebugLayoutData Clay__RenderDebugLayoutElementsList(int32_t initialR } if (highlightedElementId) { - CLAY({ .id = CLAY_ID("Clay__DebugView_ElementHighlight"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .floating = { .zIndex = 65535, .parentId = highlightedElementId, .pointerCaptureMode = CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH } }) { + CLAY({ .id = CLAY_ID("Clay__DebugView_ElementHighlight"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .floating = { .parentId = highlightedElementId, .zIndex = 65535, .pointerCaptureMode = CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH } }) { CLAY({ .id = CLAY_ID("Clay__DebugView_ElementHighlightRectangle"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .rectangle = { .color = Clay__debugViewHighlightColor } }) {} } } @@ -2807,7 +2807,7 @@ void Clay__RenderDebugView(void) { Clay__RenderDebugLayoutData layoutData = CLAY__DEFAULT_STRUCT; CLAY({ .id = CLAY_ID("Clay__DebugView"), .layout = { .sizing = { CLAY_SIZING_FIXED((float)Clay__debugViewWidth) , CLAY_SIZING_FIXED(context->layoutDimensions.height) }, .layoutDirection = CLAY_TOP_TO_BOTTOM }, - .floating = { .zIndex = 65000, .parentId = Clay__HashString(CLAY_STRING("Clay__RootContainer"), 0, 0).id, .attachment = { .element = CLAY_ATTACH_POINT_LEFT_CENTER, .parent = CLAY_ATTACH_POINT_RIGHT_CENTER }}, + .floating = { .parentId = Clay__HashString(CLAY_STRING("Clay__RootContainer"), 0, 0).id, .zIndex = 65000, .attachment = { .element = CLAY_ATTACH_POINT_LEFT_CENTER, .parent = CLAY_ATTACH_POINT_RIGHT_CENTER }}, .border = { .bottom = { .width = 1, .color = CLAY__DEBUGVIEW_COLOR_3 }} }) { CLAY({ .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT)}, .padding = {CLAY__DEBUGVIEW_OUTER_PADDING, CLAY__DEBUGVIEW_OUTER_PADDING }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER} }, .rectangle = { .color = CLAY__DEBUGVIEW_COLOR_2 } }) { From dabc78419fa22c2571b25287c49cc72bd0938633 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Sun, 2 Feb 2025 14:48:38 +1300 Subject: [PATCH 32/37] Github workflow update --- .github/workflows/cmake-multi-platform.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index 9d13830..59b252b 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -62,7 +62,8 @@ jobs: - name: Install Dependencies if: runner.os == 'Linux' - run: | + run: | + DEBIAN_FRONTEND=noninteractive sudo apt-get update -y DEBIAN_FRONTEND=noninteractive sudo apt-get install -y git DEBIAN_FRONTEND=noninteractive sudo apt-get install -y libwayland-dev DEBIAN_FRONTEND=noninteractive sudo apt-get install -y pkg-config From e39b1b8cb1b10529c5f75e30fed92adb6fa1a09f Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Sun, 2 Feb 2025 14:52:45 +1300 Subject: [PATCH 33/37] unused variable --- clay.h | 1 - 1 file changed, 1 deletion(-) diff --git a/clay.h b/clay.h index 99aa95e..7827e8b 100644 --- a/clay.h +++ b/clay.h @@ -1541,7 +1541,6 @@ void Clay__ConfigureOpenElement(const Clay_ElementDeclaration declaration) { uint8_t* decData = (uint8_t*)&declaration; for (int32_t i = 0; i < context->declarationPaddingMask.length; i++) { - int offset = context->declarationPaddingMask.internalArray[i]; *(decData + context->declarationPaddingMask.internalArray[i]) = 0; } From f7bdffcb8a991ef46bcfa4bb60b1031e59d33342 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Sun, 2 Feb 2025 15:06:13 +1300 Subject: [PATCH 34/37] GCC issues --- clay.h | 3 ++- examples/clay-official-website/CMakeLists.txt | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/clay.h b/clay.h index 7827e8b..815f54e 100644 --- a/clay.h +++ b/clay.h @@ -3293,11 +3293,12 @@ void Clay_SetPointerState(Clay_Vector2 position, bool isPointerDown) { } } -void Clay__PoisonStack(Clay_Context* context) { +uint8_t Clay__PoisonStack(Clay_Context* context) { uint8_t stackmem[1024]; for (int i = 0; i < 1024; i++) { stackmem[i] = 0xce; } + return stackmem[0]; } void Clay__CalculateDeclarationPaddingMask(const Clay_ElementDeclaration dec, Clay_Context* context) { diff --git a/examples/clay-official-website/CMakeLists.txt b/examples/clay-official-website/CMakeLists.txt index b64f447..503f90f 100644 --- a/examples/clay-official-website/CMakeLists.txt +++ b/examples/clay-official-website/CMakeLists.txt @@ -5,5 +5,5 @@ set(CMAKE_C_STANDARD 99) add_executable(clay_official_website main.c) -target_compile_options(clay_official_website PUBLIC -Wall -Werror -Wno-unknown-pragmas -Wno-error=missing-braces) +target_compile_options(clay_official_website PUBLIC) target_include_directories(clay_official_website PUBLIC .) From c71783a08c45e6e6c285a9c81d8fa4f7167202ad Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Mon, 3 Feb 2025 14:07:39 +1300 Subject: [PATCH 35/37] Updates simplifying border config --- clay.h | 439 +++++++++--------- examples/SDL2-video-demo/main.c | 8 - examples/cairo-pdf-rendering/main.c | 70 +-- examples/clay-official-website/main.c | 151 +++--- examples/cpp-project-example/main.cpp | 2 +- .../raylib-sidebar-scrolling-container/main.c | 60 ++- examples/shared-layouts/clay-video-demo.c | 46 +- renderers/SDL2/clay_renderer_SDL2.c | 48 +- renderers/SDL3/clay_renderer_SDL3.c | 67 ++- renderers/cairo/clay_renderer_cairo.c | 97 ++-- renderers/raylib/clay_renderer_raylib.c | 73 ++- 11 files changed, 532 insertions(+), 529 deletions(-) diff --git a/clay.h b/clay.h index 815f54e..d601ff5 100644 --- a/clay.h +++ b/clay.h @@ -53,9 +53,9 @@ #define CLAY_TEXT_CONFIG(...) Clay__StoreTextElementConfig(CLAY__CONFIG_WRAPPER(Clay_TextElementConfig, __VA_ARGS__)) -#define CLAY_BORDER_OUTSIDE(...) CLAY__CONFIG_WRAPPER(Clay_BorderElementConfig, { .left = __VA_ARGS__, .right = __VA_ARGS__, .top = __VA_ARGS__, .bottom = __VA_ARGS__ }) +#define CLAY_BORDER_OUTSIDE(widthValue) {widthValue, widthValue, widthValue, widthValue, 0} -#define CLAY_BORDER_ALL(...) CLAY__CONFIG_WRAPPER(Clay_BorderElementConfig, { .left = __VA_ARGS__, .right = __VA_ARGS__, .top = __VA_ARGS__, .bottom = __VA_ARGS__, .betweenChildren = __VA_ARGS__ }) +#define CLAY_BORDER_ALL(widthValue) {widthValue, widthValue, widthValue, widthValue, widthValue} #define CLAY_CORNER_RADIUS(radius) (CLAY__INIT(Clay_CornerRadius) { radius, radius, radius, radius }) @@ -208,14 +208,13 @@ typedef struct { typedef CLAY_PACKED_ENUM { CLAY__ELEMENT_CONFIG_TYPE_NONE = 0, - CLAY__ELEMENT_CONFIG_TYPE_RECTANGLE = 1, - CLAY__ELEMENT_CONFIG_TYPE_BORDER = 2, - CLAY__ELEMENT_CONFIG_TYPE_FLOATING = 4, - CLAY__ELEMENT_CONFIG_TYPE_SCROLL = 8, - CLAY__ELEMENT_CONFIG_TYPE_IMAGE = 16, - CLAY__ELEMENT_CONFIG_TYPE_TEXT = 32, - CLAY__ELEMENT_CONFIG_TYPE_CUSTOM = 64, - CLAY__ELEMENT_CONFIG_TYPE_SHARED = 128, + CLAY__ELEMENT_CONFIG_TYPE_BORDER = 1, + CLAY__ELEMENT_CONFIG_TYPE_FLOATING = 2, + CLAY__ELEMENT_CONFIG_TYPE_SCROLL = 4, + CLAY__ELEMENT_CONFIG_TYPE_IMAGE = 8, + CLAY__ELEMENT_CONFIG_TYPE_TEXT = 16, + CLAY__ELEMENT_CONFIG_TYPE_CUSTOM = 32, + CLAY__ELEMENT_CONFIG_TYPE_SHARED = 64, } Clay__ElementConfigType; // Element Configs --------------------------- @@ -288,19 +287,8 @@ CLAY__WRAPPER_STRUCT(Clay_LayoutConfig); extern Clay_LayoutConfig CLAY_LAYOUT_DEFAULT; -// Rectangle -// NOTE: Not declared in the typedef asan ifdef inside macro arguments is UB -typedef struct { - Clay_Color color; - #ifdef CLAY_EXTEND_CONFIG_RECTANGLE - CLAY_EXTEND_CONFIG_RECTANGLE - #endif -} Clay_RectangleElementConfig; - -CLAY__WRAPPER_STRUCT(Clay_RectangleElementConfig); - // Text -typedef enum { +typedef CLAY_PACKED_ENUM { CLAY_TEXT_WRAP_WORDS, CLAY_TEXT_WRAP_NEWLINES, CLAY_TEXT_WRAP_NONE, @@ -323,7 +311,7 @@ CLAY__WRAPPER_STRUCT(Clay_TextElementConfig); // Image typedef struct { - void *imageData; + void* imageData; Clay_Dimensions sourceDimensions; #ifdef CLAY_EXTEND_CONFIG_IMAGE CLAY_EXTEND_CONFIG_IMAGE @@ -370,7 +358,7 @@ CLAY__WRAPPER_STRUCT(Clay_FloatingElementConfig); // Custom typedef struct { #ifndef CLAY_EXTEND_CONFIG_CUSTOM - void *customData; + void* customData; #else CLAY_EXTEND_CONFIG_CUSTOM #endif @@ -388,6 +376,7 @@ CLAY__WRAPPER_STRUCT(Clay_ScrollElementConfig); // Scroll typedef struct { + Clay_Color backgroundColor; Clay_CornerRadius cornerRadius; } Clay_SharedElementConfig; @@ -395,16 +384,16 @@ CLAY__WRAPPER_STRUCT(Clay_SharedElementConfig); // Border typedef struct { - uint32_t width; - Clay_Color color; -} Clay_Border; + uint16_t left; + uint16_t right; + uint16_t top; + uint16_t bottom; + uint16_t betweenChildren; +} Clay_BorderWidth; typedef struct { - Clay_Border left; - Clay_Border right; - Clay_Border top; - Clay_Border bottom; - Clay_Border betweenChildren; + Clay_Color color; + Clay_BorderWidth width; #ifdef CLAY_EXTEND_CONFIG_BORDER CLAY_EXTEND_CONFIG_BORDER #endif @@ -412,21 +401,46 @@ typedef struct { CLAY__WRAPPER_STRUCT(Clay_BorderElementConfig); -typedef union { - Clay_RectangleElementConfig *rectangleElementConfig; - Clay_TextElementConfig *textElementConfig; - Clay_ImageElementConfig *imageElementConfig; - Clay_FloatingElementConfig *floatingElementConfig; - Clay_CustomElementConfig *customElementConfig; - Clay_ScrollElementConfig *scrollElementConfig; - Clay_BorderElementConfig *borderElementConfig; - Clay_SharedElementConfig *sharedElementConfig; -} Clay_ElementConfigUnion; +typedef struct { + Clay_StringSlice stringContents; + Clay_Color textColor; + uint16_t fontId; + uint16_t fontSize; + uint16_t letterSpacing; + uint16_t lineHeight; +} Clay_TextRenderData; typedef struct { - Clay__ElementConfigType type; - Clay_ElementConfigUnion config; -} Clay_ElementConfig; + Clay_Color backgroundColor; + Clay_CornerRadius cornerRadius; +} Clay_RectangleRenderData; + +typedef struct { + Clay_Color backgroundColor; + Clay_CornerRadius cornerRadius; + Clay_Dimensions sourceDimensions; + void* imageData; +} Clay_ImageRenderData; + +typedef struct { + Clay_Color backgroundColor; + Clay_CornerRadius cornerRadius; + void* customData; +} Clay_CustomRenderData; + +typedef struct { + Clay_Color color; + Clay_CornerRadius cornerRadius; + Clay_BorderWidth width; +} Clay_BorderRenderData; + +typedef union { + Clay_RectangleRenderData rectangle; + Clay_TextRenderData text; + Clay_ImageRenderData image; + Clay_CustomRenderData custom; + Clay_BorderRenderData border; +} Clay_RenderData; // Miscellaneous Structs & Enums --------------------------------- typedef struct { @@ -460,11 +474,7 @@ typedef CLAY_PACKED_ENUM { typedef struct { Clay_BoundingBox boundingBox; - Clay_ElementConfigUnion config; - union { - Clay_StringSlice text; // TODO I wish there was a way to avoid having to have this on every render command - Clay_SharedElementConfig *sharedConfig; - } textOrSharedConfig; + Clay_RenderData renderData; int32_t zIndex; uint32_t id; Clay_RenderCommandType commandType; @@ -491,13 +501,13 @@ typedef struct { typedef struct { Clay_ElementId id; Clay_LayoutConfig layout; - Clay_RectangleElementConfig rectangle; + Clay_Color backgroundColor; + Clay_CornerRadius cornerRadius; Clay_ImageElementConfig image; Clay_FloatingElementConfig floating; Clay_CustomElementConfig custom; Clay_ScrollElementConfig scroll; Clay_BorderElementConfig border; - Clay_SharedElementConfig shared; } Clay_ElementDeclaration; CLAY__WRAPPER_STRUCT(Clay_ElementDeclaration); @@ -568,6 +578,10 @@ uint32_t Clay__GetParentElementId(void); extern Clay_Color Clay__debugViewHighlightColor; extern uint32_t Clay__debugViewWidth; +inline Clay_BorderElementConfig Clay_BorderAll(Clay_Color color, uint16_t width) { + return (Clay_BorderElementConfig) { .color = color, .width = {width, width, width, width, width}}; +} + #ifdef __cplusplus } #endif @@ -590,6 +604,9 @@ extern uint32_t Clay__debugViewWidth; Clay_LayoutConfig CLAY_LAYOUT_DEFAULT = CLAY__DEFAULT_STRUCT; +Clay_Color Clay__Color_DEFAULT = CLAY__DEFAULT_STRUCT; +Clay_CornerRadius Clay__CornerRadius_DEFAULT = CLAY__DEFAULT_STRUCT; + #define CLAY__ARRAY_DEFINE_FUNCTIONS(typeName, arrayName) \ \ typedef struct \ @@ -692,9 +709,7 @@ CLAY__ARRAY_DEFINE(bool, Clay__boolArray) CLAY__ARRAY_DEFINE(int32_t, Clay__int32_tArray) CLAY__ARRAY_DEFINE(char, Clay__charArray) CLAY__ARRAY_DEFINE(Clay_ElementId, Clay__ElementIdArray) -CLAY__ARRAY_DEFINE(Clay_ElementConfig, Clay__ElementConfigArray) CLAY__ARRAY_DEFINE(Clay_LayoutConfig, Clay__LayoutConfigArray) -CLAY__ARRAY_DEFINE(Clay_RectangleElementConfig, Clay__RectangleElementConfigArray) CLAY__ARRAY_DEFINE(Clay_TextElementConfig, Clay__TextElementConfigArray) CLAY__ARRAY_DEFINE(Clay_ImageElementConfig, Clay__ImageElementConfigArray) CLAY__ARRAY_DEFINE(Clay_FloatingElementConfig, Clay__FloatingElementConfigArray) @@ -705,6 +720,23 @@ CLAY__ARRAY_DEFINE(Clay_String, Clay__StringArray) CLAY__ARRAY_DEFINE(Clay_SharedElementConfig, Clay__SharedElementConfigArray) CLAY__ARRAY_DEFINE_FUNCTIONS(Clay_RenderCommand, Clay_RenderCommandArray) +typedef union { + Clay_TextElementConfig *textElementConfig; + Clay_ImageElementConfig *imageElementConfig; + Clay_FloatingElementConfig *floatingElementConfig; + Clay_CustomElementConfig *customElementConfig; + Clay_ScrollElementConfig *scrollElementConfig; + Clay_BorderElementConfig *borderElementConfig; + Clay_SharedElementConfig *sharedElementConfig; +} Clay_ElementConfigUnion; + +typedef struct { + Clay__ElementConfigType type; + Clay_ElementConfigUnion config; +} Clay_ElementConfig; + +CLAY__ARRAY_DEFINE(Clay_ElementConfig, Clay__ElementConfigArray) + typedef struct { Clay_Dimensions dimensions; Clay_String line; @@ -726,7 +758,7 @@ typedef struct { uint16_t length; } Clay__LayoutElementChildren; -typedef struct { +typedef struct ee { union { Clay__LayoutElementChildren children; Clay__TextElementData *textElementData; @@ -735,7 +767,6 @@ typedef struct { Clay_Dimensions minDimensions; Clay_LayoutConfig *layoutConfig; Clay__ElementConfigArraySlice elementConfigs; - uint32_t configsEnabled; uint32_t id; } Clay_LayoutElement; @@ -851,7 +882,6 @@ struct Clay_Context { // Configs Clay__LayoutConfigArray layoutConfigs; Clay__ElementConfigArray elementConfigs; - Clay__RectangleElementConfigArray rectangleElementConfigs; Clay__TextElementConfigArray textElementConfigs; Clay__ImageElementConfigArray imageElementConfigs; Clay__FloatingElementConfigArray floatingElementConfigs; @@ -919,12 +949,7 @@ uint32_t Clay__GetParentElementId(void) { return Clay_LayoutElementArray_Get(&context->layoutElements, Clay__int32_tArray_GetValue(&context->openLayoutElementStack, context->openLayoutElementStack.length - 2))->id; } -bool Clay__ElementHasConfig(Clay_LayoutElement *element, Clay__ElementConfigType type) { - return (element->configsEnabled & type); -} - Clay_LayoutConfig * Clay__StoreLayoutConfig(Clay_LayoutConfig config) { return Clay_GetCurrentContext()->booleanWarnings.maxElementsExceeded ? &CLAY_LAYOUT_DEFAULT : Clay__LayoutConfigArray_Add(&Clay_GetCurrentContext()->layoutConfigs, config); } -Clay_RectangleElementConfig * Clay__StoreRectangleElementConfig(Clay_RectangleElementConfig config) { return Clay_GetCurrentContext()->booleanWarnings.maxElementsExceeded ? &Clay_RectangleElementConfig_DEFAULT : Clay__RectangleElementConfigArray_Add(&Clay_GetCurrentContext()->rectangleElementConfigs, config); } Clay_TextElementConfig * Clay__StoreTextElementConfig(Clay_TextElementConfig config) { return Clay_GetCurrentContext()->booleanWarnings.maxElementsExceeded ? &Clay_TextElementConfig_DEFAULT : Clay__TextElementConfigArray_Add(&Clay_GetCurrentContext()->textElementConfigs, config); } Clay_ImageElementConfig * Clay__StoreImageElementConfig(Clay_ImageElementConfig config) { return Clay_GetCurrentContext()->booleanWarnings.maxElementsExceeded ? &Clay_ImageElementConfig_DEFAULT : Clay__ImageElementConfigArray_Add(&Clay_GetCurrentContext()->imageElementConfigs, config); } Clay_FloatingElementConfig * Clay__StoreFloatingElementConfig(Clay_FloatingElementConfig config) { return Clay_GetCurrentContext()->booleanWarnings.maxElementsExceeded ? &Clay_FloatingElementConfig_DEFAULT : Clay__FloatingElementConfigArray_Add(&Clay_GetCurrentContext()->floatingElementConfigs, config); } @@ -940,7 +965,6 @@ Clay_ElementConfig Clay__AttachElementConfig(Clay_ElementConfigUnion config, Cla } Clay_LayoutElement *openLayoutElement = Clay__GetOpenLayoutElement(); openLayoutElement->elementConfigs.length++; - openLayoutElement->configsEnabled |= type; return *Clay__ElementConfigArray_Add(&context->elementConfigs, CLAY__INIT(Clay_ElementConfig) { .type = type, .config = config }); } @@ -954,46 +978,6 @@ Clay_ElementConfigUnion Clay__FindElementConfigWithType(Clay_LayoutElement *elem return CLAY__INIT(Clay_ElementConfigUnion) { NULL }; } -Clay_ElementConfig Clay__CurrentConfigUnion(Clay__ElementConfigType type) { - Clay_Context *context = Clay_GetCurrentContext(); - Clay_LayoutElement *openElement = Clay__GetOpenLayoutElement(); - if (Clay__ElementHasConfig(openElement, type)) { - return CLAY__INIT(Clay_ElementConfig) { .type = type, .config = Clay__FindElementConfigWithType(openElement, type) }; - } - // Unhandled: structural changes to element - switch (type) { - case CLAY__ELEMENT_CONFIG_TYPE_NONE: - return CLAY__INIT(Clay_ElementConfig) CLAY__DEFAULT_STRUCT; - case CLAY__ELEMENT_CONFIG_TYPE_RECTANGLE: - return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .rectangleElementConfig = Clay__RectangleElementConfigArray_Add(&Clay_GetCurrentContext()->rectangleElementConfigs, CLAY__INIT(Clay_RectangleElementConfig) {CLAY__DEFAULT_STRUCT}) }, type); - case CLAY__ELEMENT_CONFIG_TYPE_TEXT: - return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .textElementConfig = Clay__TextElementConfigArray_Add(&Clay_GetCurrentContext()->textElementConfigs, CLAY__INIT(Clay_TextElementConfig) {CLAY__DEFAULT_STRUCT}) }, type); - case CLAY__ELEMENT_CONFIG_TYPE_IMAGE: - return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .imageElementConfig = Clay__ImageElementConfigArray_Add(&Clay_GetCurrentContext()->imageElementConfigs, CLAY__INIT(Clay_ImageElementConfig)CLAY__DEFAULT_STRUCT) }, type); - case CLAY__ELEMENT_CONFIG_TYPE_FLOATING: - return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .floatingElementConfig = Clay__FloatingElementConfigArray_Add(&Clay_GetCurrentContext()->floatingElementConfigs, CLAY__INIT(Clay_FloatingElementConfig) {CLAY__DEFAULT_STRUCT}) }, type); - case CLAY__ELEMENT_CONFIG_TYPE_CUSTOM: - Clay__int32_tArray_Add(&context->imageElementPointers, context->layoutElements.length - 1);return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .customElementConfig = Clay__CustomElementConfigArray_Add(&Clay_GetCurrentContext()->customElementConfigs, CLAY__INIT(Clay_CustomElementConfig)CLAY__DEFAULT_STRUCT) }, type); - case CLAY__ELEMENT_CONFIG_TYPE_SCROLL: - return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .scrollElementConfig = Clay__ScrollElementConfigArray_Add(&Clay_GetCurrentContext()->scrollElementConfigs, CLAY__INIT(Clay_ScrollElementConfig) CLAY__DEFAULT_STRUCT) }, type); - case CLAY__ELEMENT_CONFIG_TYPE_BORDER: - return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .borderElementConfig = Clay__BorderElementConfigArray_Add(&Clay_GetCurrentContext()->borderElementConfigs, CLAY__INIT(Clay_BorderElementConfig) {CLAY__DEFAULT_STRUCT}) }, type); - case CLAY__ELEMENT_CONFIG_TYPE_SHARED: - return Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .sharedElementConfig = Clay__SharedElementConfigArray_Add(&Clay_GetCurrentContext()->sharedElementConfigs, CLAY__INIT(Clay_SharedElementConfig) {CLAY__DEFAULT_STRUCT}) }, type); - } - - return CLAY__INIT(Clay_ElementConfig) CLAY__DEFAULT_STRUCT; -} - -Clay_RectangleElementConfig * Clay_CurrentConfigRectangle(void) { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_RECTANGLE).config.rectangleElementConfig; } -Clay_TextElementConfig * Clay_CurrentConfigText(void) { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_TEXT).config.textElementConfig; } -Clay_ImageElementConfig * Clay_CurrentConfigImage(void) { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_IMAGE).config.imageElementConfig; } -Clay_FloatingElementConfig * Clay_CurrentConfigFloating(void) { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_FLOATING).config.floatingElementConfig; } -Clay_CustomElementConfig * Clay_CurrentConfigCustom(void) { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_CUSTOM).config.customElementConfig; } -Clay_ScrollElementConfig * Clay_CurrentConfigScroll(void) { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_SCROLL).config.scrollElementConfig; } -Clay_BorderElementConfig * Clay_CurrentConfigBorder(void) { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_BORDER).config.borderElementConfig; } -Clay_SharedElementConfig * Clay_CurrentConfigShared(void) { return Clay__CurrentConfigUnion(CLAY__ELEMENT_CONFIG_TYPE_SHARED).config.sharedElementConfig; } - Clay_ElementId Clay__HashNumber(const uint32_t offset, const uint32_t seed) { uint32_t hash = seed; hash += (offset + 48); @@ -1318,6 +1302,15 @@ void Clay__GenerateIdForAnonymousElement(Clay_LayoutElement *openLayoutElement) Clay__StringArray_Add(&context->layoutElementIdStrings, elementId.stringId); } +bool Clay__ElementHasConfig(Clay_LayoutElement *layoutElement, Clay__ElementConfigType type) { + for (int32_t i = 0; i < layoutElement->elementConfigs.length; i++) { + if (Clay__ElementConfigArraySlice_Get(&layoutElement->elementConfigs, i)->type == type) { + return true; + } + } + return false; +} + void Clay__CloseElement(void) { Clay_Context* context = Clay_GetCurrentContext(); if (context->booleanWarnings.maxElementsExceeded) { @@ -1327,11 +1320,14 @@ void Clay__CloseElement(void) { Clay_LayoutConfig *layoutConfig = openLayoutElement->layoutConfig; bool elementHasScrollHorizontal = false; bool elementHasScrollVertical = false; - if (Clay__ElementHasConfig(openLayoutElement, CLAY__ELEMENT_CONFIG_TYPE_SCROLL)) { - Clay_ScrollElementConfig *scrollConfig = Clay__FindElementConfigWithType(openLayoutElement, CLAY__ELEMENT_CONFIG_TYPE_SCROLL).scrollElementConfig; - elementHasScrollHorizontal = scrollConfig->horizontal; - elementHasScrollVertical = scrollConfig->vertical; - context->openClipElementStack.length--; + for (int32_t i = 0; i < openLayoutElement->elementConfigs.length; i++) { + Clay_ElementConfig *config = Clay__ElementConfigArraySlice_Get(&openLayoutElement->elementConfigs, i); + if (config->type == CLAY__ELEMENT_CONFIG_TYPE_SCROLL) { + elementHasScrollHorizontal = config->config.scrollElementConfig->horizontal; + elementHasScrollVertical = config->config.scrollElementConfig->vertical; + context->openClipElementStack.length--; + break; + } } // Attach children to the current open element @@ -1525,7 +1521,6 @@ void Clay__OpenTextElement(Clay_String text, Clay_TextElementConfig *textConfig) .length = 1, .internalArray = Clay__ElementConfigArray_Add(&context->elementConfigs, CLAY__INIT(Clay_ElementConfig) { .type = CLAY__ELEMENT_CONFIG_TYPE_TEXT, .config = { .textElementConfig = textConfig }}) }; - textElement->configsEnabled |= CLAY__ELEMENT_CONFIG_TYPE_TEXT; textElement->layoutConfig = &CLAY_LAYOUT_DEFAULT; } @@ -1545,8 +1540,18 @@ void Clay__ConfigureOpenElement(const Clay_ElementDeclaration declaration) { } openLayoutElement->elementConfigs.internalArray = &context->elementConfigs.internalArray[context->elementConfigs.length]; - if (!Clay__MemCmp((char *)(&declaration.rectangle), (char *)(&Clay_RectangleElementConfig_DEFAULT), sizeof(Clay_RectangleElementConfig))) { - Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .rectangleElementConfig = Clay__StoreRectangleElementConfig(declaration.rectangle) }, CLAY__ELEMENT_CONFIG_TYPE_RECTANGLE); + Clay_SharedElementConfig *sharedConfig = NULL; + if (!Clay__MemCmp((char *)(&declaration.backgroundColor), (char *)(&Clay__Color_DEFAULT), sizeof(Clay_Color))) { + sharedConfig = Clay__StoreSharedElementConfig((Clay_SharedElementConfig) { .backgroundColor = declaration.backgroundColor }); + Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .sharedElementConfig = sharedConfig }, CLAY__ELEMENT_CONFIG_TYPE_SHARED); + } + if (!Clay__MemCmp((char *)(&declaration.cornerRadius), (char *)(&Clay__CornerRadius_DEFAULT), sizeof(Clay_CornerRadius))) { + if (sharedConfig) { + sharedConfig->cornerRadius = declaration.cornerRadius; + } else { + sharedConfig = Clay__StoreSharedElementConfig((Clay_SharedElementConfig) { .cornerRadius = declaration.cornerRadius }); + Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .sharedElementConfig = sharedConfig }, CLAY__ELEMENT_CONFIG_TYPE_SHARED); + } } if (!Clay__MemCmp((char *)(&declaration.image), (char *)(&Clay_ImageElementConfig_DEFAULT), sizeof(Clay_ImageElementConfig))) { Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .imageElementConfig = Clay__StoreImageElementConfig(declaration.image) }, CLAY__ELEMENT_CONFIG_TYPE_IMAGE); @@ -1587,9 +1592,6 @@ void Clay__ConfigureOpenElement(const Clay_ElementDeclaration declaration) { if (!Clay__MemCmp((char *)(&declaration.custom), (char *)(&Clay_CustomElementConfig_DEFAULT), sizeof(Clay_CustomElementConfig))) { Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .customElementConfig = Clay__StoreCustomElementConfig(declaration.custom) }, CLAY__ELEMENT_CONFIG_TYPE_CUSTOM); } - if (!Clay__MemCmp((char *)(&declaration.shared), (char *)(&Clay_SharedElementConfig_DEFAULT), sizeof(Clay_SharedElementConfig))) { - Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .sharedElementConfig = Clay__StoreSharedElementConfig(declaration.shared) }, CLAY__ELEMENT_CONFIG_TYPE_SHARED); - } if (!Clay__MemCmp((char *)(&declaration.scroll), (char *)(&Clay_ScrollElementConfig_DEFAULT), sizeof(Clay_ScrollElementConfig))) { Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .scrollElementConfig = Clay__StoreScrollElementConfig(declaration.scroll) }, CLAY__ELEMENT_CONFIG_TYPE_SCROLL); Clay__int32_tArray_Add(&context->openClipElementStack, (int)openLayoutElement->id); @@ -1627,7 +1629,6 @@ void Clay__InitializeEphemeralMemory(Clay_Context* context) { context->layoutConfigs = Clay__LayoutConfigArray_Allocate_Arena(maxElementCount, arena); context->elementConfigs = Clay__ElementConfigArray_Allocate_Arena(maxElementCount, arena); - context->rectangleElementConfigs = Clay__RectangleElementConfigArray_Allocate_Arena(maxElementCount, arena); context->textElementConfigs = Clay__TextElementConfigArray_Allocate_Arena(maxElementCount, arena); context->imageElementConfigs = Clay__ImageElementConfigArray_Allocate_Arena(maxElementCount, arena); context->floatingElementConfigs = Clay__FloatingElementConfigArray_Allocate_Arena(maxElementCount, arena); @@ -1673,7 +1674,6 @@ void Clay__InitializePersistentMemory(Clay_Context* context) { context->arenaResetOffset = arena->nextAllocation; } - void Clay__CompressChildrenAlongAxis(bool xAxis, float totalSizeToDistribute, Clay__int32_tArray resizableContainerBuffer) { Clay_Context* context = Clay_GetCurrentContext(); Clay__int32_tArray largestContainers = context->openClipElementStack; @@ -1684,9 +1684,6 @@ void Clay__CompressChildrenAlongAxis(bool xAxis, float totalSizeToDistribute, Cl float targetSize = 0; for (int32_t i = 0; i < resizableContainerBuffer.length; ++i) { Clay_LayoutElement *childElement = Clay_LayoutElementArray_Get(&context->layoutElements, Clay__int32_tArray_GetValue(&resizableContainerBuffer, i)); - if (!xAxis && Clay__ElementHasConfig(childElement, CLAY__ELEMENT_CONFIG_TYPE_IMAGE)) { - continue; - } float childSize = xAxis ? childElement->dimensions.width : childElement->dimensions.height; if ((childSize - largestSize) < 0.1 && (childSize - largestSize) > -0.1) { Clay__int32_tArray_Add(&largestContainers, Clay__int32_tArray_GetValue(&resizableContainerBuffer, i)); @@ -1777,7 +1774,11 @@ void Clay__SizeContainersAlongAxis(bool xAxis) { Clay__int32_tArray_Add(&bfsBuffer, childElementIndex); } - if (childSizing.type != CLAY__SIZING_TYPE_PERCENT && childSizing.type != CLAY__SIZING_TYPE_FIXED && (!Clay__ElementHasConfig(childElement, CLAY__ELEMENT_CONFIG_TYPE_TEXT) || (Clay__FindElementConfigWithType(childElement, CLAY__ELEMENT_CONFIG_TYPE_TEXT).textElementConfig->wrapMode == CLAY_TEXT_WRAP_WORDS))) { + if (childSizing.type != CLAY__SIZING_TYPE_PERCENT + && childSizing.type != CLAY__SIZING_TYPE_FIXED + && (!Clay__ElementHasConfig(childElement, CLAY__ELEMENT_CONFIG_TYPE_TEXT) || (Clay__FindElementConfigWithType(childElement, CLAY__ELEMENT_CONFIG_TYPE_TEXT).textElementConfig->wrapMode == CLAY_TEXT_WRAP_WORDS)) // todo too many loops + && (xAxis || !Clay__ElementHasConfig(childElement, CLAY__ELEMENT_CONFIG_TYPE_IMAGE)) + ) { Clay__int32_tArray_Add(&resizableContainerBuffer, childElementIndex); } @@ -2148,7 +2149,6 @@ void Clay__CalculateFinalLayout(void) { } Clay__AddRenderCommand(CLAY__INIT(Clay_RenderCommand) { .boundingBox = clipHashMapItem->boundingBox, - .config = { .scrollElementConfig = Clay__StoreScrollElementConfig(CLAY__INIT(Clay_ScrollElementConfig)CLAY__DEFAULT_STRUCT) }, .zIndex = root->zIndex, .id = Clay__RehashWithNumber(rootElement->id, 10), // TODO need a better strategy for managing derived ids .commandType = CLAY_RENDER_COMMAND_TYPE_SCISSOR_START, @@ -2227,13 +2227,20 @@ void Clay__CalculateFinalLayout(void) { sortMax--; } + bool emitRectangle; // Create the render commands for this element + Clay_SharedElementConfig *sharedConfig = Clay__FindElementConfigWithType(currentElement, CLAY__ELEMENT_CONFIG_TYPE_SHARED).sharedElementConfig; + if (sharedConfig) { + emitRectangle = true; + } + else if (!sharedConfig) { + emitRectangle = false; + sharedConfig = &Clay_SharedElementConfig_DEFAULT; + } for (int32_t elementConfigIndex = 0; elementConfigIndex < currentElement->elementConfigs.length; ++elementConfigIndex) { Clay_ElementConfig *elementConfig = Clay__ElementConfigArraySlice_Get(¤tElement->elementConfigs, sortedConfigIndexes[elementConfigIndex]); Clay_RenderCommand renderCommand = { .boundingBox = currentElementBoundingBox, - .config = elementConfig->config, - .textOrSharedConfig = { .sharedConfig = Clay__ElementHasConfig(currentElement, CLAY__ELEMENT_CONFIG_TYPE_SHARED) ? Clay__FindElementConfigWithType(currentElement, CLAY__ELEMENT_CONFIG_TYPE_SHARED).sharedElementConfig : &Clay_SharedElementConfig_DEFAULT }, .id = currentElement->id, }; @@ -2241,27 +2248,27 @@ void Clay__CalculateFinalLayout(void) { // Culling - Don't bother to generate render commands for rectangles entirely outside the screen - this won't stop their children from being rendered if they overflow bool shouldRender = !offscreen; switch (elementConfig->type) { - case CLAY__ELEMENT_CONFIG_TYPE_RECTANGLE: { - renderCommand.commandType = CLAY_RENDER_COMMAND_TYPE_RECTANGLE; - break; - } + case CLAY__ELEMENT_CONFIG_TYPE_FLOATING: case CLAY__ELEMENT_CONFIG_TYPE_SHARED: case CLAY__ELEMENT_CONFIG_TYPE_BORDER: { shouldRender = false; break; } - case CLAY__ELEMENT_CONFIG_TYPE_FLOATING: { - renderCommand.commandType = CLAY_RENDER_COMMAND_TYPE_NONE; - shouldRender = false; - break; - } case CLAY__ELEMENT_CONFIG_TYPE_SCROLL: { renderCommand.commandType = CLAY_RENDER_COMMAND_TYPE_SCISSOR_START; - shouldRender = true; break; } case CLAY__ELEMENT_CONFIG_TYPE_IMAGE: { renderCommand.commandType = CLAY_RENDER_COMMAND_TYPE_IMAGE; + renderCommand.renderData = (Clay_RenderData) { + .image = { + .backgroundColor = emitRectangle ? sharedConfig->backgroundColor : CLAY__INIT(Clay_Color) { 255, 255, 255, 255 }, + .cornerRadius = sharedConfig->cornerRadius, + .sourceDimensions = elementConfig->config.imageElementConfig->sourceDimensions, + .imageData = elementConfig->config.imageElementConfig->imageData, + } + }; + emitRectangle = false; break; } case CLAY__ELEMENT_CONFIG_TYPE_TEXT: { @@ -2282,9 +2289,15 @@ void Clay__CalculateFinalLayout(void) { continue; } Clay__AddRenderCommand(CLAY__INIT(Clay_RenderCommand) { - .boundingBox = { currentElementBoundingBox.x, currentElementBoundingBox.y + yPosition, wrappedLine.dimensions.width, wrappedLine.dimensions.height }, // TODO width - .config = configUnion, - .textOrSharedConfig = { .text = CLAY__INIT(Clay_StringSlice) { .length = wrappedLine.line.length, .chars = wrappedLine.line.chars, .baseChars = currentElement->childrenOrTextContent.textElementData->text.chars } }, + .boundingBox = { currentElementBoundingBox.x, currentElementBoundingBox.y + yPosition, wrappedLine.dimensions.width, wrappedLine.dimensions.height }, + .renderData = { .text = { + .stringContents = CLAY__INIT(Clay_StringSlice) { .length = wrappedLine.line.length, .chars = wrappedLine.line.chars, .baseChars = currentElement->childrenOrTextContent.textElementData->text.chars }, + .textColor = textElementConfig->textColor, + .fontId = textElementConfig->fontId, + .fontSize = textElementConfig->fontSize, + .letterSpacing = textElementConfig->letterSpacing, + .lineHeight = textElementConfig->lineHeight, + }}, .zIndex = root->zIndex, .id = Clay__HashNumber(lineIndex, currentElement->id).id, .commandType = CLAY_RENDER_COMMAND_TYPE_TEXT, @@ -2299,6 +2312,14 @@ void Clay__CalculateFinalLayout(void) { } case CLAY__ELEMENT_CONFIG_TYPE_CUSTOM: { renderCommand.commandType = CLAY_RENDER_COMMAND_TYPE_CUSTOM; + renderCommand.renderData = (Clay_RenderData) { + .custom = { + .backgroundColor = sharedConfig->backgroundColor, + .cornerRadius = sharedConfig->cornerRadius, + .customData = elementConfig->config.customElementConfig->customData, + } + }; + emitRectangle = false; break; } default: break; @@ -2313,6 +2334,19 @@ void Clay__CalculateFinalLayout(void) { } } + if (emitRectangle) { + Clay__AddRenderCommand(CLAY__INIT(Clay_RenderCommand) { + .boundingBox = currentElementBoundingBox, + .renderData = { .rectangle = { + .backgroundColor = sharedConfig->backgroundColor, + .cornerRadius = sharedConfig->cornerRadius, + }}, + .zIndex = root->zIndex, + .id = currentElement->id, + .commandType = CLAY_RENDER_COMMAND_TYPE_RECTANGLE, + }); + } + // Setup initial on-axis alignment if (!Clay__ElementHasConfig(currentElementTreeNode->layoutElement, CLAY__ELEMENT_CONFIG_TYPE_TEXT)) { Clay_Dimensions contentSize = {0,0}; @@ -2380,14 +2414,16 @@ void Clay__CalculateFinalLayout(void) { Clay_BorderElementConfig *borderConfig = Clay__FindElementConfigWithType(currentElement, CLAY__ELEMENT_CONFIG_TYPE_BORDER).borderElementConfig; Clay_RenderCommand renderCommand = { .boundingBox = currentElementBoundingBox, - .config = { .borderElementConfig = borderConfig }, - .textOrSharedConfig = { .sharedConfig = sharedConfig }, + .renderData = { .border = { + .color = borderConfig->color, + .cornerRadius = sharedConfig->cornerRadius, + .width = borderConfig->width + }}, .id = Clay__RehashWithNumber(currentElement->id, 4), .commandType = CLAY_RENDER_COMMAND_TYPE_BORDER, }; Clay__AddRenderCommand(renderCommand); - if (borderConfig->betweenChildren.width > 0 && borderConfig->betweenChildren.color.a > 0) { - Clay_RectangleElementConfig *rectangleConfig = Clay__StoreRectangleElementConfig(CLAY__INIT(Clay_RectangleElementConfig) {.color = borderConfig->betweenChildren.color}); + if (borderConfig->width.betweenChildren > 0 && borderConfig->color.a > 0) { float halfGap = layoutConfig->childGap / 2; Clay_Vector2 borderOffset = { (float)layoutConfig->padding.left - halfGap, (float)layoutConfig->padding.top - halfGap }; if (layoutConfig->layoutDirection == CLAY_LEFT_TO_RIGHT) { @@ -2395,9 +2431,10 @@ void Clay__CalculateFinalLayout(void) { Clay_LayoutElement *childElement = Clay_LayoutElementArray_Get(&context->layoutElements, currentElement->childrenOrTextContent.children.elements[i]); if (i > 0) { Clay__AddRenderCommand(CLAY__INIT(Clay_RenderCommand) { - .boundingBox = { currentElementBoundingBox.x + borderOffset.x + scrollOffset.x, currentElementBoundingBox.y + scrollOffset.y, (float)borderConfig->betweenChildren.width, currentElement->dimensions.height }, - .config = { rectangleConfig }, - .textOrSharedConfig = { .sharedConfig = sharedConfig }, + .boundingBox = { currentElementBoundingBox.x + borderOffset.x + scrollOffset.x, currentElementBoundingBox.y + scrollOffset.y, (float)borderConfig->width.betweenChildren, currentElement->dimensions.height }, + .renderData = { .rectangle = { + .backgroundColor = borderConfig->color, + } }, .id = Clay__RehashWithNumber(currentElement->id, 5 + i), .commandType = CLAY_RENDER_COMMAND_TYPE_RECTANGLE, }); @@ -2409,9 +2446,10 @@ void Clay__CalculateFinalLayout(void) { Clay_LayoutElement *childElement = Clay_LayoutElementArray_Get(&context->layoutElements, currentElement->childrenOrTextContent.children.elements[i]); if (i > 0) { Clay__AddRenderCommand(CLAY__INIT(Clay_RenderCommand) { - .boundingBox = { currentElementBoundingBox.x + scrollOffset.x, currentElementBoundingBox.y + borderOffset.y + scrollOffset.y, currentElement->dimensions.width, (float)borderConfig->betweenChildren.width }, - .config = { rectangleConfig }, - .textOrSharedConfig = { .sharedConfig = sharedConfig }, + .boundingBox = { currentElementBoundingBox.x + scrollOffset.x, currentElementBoundingBox.y + borderOffset.y + scrollOffset.y, currentElement->dimensions.width, (float)borderConfig->width.betweenChildren }, + .renderData = { .rectangle = { + .backgroundColor = borderConfig->color, + } }, .id = Clay__RehashWithNumber(currentElement->id, 5 + i), .commandType = CLAY_RENDER_COMMAND_TYPE_RECTANGLE, }); @@ -2519,7 +2557,7 @@ typedef struct { Clay__DebugElementConfigTypeLabelConfig Clay__DebugGetElementConfigTypeLabel(Clay__ElementConfigType type) { switch (type) { - case CLAY__ELEMENT_CONFIG_TYPE_RECTANGLE: return CLAY__INIT(Clay__DebugElementConfigTypeLabelConfig) { CLAY_STRING("Rectangle"), {243,134,48,255} }; + case CLAY__ELEMENT_CONFIG_TYPE_SHARED: return CLAY__INIT(Clay__DebugElementConfigTypeLabelConfig) { CLAY_STRING("Shared"), {243,134,48,255} }; case CLAY__ELEMENT_CONFIG_TYPE_TEXT: return CLAY__INIT(Clay__DebugElementConfigTypeLabelConfig) { CLAY_STRING("Text"), {105,210,231,255} }; case CLAY__ELEMENT_CONFIG_TYPE_IMAGE: return CLAY__INIT(Clay__DebugElementConfigTypeLabelConfig) { CLAY_STRING("Image"), {121,189,154,255} }; case CLAY__ELEMENT_CONFIG_TYPE_FLOATING: return CLAY__INIT(Clay__DebugElementConfigTypeLabelConfig) { CLAY_STRING("Floating"), {250,105,0,255} }; @@ -2552,7 +2590,7 @@ Clay__RenderDebugLayoutData Clay__RenderDebugLayoutElementsList(int32_t initialR context->treeNodeVisited.internalArray[0] = false; if (rootIndex > 0) { CLAY({ .id = CLAY_IDI("Clay__DebugView_EmptyRowOuter", rootIndex), .layout = { .sizing = {.width = CLAY_SIZING_GROW(0)}, .padding = {CLAY__DEBUGVIEW_INDENT_WIDTH / 2, 0} } }) { - CLAY({ .id = CLAY_IDI("Clay__DebugView_EmptyRow", rootIndex), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED((float)CLAY__DEBUGVIEW_ROW_HEIGHT) }}, .border = { .top = { .width = 1, .color = CLAY__DEBUGVIEW_COLOR_3 } } }) {} + CLAY({ .id = CLAY_IDI("Clay__DebugView_EmptyRow", rootIndex), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED((float)CLAY__DEBUGVIEW_ROW_HEIGHT) }}, .border = { .color = CLAY__DEBUGVIEW_COLOR_3, .width = { .top = 1 } } }) {} } layoutData.rowCount++; } @@ -2588,25 +2626,25 @@ Clay__RenderDebugLayoutData Clay__RenderDebugLayoutElementsList(int32_t initialR CLAY({ .id = CLAY_IDI("Clay__DebugView_CollapseElement", currentElement->id), .layout = { .sizing = {CLAY_SIZING_FIXED(16), CLAY_SIZING_FIXED(16)}, .childAlignment = { CLAY_ALIGN_X_CENTER, CLAY_ALIGN_Y_CENTER} }, - .border = CLAY_BORDER_OUTSIDE({ 1, CLAY__DEBUGVIEW_COLOR_3 }), - .shared = { .cornerRadius = CLAY_CORNER_RADIUS(4) } + .cornerRadius = CLAY_CORNER_RADIUS(4), + .border = { .color = CLAY__DEBUGVIEW_COLOR_3, .width = {1, 1, 1, 1} }, }) { CLAY_TEXT((currentElementData && currentElementData->debugData->collapsed) ? CLAY_STRING("+") : CLAY_STRING("-"), CLAY_TEXT_CONFIG({ .textColor = CLAY__DEBUGVIEW_COLOR_4, .fontSize = 16 })); } } else { // Square dot for empty containers CLAY({ .layout = { .sizing = {CLAY_SIZING_FIXED(16), CLAY_SIZING_FIXED(16)}, .childAlignment = { CLAY_ALIGN_X_CENTER, CLAY_ALIGN_Y_CENTER } } }) { - CLAY({ .layout = { .sizing = {CLAY_SIZING_FIXED(8), CLAY_SIZING_FIXED(8)} }, .rectangle = { .color = CLAY__DEBUGVIEW_COLOR_3 }, .shared = { .cornerRadius = CLAY_CORNER_RADIUS(2) } }) {} + CLAY({ .layout = { .sizing = {CLAY_SIZING_FIXED(8), CLAY_SIZING_FIXED(8)} }, .backgroundColor = CLAY__DEBUGVIEW_COLOR_3, .cornerRadius = CLAY_CORNER_RADIUS(2) }) {} } } // Collisions and offscreen info if (currentElementData) { if (currentElementData->debugData->collision) { - CLAY({ .layout = { .padding = { 8, 8, 2, 2 } }, .border = CLAY_BORDER_OUTSIDE({ 1, (CLAY__INIT(Clay_Color){177, 147, 8, 255}) }) }) { + CLAY({ .layout = { .padding = { 8, 8, 2, 2 }}, .border = { .color = {177, 147, 8, 255}, .width = {1, 1, 1, 1} } }) { CLAY_TEXT(CLAY_STRING("Duplicate ID"), CLAY_TEXT_CONFIG({ .textColor = CLAY__DEBUGVIEW_COLOR_3, .fontSize = 16 })); } } if (offscreen) { - CLAY({ .layout = { .padding = { 8, 8, 2, 2 } }, .border = CLAY_BORDER_OUTSIDE({ 1, CLAY__DEBUGVIEW_COLOR_3 }) }) { + CLAY({ .layout = { .padding = { 8, 8, 2, 2 } }, .border = { .color = CLAY__DEBUGVIEW_COLOR_3, .width = { 1, 1, 1, 1 } } }) { CLAY_TEXT(CLAY_STRING("Offscreen"), CLAY_TEXT_CONFIG({ .textColor = CLAY__DEBUGVIEW_COLOR_3, .fontSize = 16 })); } } @@ -2620,7 +2658,7 @@ Clay__RenderDebugLayoutData Clay__RenderDebugLayoutElementsList(int32_t initialR Clay__DebugElementConfigTypeLabelConfig config = Clay__DebugGetElementConfigTypeLabel(elementConfig->type); Clay_Color backgroundColor = config.color; backgroundColor.a = 90; - CLAY({ .layout = { .padding = { 8, 8, 2, 2 } }, .rectangle = { .color = backgroundColor }, .border = CLAY_BORDER_OUTSIDE({ 1, config.color }), .shared = { .cornerRadius = CLAY_CORNER_RADIUS(4) } }) { + CLAY({ .layout = { .padding = { 8, 8, 2, 2 } }, .backgroundColor = backgroundColor, .cornerRadius = CLAY_CORNER_RADIUS(4), .border = { .color = config.color, .width = { 1, 1, 1, 1 } } }) { CLAY_TEXT(config.label, CLAY_TEXT_CONFIG({ .textColor = offscreen ? CLAY__DEBUGVIEW_COLOR_3 : CLAY__DEBUGVIEW_COLOR_4, .fontSize = 16 })); } } @@ -2644,7 +2682,7 @@ Clay__RenderDebugLayoutData Clay__RenderDebugLayoutElementsList(int32_t initialR Clay__OpenElement(); Clay__ConfigureOpenElement(CLAY__INIT(Clay_ElementDeclaration) { .layout = { .padding = { 8 } } }); Clay__OpenElement(); - Clay__ConfigureOpenElement(CLAY__INIT(Clay_ElementDeclaration) { .layout = { .padding = { .left = CLAY__DEBUGVIEW_INDENT_WIDTH }}, .border = { .left = { .width = 1, .color = CLAY__DEBUGVIEW_COLOR_3 }}}); + Clay__ConfigureOpenElement(CLAY__INIT(Clay_ElementDeclaration) { .layout = { .padding = { .left = CLAY__DEBUGVIEW_INDENT_WIDTH }}, .border = { .color = CLAY__DEBUGVIEW_COLOR_3, .width = { .left = 1 } }}); Clay__OpenElement(); Clay__ConfigureOpenElement(CLAY__INIT(Clay_ElementDeclaration) { .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM } }); } @@ -2673,7 +2711,7 @@ Clay__RenderDebugLayoutData Clay__RenderDebugLayoutElementsList(int32_t initialR if (highlightedElementId) { CLAY({ .id = CLAY_ID("Clay__DebugView_ElementHighlight"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .floating = { .parentId = highlightedElementId, .zIndex = 65535, .pointerCaptureMode = CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH } }) { - CLAY({ .id = CLAY_ID("Clay__DebugView_ElementHighlightRectangle"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .rectangle = { .color = Clay__debugViewHighlightColor } }) {} + CLAY({ .id = CLAY_ID("Clay__DebugView_ElementHighlightRectangle"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .backgroundColor = Clay__debugViewHighlightColor }) {} } } return layoutData; @@ -2709,7 +2747,7 @@ void Clay__RenderDebugViewElementConfigHeader(Clay_String elementId, Clay__Eleme Clay_Color backgroundColor = config.color; backgroundColor.a = 90; CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0)}, .padding = CLAY_PADDING_ALL(CLAY__DEBUGVIEW_OUTER_PADDING), .childAlignment = { .y = CLAY_ALIGN_Y_CENTER } } }) { - CLAY({ .layout = { .padding = { 8, 8, 2, 2 } }, .rectangle = { .color = backgroundColor }, .border = CLAY_BORDER_OUTSIDE({ 1, config.color }), .shared = { .cornerRadius = CLAY_CORNER_RADIUS(4) }}) { + CLAY({ .layout = { .padding = { 8, 8, 2, 2 } }, .backgroundColor = backgroundColor, .cornerRadius = CLAY_CORNER_RADIUS(4), .border = { .color = config.color, .width = { 1, 1, 1, 1 } } }) { CLAY_TEXT(config.label, CLAY_TEXT_CONFIG({ .textColor = CLAY__DEBUGVIEW_COLOR_4, .fontSize = 16 })); } CLAY({ .layout = { .sizing = { .width = CLAY_SIZING_GROW(0) } } }) {} @@ -2729,7 +2767,7 @@ void Clay__RenderDebugViewColor(Clay_Color color, Clay_TextElementConfig *textCo CLAY_TEXT(Clay__IntToString(color.a), textConfig); CLAY_TEXT(CLAY_STRING(" }"), textConfig); CLAY({ .layout = { .sizing = { CLAY_SIZING_FIXED(10) } } }) {} - CLAY({ .layout = { .sizing = { CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8)} }, .rectangle = { .color = color }, .border = CLAY_BORDER_OUTSIDE({ 1, CLAY__DEBUGVIEW_COLOR_4 }), .shared = { .cornerRadius = CLAY_CORNER_RADIUS(4) } }) {} + CLAY({ .layout = { .sizing = { CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8)} }, .backgroundColor = color, .cornerRadius = CLAY_CORNER_RADIUS(4), .border = { .color = CLAY__DEBUGVIEW_COLOR_4, .width = { 1, 1, 1, 1 } } }) {} } } @@ -2747,17 +2785,6 @@ void Clay__RenderDebugViewCornerRadius(Clay_CornerRadius cornerRadius, Clay_Text } } -void Clay__RenderDebugViewBorder(int32_t index, Clay_Border border, Clay_TextElementConfig *textConfig) { - (void) index; - CLAY({ .layout = { .childAlignment = {.y = CLAY_ALIGN_Y_CENTER} } }) { - CLAY_TEXT(CLAY_STRING("{ width: "), textConfig); - CLAY_TEXT(Clay__IntToString(border.width), textConfig); - CLAY_TEXT(CLAY_STRING(", color: "), textConfig); - Clay__RenderDebugViewColor(border.color, textConfig); - CLAY_TEXT(CLAY_STRING(" }"), textConfig); - } -} - void HandleDebugViewCloseButtonInteraction(Clay_ElementId elementId, Clay_PointerData pointerInfo, intptr_t userData) { Clay_Context* context = Clay_GetCurrentContext(); (void) elementId; (void) pointerInfo; (void) userData; @@ -2807,25 +2834,25 @@ void Clay__RenderDebugView(void) { CLAY({ .id = CLAY_ID("Clay__DebugView"), .layout = { .sizing = { CLAY_SIZING_FIXED((float)Clay__debugViewWidth) , CLAY_SIZING_FIXED(context->layoutDimensions.height) }, .layoutDirection = CLAY_TOP_TO_BOTTOM }, .floating = { .parentId = Clay__HashString(CLAY_STRING("Clay__RootContainer"), 0, 0).id, .zIndex = 65000, .attachment = { .element = CLAY_ATTACH_POINT_LEFT_CENTER, .parent = CLAY_ATTACH_POINT_RIGHT_CENTER }}, - .border = { .bottom = { .width = 1, .color = CLAY__DEBUGVIEW_COLOR_3 }} + .border = { .color = CLAY__DEBUGVIEW_COLOR_3, .width = { .bottom = 1 } } }) { - CLAY({ .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT)}, .padding = {CLAY__DEBUGVIEW_OUTER_PADDING, CLAY__DEBUGVIEW_OUTER_PADDING }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER} }, .rectangle = { .color = CLAY__DEBUGVIEW_COLOR_2 } }) { + CLAY({ .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT)}, .padding = {CLAY__DEBUGVIEW_OUTER_PADDING, CLAY__DEBUGVIEW_OUTER_PADDING }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER} }, .backgroundColor = CLAY__DEBUGVIEW_COLOR_2 }) { CLAY_TEXT(CLAY_STRING("Clay Debug Tools"), infoTextConfig); CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0) } } }) {} // Close button CLAY({ .layout = { .sizing = {CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 10), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 10)}, .childAlignment = {CLAY_ALIGN_X_CENTER, CLAY_ALIGN_Y_CENTER} }, - .rectangle = { .color = {217,91,67,80} }, - .border = CLAY_BORDER_OUTSIDE({ 1, (CLAY__INIT(Clay_Color){217,91,67,255}) }), - .shared = { .cornerRadius = CLAY_CORNER_RADIUS(4) } + .backgroundColor = {217,91,67,80}, + .cornerRadius = CLAY_CORNER_RADIUS(4), + .border = { .color = { 217,91,67,255 }, .width = { 1, 1, 1, 1 } }, }) { Clay_OnHover(HandleDebugViewCloseButtonInteraction, 0); CLAY_TEXT(CLAY_STRING("x"), CLAY_TEXT_CONFIG({ .textColor = CLAY__DEBUGVIEW_COLOR_4, .fontSize = 16 })); } } - CLAY({ .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(1)} }, .rectangle = { .color = CLAY__DEBUGVIEW_COLOR_3 } }) {} + CLAY({ .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(1)} }, .backgroundColor = CLAY__DEBUGVIEW_COLOR_3 } ) {} CLAY({ .id = scrollId, .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .scroll = { .horizontal = true, .vertical = true } }) { - CLAY({ .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)}, .layoutDirection = CLAY_TOP_TO_BOTTOM }, .rectangle = { .color = ((initialElementsLength + initialRootsLength) & 1) == 0 ? CLAY__DEBUGVIEW_COLOR_2 : CLAY__DEBUGVIEW_COLOR_1 } }) { + CLAY({ .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)}, .layoutDirection = CLAY_TOP_TO_BOTTOM }, .backgroundColor = ((initialElementsLength + initialRootsLength) & 1) == 0 ? CLAY__DEBUGVIEW_COLOR_2 : CLAY__DEBUGVIEW_COLOR_1 }) { Clay_ElementId panelContentsId = Clay__HashString(CLAY_STRING("Clay__DebugViewPaneOuter"), 0, 0); // Element list CLAY({ .id = panelContentsId, .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .floating = { .zIndex = 65001, .pointerCaptureMode = CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH } }) { @@ -2845,18 +2872,18 @@ void Clay__RenderDebugView(void) { rowColor.g *= 1.25f; rowColor.b *= 1.25f; } - CLAY({ .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT)}, .layoutDirection = CLAY_TOP_TO_BOTTOM }, .rectangle = { .color = rowColor } }) {} + CLAY({ .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT)}, .layoutDirection = CLAY_TOP_TO_BOTTOM }, .backgroundColor = rowColor } ) {} } } } - CLAY({ .layout = { .sizing = {.width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(1)} }, .rectangle = { .color = CLAY__DEBUGVIEW_COLOR_3 } }) {} + CLAY({ .layout = { .sizing = {.width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(1)} }, .backgroundColor = CLAY__DEBUGVIEW_COLOR_3 }) {} if (context->debugSelectedElementId != 0) { Clay_LayoutElementHashMapItem *selectedItem = Clay__GetHashMapItem(context->debugSelectedElementId); CLAY({ - .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(300)}, .layoutDirection = CLAY_TOP_TO_BOTTOM }, - .rectangle = { .color = CLAY__DEBUGVIEW_COLOR_2 }, + .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(300)}, .layoutDirection = CLAY_TOP_TO_BOTTOM }, + .backgroundColor = CLAY__DEBUGVIEW_COLOR_2 , .scroll = { .vertical = true }, - .border = { .betweenChildren = { .width = 1, .color = CLAY__DEBUGVIEW_COLOR_3 }} + .border = { .color = CLAY__DEBUGVIEW_COLOR_3, .width = { .betweenChildren = 1 } } }) { CLAY({ .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT + 8)}, .padding = {CLAY__DEBUGVIEW_OUTER_PADDING, CLAY__DEBUGVIEW_OUTER_PADDING}, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER} } }) { CLAY_TEXT(CLAY_STRING("Layout Config"), infoTextConfig); @@ -2950,16 +2977,6 @@ void Clay__RenderDebugView(void) { Clay__RenderDebugViewCornerRadius(sharedConfig->cornerRadius, infoTextConfig); } break; - break; - } - case CLAY__ELEMENT_CONFIG_TYPE_RECTANGLE: { - Clay_RectangleElementConfig *rectangleConfig = elementConfig->config.rectangleElementConfig; - CLAY({ .layout = { .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM }}) { - // .color - CLAY_TEXT(CLAY_STRING("Color"), infoTitleConfig); - Clay__RenderDebugViewColor(rectangleConfig->color, infoTextConfig); - } - break; } case CLAY__ELEMENT_CONFIG_TYPE_TEXT: { Clay_TextElementConfig *textConfig = elementConfig->config.textElementConfig; @@ -3055,21 +3072,18 @@ void Clay__RenderDebugView(void) { case CLAY__ELEMENT_CONFIG_TYPE_BORDER: { Clay_BorderElementConfig *borderConfig = elementConfig->config.borderElementConfig; CLAY({ .id = CLAY_ID("Clay__DebugViewElementInfoBorderBody"), .layout = { .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM } }) { - // .left - CLAY_TEXT(CLAY_STRING("Left Border"), infoTitleConfig); - Clay__RenderDebugViewBorder(1, borderConfig->left, infoTextConfig); - // .right - CLAY_TEXT(CLAY_STRING("Right Border"), infoTitleConfig); - Clay__RenderDebugViewBorder(2, borderConfig->right, infoTextConfig); - // .top - CLAY_TEXT(CLAY_STRING("Top Border"), infoTitleConfig); - Clay__RenderDebugViewBorder(3, borderConfig->top, infoTextConfig); - // .bottom - CLAY_TEXT(CLAY_STRING("Bottom Border"), infoTitleConfig); - Clay__RenderDebugViewBorder(4, borderConfig->bottom, infoTextConfig); - // .betweenChildren - CLAY_TEXT(CLAY_STRING("Border Between Children"), infoTitleConfig); - Clay__RenderDebugViewBorder(5, borderConfig->betweenChildren, infoTextConfig); + CLAY_TEXT(CLAY_STRING("Border Widths"), infoTitleConfig); + CLAY({{0}}) { + CLAY_TEXT(CLAY_STRING("{ left: "), infoTextConfig); + CLAY_TEXT(Clay__IntToString(borderConfig->width.left), infoTextConfig); + CLAY_TEXT(CLAY_STRING("{ right: "), infoTextConfig); + CLAY_TEXT(Clay__IntToString(borderConfig->width.right), infoTextConfig); + CLAY_TEXT(CLAY_STRING("{ top: "), infoTextConfig); + CLAY_TEXT(Clay__IntToString(borderConfig->width.top), infoTextConfig); + CLAY_TEXT(CLAY_STRING("{ bottom: "), infoTextConfig); + CLAY_TEXT(Clay__IntToString(borderConfig->width.bottom), infoTextConfig); + CLAY_TEXT(CLAY_STRING(" }"), infoTextConfig); + } } break; } @@ -3079,12 +3093,12 @@ void Clay__RenderDebugView(void) { } } } else { - CLAY({ .id = CLAY_ID("Clay__DebugViewWarningsScrollPane"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(300)}, .childGap = 6, .layoutDirection = CLAY_TOP_TO_BOTTOM }, .rectangle = { .color = CLAY__DEBUGVIEW_COLOR_2 }, .scroll = { .horizontal = true, .vertical = true } }) { + CLAY({ .id = CLAY_ID("Clay__DebugViewWarningsScrollPane"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(300)}, .childGap = 6, .layoutDirection = CLAY_TOP_TO_BOTTOM }, .backgroundColor = CLAY__DEBUGVIEW_COLOR_2, .scroll = { .horizontal = true, .vertical = true } }) { Clay_TextElementConfig *warningConfig = CLAY_TEXT_CONFIG({ .textColor = CLAY__DEBUGVIEW_COLOR_4, .fontSize = 16, .wrapMode = CLAY_TEXT_WRAP_NONE }); CLAY({ .id = CLAY_ID("Clay__DebugViewWarningItemHeader"), .layout = { .sizing = {.height = CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT)}, .padding = {CLAY__DEBUGVIEW_OUTER_PADDING, CLAY__DEBUGVIEW_OUTER_PADDING}, .childGap = 8, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER} } }) { CLAY_TEXT(CLAY_STRING("Warnings"), warningConfig); } - CLAY({ .id = CLAY_ID("Clay__DebugViewWarningsTopBorder"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(1)} }, .rectangle = { .color = {200, 200, 200, 255} } }) {} + CLAY({ .id = CLAY_ID("Clay__DebugViewWarningsTopBorder"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(1)} }, .backgroundColor = {200, 200, 200, 255} }) {} int32_t previousWarningsLength = context->warnings.length; for (int32_t i = 0; i < previousWarningsLength; i++) { Clay__Warning warning = context->warnings.internalArray[i]; @@ -3314,13 +3328,13 @@ void Clay__CreateGarbagePaddingStruct(Clay_Context* context) { Clay__CalculateDeclarationPaddingMask(CLAY__INIT(Clay_ElementDeclaration) { .id = { 0 }, .layout = { 0 }, - .rectangle = { 0 }, + .backgroundColor = { 0 }, + .cornerRadius = { 0 }, .image = { 0 }, .floating = { 0 }, .custom = { 0 }, .scroll = { 0 }, .border = { 0 }, - .shared = { 0 }, }, context); } @@ -3502,8 +3516,6 @@ void Clay_BeginLayout(void) { Clay__LayoutElementTreeRootArray_Add(&context->layoutElementTreeRoots, CLAY__INIT(Clay__LayoutElementTreeRoot) { .layoutElementIndex = 0 }); } -Clay_TextElementConfig Clay__DebugView_ErrorTextConfig = {.textColor = {255, 0, 0, 255}, .fontSize = 16, .wrapMode = CLAY_TEXT_WRAP_NONE }; - CLAY_WASM_EXPORT("Clay_EndLayout") Clay_RenderCommandArray Clay_EndLayout(void) { Clay_Context* context = Clay_GetCurrentContext(); @@ -3517,8 +3529,7 @@ Clay_RenderCommandArray Clay_EndLayout(void) { Clay_String message = CLAY_STRING("Clay Error: Layout elements exceeded Clay__maxElementCount"); Clay__AddRenderCommand(CLAY__INIT(Clay_RenderCommand ) { .boundingBox = { context->layoutDimensions.width / 2 - 59 * 4, context->layoutDimensions.height / 2, 0, 0 }, - .config = { .textElementConfig = &Clay__DebugView_ErrorTextConfig }, - .textOrSharedConfig = { .text = CLAY__INIT(Clay_StringSlice) { .length = message.length, .chars = message.chars, .baseChars = message.chars } }, + .renderData = { .text = { .stringContents = CLAY__INIT(Clay_StringSlice) { .length = message.length, .chars = message.chars, .baseChars = message.chars }, .textColor = {255, 0, 0, 255}, .fontSize = 16 } }, .commandType = CLAY_RENDER_COMMAND_TYPE_TEXT }); } else { diff --git a/examples/SDL2-video-demo/main.c b/examples/SDL2-video-demo/main.c index ceccb26..9fc725d 100644 --- a/examples/SDL2-video-demo/main.c +++ b/examples/SDL2-video-demo/main.c @@ -18,14 +18,6 @@ void HandleClayErrors(Clay_ErrorData errorData) { } int main(int argc, char *argv[]) { - documents.documents = (Document[]) { - { .title = CLAY_STRING("Squirrels"), .contents = CLAY_STRING("The Secret Life of Squirrels: Nature's Clever Acrobats\n""Squirrels are often overlooked creatures, dismissed as mere park inhabitants or backyard nuisances. Yet, beneath their fluffy tails and twitching noses lies an intricate world of cunning, agility, and survival tactics that are nothing short of fascinating. As one of the most common mammals in North America, squirrels have adapted to a wide range of environments from bustling urban centers to tranquil forests and have developed a variety of unique behaviors that continue to intrigue scientists and nature enthusiasts alike.\n""\n""Master Tree Climbers\n""At the heart of a squirrel's skill set is its impressive ability to navigate trees with ease. Whether they're darting from branch to branch or leaping across wide gaps, squirrels possess an innate talent for acrobatics. Their powerful hind legs, which are longer than their front legs, give them remarkable jumping power. With a tail that acts as a counterbalance, squirrels can leap distances of up to ten times the length of their body, making them some of the best aerial acrobats in the animal kingdom.\n""But it's not just their agility that makes them exceptional climbers. Squirrels' sharp, curved claws allow them to grip tree bark with precision, while the soft pads on their feet provide traction on slippery surfaces. Their ability to run at high speeds and scale vertical trunks with ease is a testament to the evolutionary adaptations that have made them so successful in their arboreal habitats.\n""\n""Food Hoarders Extraordinaire\n""Squirrels are often seen frantically gathering nuts, seeds, and even fungi in preparation for winter. While this behavior may seem like instinctual hoarding, it is actually a survival strategy that has been honed over millions of years. Known as \"scatter hoarding,\" squirrels store their food in a variety of hidden locations, often burying it deep in the soil or stashing it in hollowed-out tree trunks.\n""Interestingly, squirrels have an incredible memory for the locations of their caches. Research has shown that they can remember thousands of hiding spots, often returning to them months later when food is scarce. However, they don't always recover every stash some forgotten caches eventually sprout into new trees, contributing to forest regeneration. This unintentional role as forest gardeners highlights the ecological importance of squirrels in their ecosystems.\n""\n""The Great Squirrel Debate: Urban vs. Wild\n""While squirrels are most commonly associated with rural or wooded areas, their adaptability has allowed them to thrive in urban environments as well. In cities, squirrels have become adept at finding food sources in places like parks, streets, and even garbage cans. However, their urban counterparts face unique challenges, including traffic, predators, and the lack of natural shelters. Despite these obstacles, squirrels in urban areas are often observed using human infrastructure such as buildings, bridges, and power lines as highways for their acrobatic escapades.\n""There is, however, a growing concern regarding the impact of urban life on squirrel populations. Pollution, deforestation, and the loss of natural habitats are making it more difficult for squirrels to find adequate food and shelter. As a result, conservationists are focusing on creating squirrel-friendly spaces within cities, with the goal of ensuring these resourceful creatures continue to thrive in both rural and urban landscapes.\n""\n""A Symbol of Resilience\n""In many cultures, squirrels are symbols of resourcefulness, adaptability, and preparation. Their ability to thrive in a variety of environments while navigating challenges with agility and grace serves as a reminder of the resilience inherent in nature. Whether you encounter them in a quiet forest, a city park, or your own backyard, squirrels are creatures that never fail to amaze with their endless energy and ingenuity.\n""In the end, squirrels may be small, but they are mighty in their ability to survive and thrive in a world that is constantly changing. So next time you spot one hopping across a branch or darting across your lawn, take a moment to appreciate the remarkable acrobat at work a true marvel of the natural world.\n") }, - { .title = CLAY_STRING("Lorem Ipsum"), .contents = CLAY_STRING("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.") }, - { .title = CLAY_STRING("Vacuum Instructions"), .contents = CLAY_STRING("Chapter 3: Getting Started - Unpacking and Setup\n""\n""Congratulations on your new SuperClean Pro 5000 vacuum cleaner! In this section, we will guide you through the simple steps to get your vacuum up and running. Before you begin, please ensure that you have all the components listed in the \"Package Contents\" section on page 2.\n""\n""1. Unboxing Your Vacuum\n""Carefully remove the vacuum cleaner from the box. Avoid using sharp objects that could damage the product. Once removed, place the unit on a flat, stable surface to proceed with the setup. Inside the box, you should find:\n""\n"" The main vacuum unit\n"" A telescoping extension wand\n"" A set of specialized cleaning tools (crevice tool, upholstery brush, etc.)\n"" A reusable dust bag (if applicable)\n"" A power cord with a 3-prong plug\n"" A set of quick-start instructions\n""\n""2. Assembling Your Vacuum\n""Begin by attaching the extension wand to the main body of the vacuum cleaner. Line up the connectors and twist the wand into place until you hear a click. Next, select the desired cleaning tool and firmly attach it to the wand's end, ensuring it is securely locked in.\n""\n""For models that require a dust bag, slide the bag into the compartment at the back of the vacuum, making sure it is properly aligned with the internal mechanism. If your vacuum uses a bagless system, ensure the dust container is correctly seated and locked in place before use.\n""\n""3. Powering On\n""To start the vacuum, plug the power cord into a grounded electrical outlet. Once plugged in, locate the power switch, usually positioned on the side of the handle or body of the unit, depending on your model. Press the switch to the \"On\" position, and you should hear the motor begin to hum. If the vacuum does not power on, check that the power cord is securely plugged in, and ensure there are no blockages in the power switch.\n""\n""Note: Before first use, ensure that the vacuum filter (if your model has one) is properly installed. If unsure, refer to \"Section 5: Maintenance\" for filter installation instructions.") }, - { .title = CLAY_STRING("Article 4"), .contents = CLAY_STRING("Article 4") }, - { .title = CLAY_STRING("Article 5"), .contents = CLAY_STRING("Article 5") }, - }; - if (SDL_Init(SDL_INIT_VIDEO) < 0) { fprintf(stderr, "Error: could not initialize SDL: %s\n", SDL_GetError()); return 1; diff --git a/examples/cairo-pdf-rendering/main.c b/examples/cairo-pdf-rendering/main.c index 6b70ce4..b2374ac 100644 --- a/examples/cairo-pdf-rendering/main.c +++ b/examples/cairo-pdf-rendering/main.c @@ -31,53 +31,64 @@ // e.g. render PNGs. #include +const uint16_t FONT_CALLISTOGA = 0; +const uint16_t FONT_QUICKSAND = 0; + // Layout the first page. void Layout() { static Clay_Color PRIMARY = { 0xa8, 0x42, 0x1c, 255 }; static Clay_Color BACKGROUND = { 0xF4, 0xEB, 0xE6, 255 }; static Clay_Color ACCENT = { 0xFA, 0xE0, 0xD4, 255 }; - CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, - .layoutDirection = CLAY_TOP_TO_BOTTOM }, - .rectangle = { .color = BACKGROUND } }) { + CLAY({ + .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, + .layoutDirection = CLAY_TOP_TO_BOTTOM }, + .backgroundColor = BACKGROUND + }) { CLAY({ .id = CLAY_ID("PageMargins"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .padding = { 70, 70, 50, 50 }, // Some nice looking page margins .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 10} }) { // Section Title - CLAY_TEXT(CLAY_STRING("Features Overview"), CLAY_TEXT_CONFIG({.fontFamily = CLAY_STRING("Calistoga"), .textColor = PRIMARY, .fontSize = 24})); + CLAY_TEXT(CLAY_STRING("Features Overview"), CLAY_TEXT_CONFIG({ .fontId = FONT_CALLISTOGA, .textColor = PRIMARY, .fontSize = 24 })); // Feature Box CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(0) }, .childGap = 10 }}) { - CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(0) }}, .rectangle = { .color = ACCENT }, .shared = { .cornerRadius = CLAY_CORNER_RADIUS(12) } }) { + CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(0) }}, .backgroundColor = ACCENT, .cornerRadius = CLAY_CORNER_RADIUS(12) }) { CLAY({ .layout = {.padding = CLAY_PADDING_ALL(20), .childGap = 4, .layoutDirection = CLAY_TOP_TO_BOTTOM }}) { CLAY_TEXT(CLAY_STRING("- High performance"), - CLAY_TEXT_CONFIG({ .textColor = PRIMARY, .fontSize = 14, .fontFamily = CLAY_STRING("Quicksand SemiBold") })); + CLAY_TEXT_CONFIG({ .textColor = PRIMARY, .fontSize = 14, .fontId = FONT_QUICKSAND })); CLAY_TEXT(CLAY_STRING("- Declarative syntax"), - CLAY_TEXT_CONFIG({ .textColor = PRIMARY, .fontSize = 14, .fontFamily = CLAY_STRING("Quicksand SemiBold") })); + CLAY_TEXT_CONFIG({ .textColor = PRIMARY, .fontSize = 14, .fontId = FONT_QUICKSAND })); CLAY_TEXT(CLAY_STRING("- Flexbox-style responsive layout"), - CLAY_TEXT_CONFIG({ .textColor = PRIMARY, .fontSize = 14, .fontFamily = CLAY_STRING("Quicksand SemiBold") })); + CLAY_TEXT_CONFIG({ .textColor = PRIMARY, .fontSize = 14, .fontId = FONT_QUICKSAND })); CLAY_TEXT(CLAY_STRING("- Single .h file for C/C++"), - CLAY_TEXT_CONFIG({ .textColor = PRIMARY, .fontSize = 14, .fontFamily = CLAY_STRING("Quicksand SemiBold") })); + CLAY_TEXT_CONFIG({ .textColor = PRIMARY, .fontSize = 14, .fontId = FONT_QUICKSAND })); CLAY_TEXT(CLAY_STRING("- And now with cairo!"), - CLAY_TEXT_CONFIG({ .textColor = PRIMARY, .fontSize = 14, .fontFamily = CLAY_STRING("Quicksand SemiBold") })); + CLAY_TEXT_CONFIG({ .textColor = PRIMARY, .fontSize = 14, .fontId = FONT_QUICKSAND })); } } - CLAY({ .layout = { - .sizing = {CLAY_SIZING_FIT(0), CLAY_SIZING_GROW(0)}, - .padding = CLAY_PADDING_ALL(10), - .layoutDirection = CLAY_TOP_TO_BOTTOM, - .childAlignment = { CLAY_ALIGN_X_CENTER, CLAY_ALIGN_Y_CENTER }, - .childGap = 4 - }, .rectangle = { .color = ACCENT }, .shared = {.cornerRadius = CLAY_CORNER_RADIUS(8)}}) { + CLAY({ + .layout = { + .sizing = {CLAY_SIZING_FIT(0), CLAY_SIZING_GROW(0)}, + .padding = CLAY_PADDING_ALL(10), + .layoutDirection = CLAY_TOP_TO_BOTTOM, + .childAlignment = { CLAY_ALIGN_X_CENTER, CLAY_ALIGN_Y_CENTER }, + .childGap = 4 + }, + .backgroundColor = ACCENT, + .cornerRadius = CLAY_CORNER_RADIUS(8) + }) { // Profile picture CLAY({ .layout = { - .sizing = {CLAY_SIZING_FIT(0), CLAY_SIZING_GROW(0)}, - .padding = { 30, 30, 0, 0 }, - .layoutDirection = CLAY_TOP_TO_BOTTOM, - .childAlignment = { CLAY_ALIGN_X_CENTER, CLAY_ALIGN_Y_CENTER }}, .border = CLAY_BORDER_OUTSIDE(2, PRIMARY), .shared = { .cornerRadius = 10 }}) { - CLAY({ .layout = { .sizing = { CLAY_SIZING_FIXED(32), CLAY_SIZING_FIXED(32) } }, .image = { .sourceDimensions = { 32, 32 }, .path = CLAY_STRING("resources/check.png") }}); + .sizing = {CLAY_SIZING_FIT(0), CLAY_SIZING_GROW(0)}, + .padding = { 30, 30, 0, 0 }, + .layoutDirection = CLAY_TOP_TO_BOTTOM, + .childAlignment = { CLAY_ALIGN_X_CENTER, CLAY_ALIGN_Y_CENTER }}, + .border = { .color = PRIMARY, .width = 2, 2, 2, 2 }, .cornerRadius = 10 + }) { + CLAY({ .layout = { .sizing = { CLAY_SIZING_FIXED(32), CLAY_SIZING_FIXED(32) } }, .image = { .sourceDimensions = { 32, 32 }, .imageData = "resources/check.png" }}); } } } @@ -85,13 +96,13 @@ void Layout() { CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(16) } }}); CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childGap = 10, .layoutDirection = CLAY_TOP_TO_BOTTOM }}) { - CLAY_TEXT(CLAY_STRING("Cairo"), CLAY_TEXT_CONFIG({ .fontFamily = CLAY_STRING("Calistoga"), .fontSize = 24, .textColor = PRIMARY })); - CLAY({ .layout = { .padding = CLAY_PADDING_ALL(10) }, .rectangle = { .color = ACCENT }, .shared = { .cornerRadius = 10 } }) { + CLAY_TEXT(CLAY_STRING("Cairo"), CLAY_TEXT_CONFIG({ .fontId = FONT_CALLISTOGA, .fontSize = 24, .textColor = PRIMARY })); + CLAY({ .layout = { .padding = CLAY_PADDING_ALL(10) }, .backgroundColor = ACCENT, .cornerRadius = 10 }) { CLAY_TEXT(CLAY_STRING("Officiis quia quia qui inventore ratione voluptas et. Quidem sunt unde similique. Qui est et exercitationem cumque harum illum. Numquam placeat aliquid quo voluptatem. " "Deleniti saepe nihil exercitationem nemo illo. Consequatur beatae repellat provident similique. Provident qui exercitationem deserunt sapiente. Quam qui dolor corporis odit. " "Assumenda corrupti sunt culpa pariatur. Vero sit ut minima. In est consequatur minus et cum sint illum aperiam. Qui ipsa quas nisi omnis aut quia nobis. " "Corporis deserunt eum mollitia modi rerum voluptas. Expedita non ab esse. Sit voluptates eos voluptatem labore aspernatur quia eum. Modi cumque atque non. Sunt officiis corrupti neque ut inventore excepturi rem minima. Possimus sed soluta qui ea aut ipsum laborum fugit. " - "Voluptate eum consectetur non. Quo autem voluptate soluta atque dolorum maxime. Officiis inventore omnis eveniet beatae ipsa optio. Unde voluptatum ut autem quia sit sit et. Ut inventore qui quia totam consequatur. Sit ea consequatur omnis rerum nulla aspernatur deleniti."), CLAY_TEXT_CONFIG({ .fontFamily = CLAY_STRING("Quicksand SemiBold"), .fontSize = 16, .textColor = PRIMARY, .lineHeight = 16 })); + "Voluptate eum consectetur non. Quo autem voluptate soluta atque dolorum maxime. Officiis inventore omnis eveniet beatae ipsa optio. Unde voluptatum ut autem quia sit sit et. Ut inventore qui quia totam consequatur. Sit ea consequatur omnis rerum nulla aspernatur deleniti."), CLAY_TEXT_CONFIG({ .fontId = FONT_QUICKSAND, .fontSize = 16, .textColor = PRIMARY, .lineHeight = 16 })); } } } @@ -129,7 +140,12 @@ int main(void) { // We initialize Clay with the same size Clay_Initialize(clayMemory, (Clay_Dimensions) { width, height }, (Clay_ErrorHandler) { HandleClayErrors }); - Clay_SetMeasureTextFunction(Clay_Cairo_MeasureText, 0); + char** fonts = (char*[]) { + "Callistoga", + "Quicksand Semibold" + }; + + Clay_SetMeasureTextFunction(Clay_Cairo_MeasureText, (uintptr_t)fonts); Clay_BeginLayout(); @@ -139,7 +155,7 @@ int main(void) { Clay_RenderCommandArray commands = Clay_EndLayout(); // Pass our layout to the cairo backend - Clay_Cairo_Render(commands); + Clay_Cairo_Render(commands, fonts); // To keep this example short, we will not emit a second page in the PDF. // But to do so, you have to diff --git a/examples/clay-official-website/main.c b/examples/clay-official-website/main.c index e97213f..2eaa4ca 100644 --- a/examples/clay-official-website/main.c +++ b/examples/clay-official-website/main.c @@ -1,6 +1,3 @@ -#define CLAY_EXTEND_CONFIG_RECTANGLE Clay_String link; bool cursorPointer; -#define CLAY_EXTEND_CONFIG_IMAGE Clay_String sourceURL; -#define CLAY_EXTEND_CONFIG_TEXT bool disablePointerEvents; #define CLAY_IMPLEMENTATION #include "../../clay.h" @@ -40,27 +37,46 @@ const Clay_Color COLOR_BLOB_BORDER_5 = (Clay_Color) {240, 189, 100, 255}; Clay_TextElementConfig headerTextConfig = (Clay_TextElementConfig) { .fontId = 2, .fontSize = 24, .textColor = {61, 26, 5, 255} }; Clay_TextElementConfig blobTextConfig = (Clay_TextElementConfig) { .fontId = 2, .fontSize = 30, .textColor = {244, 235, 230, 255} }; -void LandingPageBlob(int index, int fontSize, Clay_Color color, Clay_String text, Clay_String imageURL) { - CLAY({ .id = CLAY_IDI("HeroBlob", index), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 480) }, .padding = CLAY_PADDING_ALL(16), .childGap = 16, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER} }, .border = CLAY_BORDER_OUTSIDE({ 2, color }), .shared = { .cornerRadius = CLAY_CORNER_RADIUS(10) } }) { - CLAY({ .id = CLAY_IDI("CheckImage", index), .layout = { .sizing = { CLAY_SIZING_FIXED(32) } }, .image = { .sourceDimensions = { 128, 128 }, .sourceURL = imageURL } }) {} +typedef struct { + void* memory; + uintptr_t offset; +} Arena; + +Arena frameArena = {}; + +typedef struct { + Clay_String link; + bool cursorPointer; + bool disablePointerEvents; +} CustomHTMLData; + +CustomHTMLData* FrameAllocateCustomData(CustomHTMLData data) { + CustomHTMLData *customData = (CustomHTMLData *)(frameArena.memory + frameArena.offset); + frameArena.offset += sizeof(CustomHTMLData); + return customData; +} + +void LandingPageBlob(int index, int fontSize, Clay_Color color, Clay_String text, char* imageURL) { + CLAY({ .id = CLAY_IDI("HeroBlob", index), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 480) }, .padding = CLAY_PADDING_ALL(16), .childGap = 16, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER} }, .border = { .color = color, .width = { 2, 2, 2, 2 }}, .cornerRadius = CLAY_CORNER_RADIUS(10) }) { + CLAY({ .id = CLAY_IDI("CheckImage", index), .layout = { .sizing = { CLAY_SIZING_FIXED(32) } }, .image = { .sourceDimensions = { 128, 128 }, .imageData = imageURL } }) {} CLAY_TEXT(text, CLAY_TEXT_CONFIG({ .fontSize = fontSize, .fontId = FONT_ID_BODY_24, .textColor = color })); } } void LandingPageDesktop() { CLAY({ .id = CLAY_ID("LandingPage1Desktop"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIT(.min = windowHeight - 70) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = { 50, 50 } } }) { - CLAY({ .id = CLAY_ID("LandingPage1"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(32), .childGap = 32 }, .border = { .left = { 2, COLOR_RED }, .right = { 2, COLOR_RED } } }) { + CLAY({ .id = CLAY_ID("LandingPage1"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(32), .childGap = 32 }, .border = { .width = { .left = 2, .right = 2 }, .color = COLOR_RED } }) { CLAY({ .id = CLAY_ID("LeftText"), .layout = { .sizing = { .width = CLAY_SIZING_PERCENT(0.55f) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 } }) { CLAY_TEXT(CLAY_STRING("Clay is a flex-box style UI auto layout library in C, with declarative syntax and microsecond performance."), CLAY_TEXT_CONFIG({ .fontSize = 56, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_RED })); CLAY({ .id = CLAY_ID("LandingPageSpacer"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(32) } } }) {} CLAY_TEXT(CLAY_STRING("Clay is laying out this webpage right now!"), CLAY_TEXT_CONFIG({ .fontSize = 36, .fontId = FONT_ID_TITLE_36, .textColor = COLOR_ORANGE })); } CLAY({ .id = CLAY_ID("HeroImageOuter"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_PERCENT(0.45f) }, .childAlignment = { CLAY_ALIGN_X_CENTER }, .childGap = 16 } }) { - LandingPageBlob(1, 32, COLOR_BLOB_BORDER_5, CLAY_STRING("High performance"), CLAY_STRING("/clay/images/check_5.png")); - LandingPageBlob(2, 32, COLOR_BLOB_BORDER_4, CLAY_STRING("Flexbox-style responsive layout"), CLAY_STRING("/clay/images/check_4.png")); - LandingPageBlob(3, 32, COLOR_BLOB_BORDER_3, CLAY_STRING("Declarative syntax"), CLAY_STRING("/clay/images/check_3.png")); - LandingPageBlob(4, 32, COLOR_BLOB_BORDER_2, CLAY_STRING("Single .h file for C/C++"), CLAY_STRING("/clay/images/check_2.png")); - LandingPageBlob(5, 32, COLOR_BLOB_BORDER_1, CLAY_STRING("Compile to 15kb .wasm"), CLAY_STRING("/clay/images/check_1.png")); + LandingPageBlob(1, 32, COLOR_BLOB_BORDER_5, CLAY_STRING("High performance"), "/clay/images/check_5.png"); + LandingPageBlob(2, 32, COLOR_BLOB_BORDER_4, CLAY_STRING("Flexbox-style responsive layout"), "/clay/images/check_4.png"); + LandingPageBlob(3, 32, COLOR_BLOB_BORDER_3, CLAY_STRING("Declarative syntax"), "/clay/images/check_3.png"); + LandingPageBlob(4, 32, COLOR_BLOB_BORDER_2, CLAY_STRING("Single .h file for C/C++"), "/clay/images/check_2.png"); + LandingPageBlob(5, 32, COLOR_BLOB_BORDER_1, CLAY_STRING("Compile to 15kb .wasm"), "/clay/images/check_1.png"); } } } @@ -74,21 +90,21 @@ void LandingPageMobile() { CLAY_TEXT(CLAY_STRING("Clay is laying out this webpage right now!"), CLAY_TEXT_CONFIG({ .fontSize = 32, .fontId = FONT_ID_TITLE_36, .textColor = COLOR_ORANGE })); } CLAY({ .id = CLAY_ID("HeroImageOuter"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_GROW(0) }, .childAlignment = { CLAY_ALIGN_X_CENTER }, .childGap = 16 } }) { - LandingPageBlob(1, 28, COLOR_BLOB_BORDER_5, CLAY_STRING("High performance"), CLAY_STRING("/clay/images/check_5.png")); - LandingPageBlob(2, 28, COLOR_BLOB_BORDER_4, CLAY_STRING("Flexbox-style responsive layout"), CLAY_STRING("/clay/images/check_4.png")); - LandingPageBlob(3, 28, COLOR_BLOB_BORDER_3, CLAY_STRING("Declarative syntax"), CLAY_STRING("/clay/images/check_3.png")); - LandingPageBlob(4, 28, COLOR_BLOB_BORDER_2, CLAY_STRING("Single .h file for C/C++"), CLAY_STRING("/clay/images/check_2.png")); - LandingPageBlob(5, 28, COLOR_BLOB_BORDER_1, CLAY_STRING("Compile to 15kb .wasm"), CLAY_STRING("/clay/images/check_1.png")); + LandingPageBlob(1, 28, COLOR_BLOB_BORDER_5, CLAY_STRING("High performance"), "/clay/images/check_5.png"); + LandingPageBlob(2, 28, COLOR_BLOB_BORDER_4, CLAY_STRING("Flexbox-style responsive layout"), "/clay/images/check_4.png"); + LandingPageBlob(3, 28, COLOR_BLOB_BORDER_3, CLAY_STRING("Declarative syntax"), "/clay/images/check_3.png"); + LandingPageBlob(4, 28, COLOR_BLOB_BORDER_2, CLAY_STRING("Single .h file for C/C++"), "/clay/images/check_2.png"); + LandingPageBlob(5, 28, COLOR_BLOB_BORDER_1, CLAY_STRING("Compile to 15kb .wasm"), "/clay/images/check_1.png"); } } } void FeatureBlocksDesktop() { CLAY({ .id = CLAY_ID("FeatureBlocksOuter"), .layout = { .sizing = { CLAY_SIZING_GROW(0) } } }) { - CLAY({ .id = CLAY_ID("FeatureBlocksInner"), .layout = { .sizing = { CLAY_SIZING_GROW(0) }, .childAlignment = { .y = CLAY_ALIGN_Y_CENTER } }, .border = { .betweenChildren = { .width = 2, .color = COLOR_RED } }}) { + CLAY({ .id = CLAY_ID("FeatureBlocksInner"), .layout = { .sizing = { CLAY_SIZING_GROW(0) }, .childAlignment = { .y = CLAY_ALIGN_Y_CENTER } }, .border = { .width = { .betweenChildren = 2 }, .color = COLOR_RED } }) { Clay_TextElementConfig *textConfig = CLAY_TEXT_CONFIG({ .fontSize = 24, .fontId = FONT_ID_BODY_24, .textColor = COLOR_RED }); CLAY({ .id = CLAY_ID("HFileBoxOuter"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_PERCENT(0.5f) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = {50, 50, 32, 32}, .childGap = 8 } }) { - CLAY({ .id = CLAY_ID("HFileIncludeOuter"), .layout = { .padding = {8, 4} }, .rectangle = { .color = COLOR_RED }, .shared = { .cornerRadius = CLAY_CORNER_RADIUS(8) } }) { + CLAY({ .id = CLAY_ID("HFileIncludeOuter"), .layout = { .padding = {8, 4} }, .backgroundColor = COLOR_RED, .cornerRadius = CLAY_CORNER_RADIUS(8) }) { CLAY_TEXT(CLAY_STRING("#include clay.h"), CLAY_TEXT_CONFIG({ .fontSize = 24, .fontId = FONT_ID_BODY_24, .textColor = COLOR_LIGHT })); } CLAY_TEXT(CLAY_STRING("~2000 lines of C99."), textConfig); @@ -104,10 +120,10 @@ void FeatureBlocksDesktop() { } void FeatureBlocksMobile() { - CLAY({ .id = CLAY_ID("FeatureBlocksInner"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0) } }, .border = { .betweenChildren = { .width = 2, .color = COLOR_RED } } }) { + CLAY({ .id = CLAY_ID("FeatureBlocksInner"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0) } }, .border = { .width = { .betweenChildren = 2 }, .color = COLOR_RED } }) { Clay_TextElementConfig *textConfig = CLAY_TEXT_CONFIG({ .fontSize = 24, .fontId = FONT_ID_BODY_24, .textColor = COLOR_RED }); CLAY({ .id = CLAY_ID("HFileBoxOuter"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = {16, 16, 32, 32}, .childGap = 8 } }) { - CLAY({ .id = CLAY_ID("HFileIncludeOuter"), .layout = { .padding = {8, 4} }, .rectangle = { .color = COLOR_RED }, .shared = { .cornerRadius = CLAY_CORNER_RADIUS(8) } }) { + CLAY({ .id = CLAY_ID("HFileIncludeOuter"), .layout = { .padding = {8, 4} }, .backgroundColor = COLOR_RED, .cornerRadius = CLAY_CORNER_RADIUS(8) }) { CLAY_TEXT(CLAY_STRING("#include clay.h"), CLAY_TEXT_CONFIG({ .fontSize = 24, .fontId = FONT_ID_BODY_24, .textColor = COLOR_LIGHT })); } CLAY_TEXT(CLAY_STRING("~2000 lines of C99."), textConfig); @@ -123,7 +139,7 @@ void FeatureBlocksMobile() { void DeclarativeSyntaxPageDesktop() { CLAY({ .id = CLAY_ID("SyntaxPageDesktop"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = { 50, 50 } } }) { - CLAY({ .id = CLAY_ID("SyntaxPage"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = { 0, CLAY_ALIGN_Y_CENTER }, .padding = CLAY_PADDING_ALL(32), .childGap = 32 }, .border = { .left = { 2, COLOR_RED }, .right = { 2, COLOR_RED } } }) { + CLAY({ .id = CLAY_ID("SyntaxPage"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = { 0, CLAY_ALIGN_Y_CENTER }, .padding = CLAY_PADDING_ALL(32), .childGap = 32 }, .border = { .width = { .left = 2, .right = 2 }, .color = COLOR_RED }}) { CLAY({ .id = CLAY_ID("SyntaxPageLeftText"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.5) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 } }) { CLAY_TEXT(CLAY_STRING("Declarative Syntax"), CLAY_TEXT_CONFIG({ .fontSize = 52, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_RED })); CLAY({ .id = CLAY_ID("SyntaxSpacer"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 16) } } }) {} @@ -132,7 +148,7 @@ void DeclarativeSyntaxPageDesktop() { CLAY_TEXT(CLAY_STRING("Create your own library of re-usable components from UI primitives like text, images and rectangles."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_RED })); } CLAY({ .id = CLAY_ID("SyntaxPageRightImage"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.50) }, .childAlignment = {.x = CLAY_ALIGN_X_CENTER} } }) { - CLAY({ .id = CLAY_ID("SyntaxPageRightImageInner"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 568) } }, .image = { .sourceDimensions = {1136, 1194}, .sourceURL = CLAY_STRING("/clay/images/declarative.png") } }) {} + CLAY({ .id = CLAY_ID("SyntaxPageRightImageInner"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 568) } }, .image = { .sourceDimensions = {1136, 1194}, .imageData = "/clay/images/declarative.png" } }) {} } } } @@ -148,7 +164,7 @@ void DeclarativeSyntaxPageMobile() { CLAY_TEXT(CLAY_STRING("Create your own library of re-usable components from UI primitives like text, images and rectangles."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_RED })); } CLAY({ .id = CLAY_ID("SyntaxPageRightImage"), .layout = { .sizing = { CLAY_SIZING_GROW(0) }, .childAlignment = {.x = CLAY_ALIGN_X_CENTER} } }) { - CLAY({ .id = CLAY_ID("SyntaxPageRightImageInner"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 568) } }, .image = { .sourceDimensions = {1136, 1194}, .sourceURL = CLAY_STRING("/clay/images/declarative.png") } }) {} + CLAY({ .id = CLAY_ID("SyntaxPageRightImageInner"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 568) } }, .image = { .sourceDimensions = {1136, 1194}, .imageData = "/clay/images/declarative.png" } }) {} } } } @@ -165,7 +181,7 @@ Clay_Color ColorLerp(Clay_Color a, Clay_Color b, float amount) { Clay_String LOREM_IPSUM_TEXT = CLAY_STRING("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."); void HighPerformancePageDesktop(float lerpValue) { - CLAY({ .id = CLAY_ID("PerformanceOuter"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = {82, 82, 32, 32}, .childGap = 64 }, .rectangle = { .color = COLOR_RED } }) { + CLAY({ .id = CLAY_ID("PerformanceOuter"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = {82, 82, 32, 32}, .childGap = 64 }, .backgroundColor = COLOR_RED }) { CLAY({ .id = CLAY_ID("PerformanceLeftText"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.5) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 } }) { CLAY_TEXT(CLAY_STRING("High Performance"), CLAY_TEXT_CONFIG({ .fontSize = 52, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_LIGHT })); CLAY({ .id = CLAY_ID("PerformanceSpacer"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 16) }} }) {} @@ -174,11 +190,11 @@ void HighPerformancePageDesktop(float lerpValue) { CLAY_TEXT(CLAY_STRING("Simplify animations and reactive UI design by avoiding the standard performance hacks."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_LIGHT })); } CLAY({ .id = CLAY_ID("PerformanceRightImageOuter"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.50) }, .childAlignment = {CLAY_ALIGN_X_CENTER} } }) { - CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(400) } }, .border = CLAY_BORDER_ALL({ .width = 2, .color = COLOR_LIGHT }) }) { - CLAY({ .id = CLAY_ID("AnimationDemoContainerLeft"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.3f + 0.4f * lerpValue), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(32) }, .rectangle = { .color = ColorLerp(COLOR_RED, COLOR_ORANGE, lerpValue) } }) { + CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(400) } }, .border = { .width = {2, 2, 2, 2}, .color = COLOR_LIGHT } }) { + CLAY({ .id = CLAY_ID("AnimationDemoContainerLeft"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.3f + 0.4f * lerpValue), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(32) }, .backgroundColor = ColorLerp(COLOR_RED, COLOR_ORANGE, lerpValue) }) { CLAY_TEXT(LOREM_IPSUM_TEXT, CLAY_TEXT_CONFIG({ .fontSize = 24, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_LIGHT })); } - CLAY({ .id = CLAY_ID("AnimationDemoContainerRight"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(32) }, .rectangle = { .color = ColorLerp(COLOR_ORANGE, COLOR_RED, lerpValue) } }) { + CLAY({ .id = CLAY_ID("AnimationDemoContainerRight"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(32) }, .backgroundColor = ColorLerp(COLOR_ORANGE, COLOR_RED, lerpValue) }) { CLAY_TEXT(LOREM_IPSUM_TEXT, CLAY_TEXT_CONFIG({ .fontSize = 24, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_LIGHT })); } } @@ -187,7 +203,7 @@ void HighPerformancePageDesktop(float lerpValue) { } void HighPerformancePageMobile(float lerpValue) { - CLAY({ .id = CLAY_ID("PerformanceOuter"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {CLAY_ALIGN_X_CENTER, CLAY_ALIGN_Y_CENTER}, .padding = {16, 16, 32, 32}, .childGap = 32 }, .rectangle = { .color = COLOR_RED } }) { + CLAY({ .id = CLAY_ID("PerformanceOuter"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {CLAY_ALIGN_X_CENTER, CLAY_ALIGN_Y_CENTER}, .padding = {16, 16, 32, 32}, .childGap = 32 }, .backgroundColor = COLOR_RED }) { CLAY({ .id = CLAY_ID("PerformanceLeftText"), .layout = { .sizing = { CLAY_SIZING_GROW(0) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 } }) { CLAY_TEXT(CLAY_STRING("High Performance"), CLAY_TEXT_CONFIG({ .fontSize = 48, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_LIGHT })); CLAY({ .id = CLAY_ID("PerformanceSpacer"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 16) }} }) {} @@ -196,11 +212,11 @@ void HighPerformancePageMobile(float lerpValue) { CLAY_TEXT(CLAY_STRING("Simplify animations and reactive UI design by avoiding the standard performance hacks."), CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_LIGHT })); } CLAY({ .id = CLAY_ID("PerformanceRightImageOuter"), .layout = { .sizing = { CLAY_SIZING_GROW(0) }, .childAlignment = {CLAY_ALIGN_X_CENTER} } }) { - CLAY({ .id = CLAY_ID(""), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(400) } }, .border = CLAY_BORDER_ALL({ .width = 2, .color = COLOR_LIGHT }) }) { - CLAY({ .id = CLAY_ID("AnimationDemoContainerLeft"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.35f + 0.3f * lerpValue), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(16) }, .rectangle = { .color = ColorLerp(COLOR_RED, COLOR_ORANGE, lerpValue) } }) { + CLAY({ .id = CLAY_ID(""), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(400) } }, .border = { .width = { 2, 2, 2, 2 }, .color = COLOR_LIGHT }}) { + CLAY({ .id = CLAY_ID("AnimationDemoContainerLeft"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.35f + 0.3f * lerpValue), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(16) }, .backgroundColor = ColorLerp(COLOR_RED, COLOR_ORANGE, lerpValue) }) { CLAY_TEXT(LOREM_IPSUM_TEXT, CLAY_TEXT_CONFIG({ .fontSize = 24, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_LIGHT })); } - CLAY({ .id = CLAY_ID("AnimationDemoContainerRight"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(16) }, .rectangle = { .color = ColorLerp(COLOR_ORANGE, COLOR_RED, lerpValue) } }) { + CLAY({ .id = CLAY_ID("AnimationDemoContainerRight"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = {.y = CLAY_ALIGN_Y_CENTER}, .padding = CLAY_PADDING_ALL(16) }, .backgroundColor = ColorLerp(COLOR_ORANGE, COLOR_RED, lerpValue) }) { CLAY_TEXT(LOREM_IPSUM_TEXT, CLAY_TEXT_CONFIG({ .fontSize = 24, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_LIGHT })); } } @@ -219,28 +235,30 @@ void HandleRendererButtonInteraction(Clay_ElementId elementId, Clay_PointerData void RendererButtonActive(Clay_String text) { CLAY({ .layout = { .sizing = {CLAY_SIZING_FIXED(300) }, .padding = CLAY_PADDING_ALL(16) }, - .rectangle = { .color = Clay_Hovered() ? COLOR_RED_HOVER : COLOR_RED }, - .shared = { .cornerRadius = CLAY_CORNER_RADIUS(10) } + .backgroundColor = Clay_Hovered() ? COLOR_RED_HOVER : COLOR_RED, + .cornerRadius = CLAY_CORNER_RADIUS(10), + .custom = { .customData = FrameAllocateCustomData((CustomHTMLData) { .disablePointerEvents = true, .cursorPointer = true })} }) { - CLAY_TEXT(text, CLAY_TEXT_CONFIG({ .disablePointerEvents = true, .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_LIGHT })); + CLAY_TEXT(text, CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_LIGHT })); } } void RendererButtonInactive(Clay_String text, size_t rendererIndex) { CLAY({ .layout = { .sizing = {CLAY_SIZING_FIXED(300)}, .padding = CLAY_PADDING_ALL(16) }, - .border = CLAY_BORDER_OUTSIDE({ 2, COLOR_RED }), - .rectangle = { .color = Clay_Hovered() ? COLOR_LIGHT_HOVER : COLOR_LIGHT, .cursorPointer = true }, - .shared = { .cornerRadius = CLAY_CORNER_RADIUS(10) } + .border = { .width = {2, 2, 2, 2}, .color = COLOR_RED }, + .backgroundColor = Clay_Hovered() ? COLOR_LIGHT_HOVER : COLOR_LIGHT, + .cornerRadius = CLAY_CORNER_RADIUS(10), + .custom = { .customData = FrameAllocateCustomData((CustomHTMLData) { .disablePointerEvents = true, .cursorPointer = true })} }) { Clay_OnHover(HandleRendererButtonInteraction, rendererIndex); - CLAY_TEXT(text, CLAY_TEXT_CONFIG({ .disablePointerEvents = true, .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_RED })); + CLAY_TEXT(text, CLAY_TEXT_CONFIG({ .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_RED })); } } void RendererPageDesktop() { CLAY({ .id = CLAY_ID("RendererPageDesktop"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = { 50, 50 } } }) { - CLAY({ .id = CLAY_ID("RendererPage"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = { 0, CLAY_ALIGN_Y_CENTER }, .padding = CLAY_PADDING_ALL(32), .childGap = 32 }, .border = { .left = { 2, COLOR_RED }, .right = { 2, COLOR_RED } } }) { + CLAY({ .id = CLAY_ID("RendererPage"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .childAlignment = { 0, CLAY_ALIGN_Y_CENTER }, .padding = CLAY_PADDING_ALL(32), .childGap = 32 }, .border = { .width = { .left = 2, .right = 2 }, .color = COLOR_RED } }) { CLAY({ .id = CLAY_ID("RendererLeftText"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.5) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 } }) { CLAY_TEXT(CLAY_STRING("Renderer & Platform Agnostic"), CLAY_TEXT_CONFIG({ .fontSize = 52, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_RED })); CLAY({ .id = CLAY_ID("RendererSpacerLeft"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 16) }} }) {} @@ -264,7 +282,7 @@ void RendererPageDesktop() { } void RendererPageMobile() { - CLAY({ .id = CLAY_ID("RendererMobile"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {.x = CLAY_ALIGN_X_CENTER, .y = CLAY_ALIGN_Y_CENTER}, .padding = { 16, 16, 32, 32}, .childGap = 32 }, .rectangle = { .color = COLOR_LIGHT } }) { + CLAY({ .id = CLAY_ID("RendererMobile"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {.x = CLAY_ALIGN_X_CENTER, .y = CLAY_ALIGN_Y_CENTER}, .padding = { 16, 16, 32, 32}, .childGap = 32 }, .backgroundColor = COLOR_LIGHT }) { CLAY({ .id = CLAY_ID("RendererLeftText"), .layout = { .sizing = { CLAY_SIZING_GROW(0) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 } }) { CLAY_TEXT(CLAY_STRING("Renderer & Platform Agnostic"), CLAY_TEXT_CONFIG({ .fontSize = 48, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_RED })); CLAY({ .id = CLAY_ID("RendererSpacerLeft"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 16) }} }) {} @@ -287,7 +305,7 @@ void RendererPageMobile() { } void DebuggerPageDesktop() { - CLAY({ .id = CLAY_ID("DebuggerDesktop"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = { 82, 82, 32, 32 }, .childGap = 64 }, .rectangle = { .color = COLOR_RED } }) { + CLAY({ .id = CLAY_ID("DebuggerDesktop"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(.min = windowHeight - 50) }, .childAlignment = {0, CLAY_ALIGN_Y_CENTER}, .padding = { 82, 82, 32, 32 }, .childGap = 64 }, .backgroundColor = COLOR_RED }) { CLAY({ .id = CLAY_ID("DebuggerLeftText"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.5) }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 8 } }) { CLAY_TEXT(CLAY_STRING("Integrated Debug Tools"), CLAY_TEXT_CONFIG({ .fontSize = 52, .fontId = FONT_ID_TITLE_56, .textColor = COLOR_LIGHT })); CLAY({ .id = CLAY_ID("DebuggerSpacer"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 16) }} }) {} @@ -297,7 +315,7 @@ void DebuggerPageDesktop() { CLAY_TEXT(CLAY_STRING("Press the \"d\" key to try it out now!"), CLAY_TEXT_CONFIG({ .fontSize = 32, .fontId = FONT_ID_TITLE_36, .textColor = COLOR_ORANGE })); } CLAY({ .id = CLAY_ID("DebuggerRightImageOuter"), .layout = { .sizing = { CLAY_SIZING_PERCENT(0.50) }, .childAlignment = {CLAY_ALIGN_X_CENTER} } }) { - CLAY({ .id = CLAY_ID("DebuggerPageRightImageInner"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 558) } }, .image = { .sourceDimensions = {1620, 1474}, .sourceURL = CLAY_STRING("/clay/images/debugger.png") } }) {} + CLAY({ .id = CLAY_ID("DebuggerPageRightImageInner"), .layout = { .sizing = { CLAY_SIZING_GROW(.max = 558) } }, .image = { .sourceDimensions = {1620, 1474}, .imageData = "/clay/images/debugger.png" } }) {} } } } @@ -314,45 +332,47 @@ float animationLerpValue = -1.0f; Clay_RenderCommandArray CreateLayout(bool mobileScreen, float lerpValue) { Clay_BeginLayout(); - CLAY({ .id = CLAY_ID("OuterContainer"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) } }, .rectangle = { .color = COLOR_LIGHT } }) { + CLAY({ .id = CLAY_ID("OuterContainer"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) } }, .backgroundColor = COLOR_LIGHT }) { CLAY({ .id = CLAY_ID("Header"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(50) }, .childAlignment = { 0, CLAY_ALIGN_Y_CENTER }, .childGap = 16, .padding = { 32, 32 } } }) { CLAY_TEXT(CLAY_STRING("Clay"), &headerTextConfig); CLAY({ .id = CLAY_ID("Spacer"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0) } } }) {} if (!mobileScreen) { - CLAY({ .id = CLAY_ID("LinkExamplesOuter"), .layout = { .padding = {8, 8} }, .rectangle = { .link = CLAY_STRING("https://github.com/nicbarker/clay/tree/main/examples"), .color = {0,0,0,0} } }) { - CLAY_TEXT(CLAY_STRING("Examples"), CLAY_TEXT_CONFIG({ .disablePointerEvents = true, .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = {61, 26, 5, 255} })); + CLAY({ .id = CLAY_ID("LinkExamplesOuter"), .layout = { .padding = {8, 8} }, .custom = { .customData = FrameAllocateCustomData((CustomHTMLData) { .link = CLAY_STRING("https://github.com/nicbarker/clay/tree/main/examples") }) } }) { + CLAY_TEXT(CLAY_STRING("Examples"), CLAY_TEXT_CONFIG({ .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = {61, 26, 5, 255} })); } - CLAY({ .id = CLAY_ID("LinkDocsOuter"), .layout = { .padding = {8, 8} }, .rectangle = { .link = CLAY_STRING("https://github.com/nicbarker/clay/blob/main/README.md"), .color = {0,0,0,0} } }) { - CLAY_TEXT(CLAY_STRING("Docs"), CLAY_TEXT_CONFIG({ .disablePointerEvents = true, .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = {61, 26, 5, 255} })); + CLAY({ .id = CLAY_ID("LinkDocsOuter"), .layout = { .padding = {8, 8} }, .custom = { .customData = FrameAllocateCustomData((CustomHTMLData) { .link = CLAY_STRING("https://github.com/nicbarker/clay/blob/main/README.md") }) } }) { + CLAY_TEXT(CLAY_STRING("Docs"), CLAY_TEXT_CONFIG({ .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = {61, 26, 5, 255} })); } } CLAY({ .layout = { .padding = {16, 16, 6, 6} }, - .rectangle = {.link = CLAY_STRING("https://discord.gg/b4FTWkxdvT"), .color = Clay_Hovered() ? COLOR_LIGHT_HOVER : COLOR_LIGHT}, - .border = CLAY_BORDER_OUTSIDE({ 2, COLOR_RED }), - .shared = { .cornerRadius = CLAY_CORNER_RADIUS(10) } + .backgroundColor = Clay_Hovered() ? COLOR_LIGHT_HOVER : COLOR_LIGHT, + .border = { .width = {2, 2, 2, 2}, .color = COLOR_RED }, + .cornerRadius = CLAY_CORNER_RADIUS(10), + .custom = { .customData = FrameAllocateCustomData((CustomHTMLData) { .link = CLAY_STRING("https://github.com/nicbarker/clay/tree/main/examples") }) }, }) { - CLAY_TEXT(CLAY_STRING("Discord"), CLAY_TEXT_CONFIG({ .disablePointerEvents = true, .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = {61, 26, 5, 255} })); + CLAY_TEXT(CLAY_STRING("Discord"), CLAY_TEXT_CONFIG({ .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = {61, 26, 5, 255} })); } CLAY({ .layout = { .padding = {16, 16, 6, 6} }, - .rectangle = { .link = CLAY_STRING("https://github.com/nicbarker/clay"), .color = Clay_Hovered() ? COLOR_LIGHT_HOVER : COLOR_LIGHT }, - .border = CLAY_BORDER_OUTSIDE({ 2, COLOR_RED }), - .shared = { .cornerRadius = CLAY_CORNER_RADIUS(10) } + .backgroundColor = Clay_Hovered() ? COLOR_LIGHT_HOVER : COLOR_LIGHT, + .border = { .width = {2, 2, 2, 2}, .color = COLOR_RED }, + .cornerRadius = CLAY_CORNER_RADIUS(10), + .custom = { .customData = FrameAllocateCustomData((CustomHTMLData) { .link = CLAY_STRING("https://github.com/nicbarker/clay") }) }, }) { - CLAY_TEXT(CLAY_STRING("Github"), CLAY_TEXT_CONFIG({ .disablePointerEvents = true, .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = {61, 26, 5, 255} })); + CLAY_TEXT(CLAY_STRING("Github"), CLAY_TEXT_CONFIG({ .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = {61, 26, 5, 255} })); } } Clay_LayoutConfig topBorderConfig = (Clay_LayoutConfig) { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(4) }}; - CLAY({ .id = CLAY_ID("TopBorder1"), .layout = topBorderConfig, .rectangle = { .color = COLOR_TOP_BORDER_5 } }) {} - CLAY({ .id = CLAY_ID("TopBorder2"), .layout = topBorderConfig, .rectangle = { .color = COLOR_TOP_BORDER_4 } }) {} - CLAY({ .id = CLAY_ID("TopBorder3"), .layout = topBorderConfig, .rectangle = { .color = COLOR_TOP_BORDER_3 } }) {} - CLAY({ .id = CLAY_ID("TopBorder4"), .layout = topBorderConfig, .rectangle = { .color = COLOR_TOP_BORDER_2 } }) {} - CLAY({ .id = CLAY_ID("TopBorder5"), .layout = topBorderConfig, .rectangle = { .color = COLOR_TOP_BORDER_1 } }) {} + CLAY({ .id = CLAY_ID("TopBorder1"), .layout = topBorderConfig, .backgroundColor = COLOR_TOP_BORDER_5 }) {} + CLAY({ .id = CLAY_ID("TopBorder2"), .layout = topBorderConfig, .backgroundColor = COLOR_TOP_BORDER_4 }) {} + CLAY({ .id = CLAY_ID("TopBorder3"), .layout = topBorderConfig, .backgroundColor = COLOR_TOP_BORDER_3 }) {} + CLAY({ .id = CLAY_ID("TopBorder4"), .layout = topBorderConfig, .backgroundColor = COLOR_TOP_BORDER_2 }) {} + CLAY({ .id = CLAY_ID("TopBorder5"), .layout = topBorderConfig, .backgroundColor = COLOR_TOP_BORDER_1 }) {} CLAY({ .id = CLAY_ID("OuterScrollContainer"), .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, .layoutDirection = CLAY_TOP_TO_BOTTOM }, .scroll = { .vertical = true }, - .border = { .betweenChildren = { 2, COLOR_RED } } + .border = { .width = { .betweenChildren = 2 }, .color = COLOR_RED } }) { if (mobileScreen) { LandingPageMobile(); @@ -380,11 +400,12 @@ Clay_RenderCommandArray CreateLayout(bool mobileScreen, float lerpValue) { scrollbarColor = (Clay_Color){225, 138, 50, 160}; } float scrollHeight = scrollData.scrollContainerDimensions.height - 12; - CLAY({ .id = CLAY_ID("ScrollBar"), + CLAY({ + .id = CLAY_ID("ScrollBar"), .floating = { .offset = { .x = -6, .y = -(scrollData.scrollPosition->y / scrollData.contentDimensions.height) * scrollHeight + 6}, .zIndex = 1, .parentId = Clay_GetElementId(CLAY_STRING("OuterScrollContainer")).id, .attachment = {.element = CLAY_ATTACH_POINT_RIGHT_TOP, .parent = CLAY_ATTACH_POINT_RIGHT_TOP }}, .layout = { .sizing = {CLAY_SIZING_FIXED(10), CLAY_SIZING_FIXED((scrollHeight / scrollData.contentDimensions.height) * scrollHeight)} }, - .rectangle = { .color = scrollbarColor }, - .shared = { .cornerRadius = CLAY_CORNER_RADIUS(5) } + .backgroundColor = scrollbarColor, + .cornerRadius = CLAY_CORNER_RADIUS(5) }) {} } return Clay_EndLayout(); diff --git a/examples/cpp-project-example/main.cpp b/examples/cpp-project-example/main.cpp index 0d52406..0075a32 100644 --- a/examples/cpp-project-example/main.cpp +++ b/examples/cpp-project-example/main.cpp @@ -13,7 +13,7 @@ int main(void) { Clay_Arena clayMemory = Clay_CreateArenaWithCapacityAndMemory(totalMemorySize, (char *)malloc(totalMemorySize)); Clay_Initialize(clayMemory, Clay_Dimensions {1024,768}, Clay_ErrorHandler { HandleClayErrors }); Clay_BeginLayout(); - CLAY({ .layout = layoutElement, .rectangle = { .color = {255,255,255,0} } }) { + CLAY({ .layout = layoutElement, .backgroundColor = {255,255,255,0} }) { CLAY_TEXT(CLAY_STRING(""), CLAY_TEXT_CONFIG({ .fontId = 0 })); } Clay_EndLayout(); diff --git a/examples/raylib-sidebar-scrolling-container/main.c b/examples/raylib-sidebar-scrolling-container/main.c index c81e07c..d2b3775 100644 --- a/examples/raylib-sidebar-scrolling-container/main.c +++ b/examples/raylib-sidebar-scrolling-container/main.c @@ -4,8 +4,8 @@ const uint32_t FONT_ID_BODY_24 = 0; const uint32_t FONT_ID_BODY_16 = 1; -#define COLOR_ORANGE {225, 138, 50, 255} -#define COLOR_BLUE {111, 173, 162, 255} +#define COLOR_ORANGE (Clay_Color) {225, 138, 50, 255} +#define COLOR_BLUE (Clay_Color) {111, 173, 162, 255} Texture2D profilePicture; #define RAYLIB_VECTOR2_TO_CLAY_VECTOR2(vector) (Clay_Vector2) { .x = vector.x, .y = vector.y } @@ -19,62 +19,60 @@ void HandleHeaderButtonInteraction(Clay_ElementId elementId, Clay_PointerData po } } -Clay_ElementDeclaration headerButtonStyle = { - .layout = {.padding = {16, 16, 8, 8}}, - .rectangle = { .color = COLOR_BLUE } -}; +Clay_ElementDeclaration HeaderButtonStyle(bool hovered) { + return (Clay_ElementDeclaration) { + .layout = {.padding = {16, 16, 8, 8}}, + .backgroundColor = hovered ? COLOR_ORANGE : COLOR_BLUE, + }; +} // Examples of re-usable "Components" void RenderHeaderButton(Clay_String text) { - CLAY(headerButtonStyle) { - if (Clay_Hovered()) { - Clay_CurrentConfigRectangle()->color = (Clay_Color) COLOR_ORANGE; - } + CLAY(HeaderButtonStyle(Clay_Hovered())) { CLAY_TEXT(text, CLAY_TEXT_CONFIG(headerTextConfig)); } } Clay_LayoutConfig dropdownTextItemLayout = { .padding = {8, 8, 4, 4} }; -Clay_RectangleElementConfig dropdownRectangleConfig = { .color = {180, 180, 180, 255} }; Clay_TextElementConfig dropdownTextElementConfig = { .fontSize = 24, .textColor = {255,255,255,255} }; void RenderDropdownTextItem(int index) { - CLAY({ .id = CLAY_IDI("ScrollContainerItem", index), .layout = dropdownTextItemLayout, .rectangle = dropdownRectangleConfig }) { + CLAY({ .id = CLAY_IDI("ScrollContainerItem", index), .layout = dropdownTextItemLayout, .backgroundColor = {180, 180, 180, 255} }) { CLAY_TEXT(CLAY_STRING("I'm a text field in a scroll container."), &dropdownTextElementConfig); } } Clay_RenderCommandArray CreateLayout(void) { Clay_BeginLayout(); - CLAY({ .id = CLAY_ID("OuterContainer"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_GROW(0) }, .padding = { 16, 16, 16, 16 }, .childGap = 16 }, .rectangle = { .color = {200, 200, 200, 255} }}) { - CLAY({ .id = CLAY_ID("SideBar"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_GROW(0) }, .padding = {16, 16, 16, 16 }, .childGap = 16 }, .rectangle = { .color = {150, 150, 255, 255} }}) { - CLAY({ .id = CLAY_ID("ProfilePictureOuter"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0) }, .padding = { 8, 8, 8, 8 }, .childGap = 8, .childAlignment = { .y = CLAY_ALIGN_Y_CENTER } }, .rectangle = { .color = {130, 130, 255, 255} }}) { + CLAY({ .id = CLAY_ID("OuterContainer"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_GROW(0) }, .padding = { 16, 16, 16, 16 }, .childGap = 16 }, .backgroundColor = {200, 200, 200, 255} }) { + CLAY({ .id = CLAY_ID("SideBar"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_GROW(0) }, .padding = {16, 16, 16, 16 }, .childGap = 16 }, .backgroundColor = {150, 150, 255, 255} }) { + CLAY({ .id = CLAY_ID("ProfilePictureOuter"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0) }, .padding = { 8, 8, 8, 8 }, .childGap = 8, .childAlignment = { .y = CLAY_ALIGN_Y_CENTER } }, .backgroundColor = {130, 130, 255, 255} }) { CLAY({ .id = CLAY_ID("ProfilePicture"), .layout = { .sizing = { .width = CLAY_SIZING_FIXED(60), .height = CLAY_SIZING_FIXED(60) } }, .image = { .imageData = &profilePicture, .sourceDimensions = {60, 60} }}) {} CLAY_TEXT(profileText, CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {0, 0, 0, 255} })); } - CLAY({ .id = CLAY_ID("SidebarBlob1"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(50) }}, .rectangle = { .color = {110, 110, 255, 255} }}) {} - CLAY({ .id = CLAY_ID("SidebarBlob2"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(50) }}, .rectangle = { .color = {110, 110, 255, 255} }}) {} - CLAY({ .id = CLAY_ID("SidebarBlob3"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(50) }}, .rectangle = { .color = {110, 110, 255, 255} }}) {} - CLAY({ .id = CLAY_ID("SidebarBlob4"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(50) }}, .rectangle = { .color = {110, 110, 255, 255} }}) {} + CLAY({ .id = CLAY_ID("SidebarBlob1"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(50) }}, .backgroundColor = {110, 110, 255, 255} }) {} + CLAY({ .id = CLAY_ID("SidebarBlob2"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(50) }}, .backgroundColor = {110, 110, 255, 255} }) {} + CLAY({ .id = CLAY_ID("SidebarBlob3"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(50) }}, .backgroundColor = {110, 110, 255, 255} }) {} + CLAY({ .id = CLAY_ID("SidebarBlob4"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(50) }}, .backgroundColor = {110, 110, 255, 255} }) {} } CLAY({ .id = CLAY_ID("RightPanel"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_GROW(0) }, .childGap = 16 }}) { - CLAY({ .id = CLAY_ID("HeaderBar"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0) }, .childAlignment = { .x = CLAY_ALIGN_X_RIGHT }, .padding = {8, 8, 8, 8 }, .childGap = 8 }, .rectangle = { .color = {180, 180, 180, 255} }}) { + CLAY({ .id = CLAY_ID("HeaderBar"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0) }, .childAlignment = { .x = CLAY_ALIGN_X_RIGHT }, .padding = {8, 8, 8, 8 }, .childGap = 8 }, .backgroundColor = {180, 180, 180, 255} }) { RenderHeaderButton(CLAY_STRING("Header Item 1")); RenderHeaderButton(CLAY_STRING("Header Item 2")); RenderHeaderButton(CLAY_STRING("Header Item 3")); } CLAY({.id = CLAY_ID("MainContent"), - .scroll = { .vertical = true }, .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .padding = {16, 16, 16, 16}, .childGap = 16, .sizing = { CLAY_SIZING_GROW(0) } }, - .rectangle = { .color = {200, 200, 255, 255} } + .backgroundColor = {200, 200, 255, 255}, + .scroll = { .vertical = true }, }) { CLAY({ .id = CLAY_ID("FloatingContainer"), .layout = { .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_FIXED(300) }, .padding = { 16, 16, 16, 16 }}, + .backgroundColor = { 140, 80, 200, 200 }, .floating = { .zIndex = 1, .attachment = { CLAY_ATTACH_POINT_CENTER_TOP, CLAY_ATTACH_POINT_CENTER_TOP }, .offset = {0, 0} }, - .border = CLAY_BORDER_OUTSIDE({ .color = {80, 80, 80, 255}, .width = 2 }), - .rectangle = { .color = {140,80, 200, 200 }} + .border = { .width = CLAY_BORDER_OUTSIDE(2), .color = {80, 80, 80, 255} }, }) { CLAY_TEXT(CLAY_STRING("I'm an inline floating container."), CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {255,255,255,255} })); } @@ -82,7 +80,7 @@ Clay_RenderCommandArray CreateLayout(void) { CLAY_TEXT(CLAY_STRING("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt."), CLAY_TEXT_CONFIG({ .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = {0,0,0,255} })); - CLAY({ .id = CLAY_ID("Photos2"), .layout = { .childGap = 16, .padding = { 16, 16, 16, 16 }}, .rectangle = { .color = {180, 180, 220, 255} }}) { + CLAY({ .id = CLAY_ID("Photos2"), .layout = { .childGap = 16, .padding = { 16, 16, 16, 16 }}, .backgroundColor = {180, 180, 220, 255} }) { CLAY({ .id = CLAY_ID("Picture4"), .layout = { .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }}, .image = { .imageData = &profilePicture, .sourceDimensions = {120, 120} }}) {} CLAY({ .id = CLAY_ID("Picture5"), .layout = { .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }}, .image = { .imageData = &profilePicture, .sourceDimensions = {120, 120} }}) {} CLAY({ .id = CLAY_ID("Picture6"), .layout = { .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }}, .image = { .imageData = &profilePicture, .sourceDimensions = {120, 120} }}) {} @@ -94,9 +92,9 @@ Clay_RenderCommandArray CreateLayout(void) { CLAY_TEXT(CLAY_STRING("Suspendisse in est ante in nibh. Amet venenatis urna cursus eget nunc scelerisque viverra. Elementum sagittis vitae et leo duis ut diam quam nulla. Enim nulla aliquet porttitor lacus. Pellentesque habitant morbi tristique senectus et. Facilisi nullam vehicula ipsum a arcu cursus vitae.\nSem fringilla ut morbi tincidunt. Euismod quis viverra nibh cras pulvinar mattis nunc sed. Velit sed ullamcorper morbi tincidunt ornare massa. Varius quam quisque id diam vel quam. Nulla pellentesque dignissim enim sit amet venenatis. Enim lobortis scelerisque fermentum dui faucibus in. Pretium viverra suspendisse potenti nullam ac tortor vitae. Lectus vestibulum mattis ullamcorper velit sed. Eget mauris pharetra et ultrices neque ornare aenean euismod elementum. Habitant morbi tristique senectus et. Integer vitae justo eget magna fermentum iaculis eu. Semper quis lectus nulla at volutpat diam. Enim praesent elementum facilisis leo. Massa vitae tortor condimentum lacinia quis vel."), CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {0,0,0,255} })); - CLAY({ .id = CLAY_ID("Photos"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0) }, .childAlignment = { .x = CLAY_ALIGN_X_CENTER, .y = CLAY_ALIGN_Y_CENTER }, .childGap = 16, .padding = {16, 16, 16, 16} }, .rectangle = { .color = {180, 180, 220, 255} }}) { + CLAY({ .id = CLAY_ID("Photos"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0) }, .childAlignment = { .x = CLAY_ALIGN_X_CENTER, .y = CLAY_ALIGN_Y_CENTER }, .childGap = 16, .padding = {16, 16, 16, 16} }, .backgroundColor = {180, 180, 220, 255} }) { CLAY({ .id = CLAY_ID("Picture2"), .layout = { .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }}, .image = { .imageData = &profilePicture, .sourceDimensions = {120, 120} }}) {} - CLAY({ .id = CLAY_ID("Picture1"), .layout = { .childAlignment = { .x = CLAY_ALIGN_X_CENTER }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .padding = {8, 8, 8, 8} }, .rectangle = { .color = {170, 170, 220, 255} }}) { + CLAY({ .id = CLAY_ID("Picture1"), .layout = { .childAlignment = { .x = CLAY_ALIGN_X_CENTER }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .padding = {8, 8, 8, 8} }, .backgroundColor = {170, 170, 220, 255} }) { CLAY({ .id = CLAY_ID("ProfilePicture2"), .layout = { .sizing = { .width = CLAY_SIZING_FIXED(60), .height = CLAY_SIZING_FIXED(60) }}, .image = { .imageData = &profilePicture, .sourceDimensions = {60, 60} }}) {} CLAY_TEXT(CLAY_STRING("Image caption below"), CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {0,0,0,255} })); } @@ -111,11 +109,11 @@ Clay_RenderCommandArray CreateLayout(void) { CLAY({ .id = CLAY_ID("Blob4Floating2"), .floating = { .zIndex = 1, .parentId = Clay_GetElementId(CLAY_STRING("SidebarBlob4")).id } }) { CLAY({ .id = CLAY_ID("ScrollContainer"), .layout = { .sizing = { .height = CLAY_SIZING_FIXED(200) }, .childGap = 2 }, .scroll = { .vertical = true } }) { CLAY({ .id = CLAY_ID("FloatingContainer2"), .floating = { .zIndex = 1 } }) { - CLAY({ .id = CLAY_ID("FloatingContainerInner"), .layout = { .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_FIXED(300) }, .padding = {16, 16, 16, 16} }, .rectangle = { .color = {140,80, 200, 200} } }) { + CLAY({ .id = CLAY_ID("FloatingContainerInner"), .layout = { .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_FIXED(300) }, .padding = {16, 16, 16, 16} }, .backgroundColor = {140,80, 200, 200} }) { CLAY_TEXT(CLAY_STRING("I'm an inline floating container."), CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {255,255,255,255} })); } } - CLAY({ .id = CLAY_ID("ScrollContainerInner"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM }, .rectangle = { .color = {160, 160, 160, 255} } }) { + CLAY({ .id = CLAY_ID("ScrollContainerInner"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM }, .backgroundColor = {160, 160, 160, 255} }) { for (int i = 0; i < 100; i++) { RenderDropdownTextItem(i); } @@ -134,8 +132,8 @@ Clay_RenderCommandArray CreateLayout(void) { }) { CLAY({ .id = CLAY_ID("ScrollBarButton"), .layout = { .sizing = {CLAY_SIZING_FIXED(12), CLAY_SIZING_FIXED((scrollData.scrollContainerDimensions.height / scrollData.contentDimensions.height) * scrollData.scrollContainerDimensions.height) }}, - .rectangle = { .color = Clay_PointerOver(Clay__HashString(CLAY_STRING("ScrollBar"), 0, 0)) ? (Clay_Color){100, 100, 140, 150} : (Clay_Color){120, 120, 160, 150} }, - .shared = { .cornerRadius = CLAY_CORNER_RADIUS(6) } + .backgroundColor = Clay_PointerOver(Clay__HashString(CLAY_STRING("ScrollBar"), 0, 0)) ? (Clay_Color){100, 100, 140, 150} : (Clay_Color){120, 120, 160, 150} , + .cornerRadius = CLAY_CORNER_RADIUS(6) }) {} } } diff --git a/examples/shared-layouts/clay-video-demo.c b/examples/shared-layouts/clay-video-demo.c index a65a8f7..a12fa0d 100644 --- a/examples/shared-layouts/clay-video-demo.c +++ b/examples/shared-layouts/clay-video-demo.c @@ -7,13 +7,11 @@ Clay_Color COLOR_WHITE = { 255, 255, 255, 255}; void RenderHeaderButton(Clay_String text) { CLAY({ .layout = { .padding = { 16, 16, 8, 8 }}, - .rectangle = { - .color = { 140, 140, 140, 255 }, - }, - .shared = { .cornerRadius = CLAY_CORNER_RADIUS(5) } + .backgroundColor = { 140, 140, 140, 255 }, + .cornerRadius = CLAY_CORNER_RADIUS(5) }) { CLAY_TEXT(text, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, + .font = FONT_ID_BODY_16, .fontSize = 16, .textColor = { 255, 255, 255, 255 } })); @@ -101,13 +99,11 @@ Clay_RenderCommandArray ClayVideoDemo_CreateLayout(ClayVideoDemo_Data *data) { .height = CLAY_SIZING_GROW(0) }; - Clay_RectangleElementConfig contentBackgroundConfig = { - .color = { 90, 90, 90, 255 }, - }; + Clay_Color contentBackgroundColor = { 90, 90, 90, 255 }; // Build UI here CLAY({ .id = CLAY_ID("OuterContainer"), - .rectangle = { .color = { 43, 41, 51, 255 } }, + .backgroundColor = {43, 41, 51, 255 }, .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = layoutExpand, @@ -117,7 +113,6 @@ Clay_RenderCommandArray ClayVideoDemo_CreateLayout(ClayVideoDemo_Data *data) { }) { // Child elements go inside braces CLAY({ .id = CLAY_ID("HeaderBar"), - .rectangle = contentBackgroundConfig, .layout = { .sizing = { .height = CLAY_SIZING_FIXED(60), @@ -129,15 +124,14 @@ Clay_RenderCommandArray ClayVideoDemo_CreateLayout(ClayVideoDemo_Data *data) { .y = CLAY_ALIGN_Y_CENTER } }, - .shared = { .cornerRadius = CLAY_CORNER_RADIUS(8) } + .backgroundColor = contentBackgroundColor, + .cornerRadius = CLAY_CORNER_RADIUS(8) }) { // Header buttons go here CLAY({ .id = CLAY_ID("FileButton"), .layout = { .padding = { 16, 16, 8, 8 }}, - .rectangle ={ - .color = { 140, 140, 140, 255 }, - }, - .shared = { .cornerRadius = CLAY_CORNER_RADIUS(5) } + .backgroundColor = {140, 140, 140, 255 }, + .cornerRadius = CLAY_CORNER_RADIUS(5) }) { CLAY_TEXT(CLAY_STRING("File"), CLAY_TEXT_CONFIG({ .fontId = FONT_ID_BODY_16, @@ -168,10 +162,8 @@ Clay_RenderCommandArray ClayVideoDemo_CreateLayout(ClayVideoDemo_Data *data) { .width = CLAY_SIZING_FIXED(200) }, }, - .rectangle ={ - .color = { 40, 40, 40, 255 }, - }, - .shared = { .cornerRadius = CLAY_CORNER_RADIUS(8) } + .backgroundColor = {40, 40, 40, 255 }, + .cornerRadius = CLAY_CORNER_RADIUS(8) }) { // Render dropdown items here RenderDropdownMenuItem(CLAY_STRING("New")); @@ -194,7 +186,7 @@ Clay_RenderCommandArray ClayVideoDemo_CreateLayout(ClayVideoDemo_Data *data) { }) { CLAY({ .id = CLAY_ID("Sidebar"), - .rectangle = contentBackgroundConfig, + .backgroundColor = contentBackgroundColor, .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .padding = CLAY_PADDING_ALL(16), @@ -215,10 +207,8 @@ Clay_RenderCommandArray ClayVideoDemo_CreateLayout(ClayVideoDemo_Data *data) { if (i == data->selectedDocumentIndex) { CLAY({ .layout = sidebarButtonLayout, - .rectangle = { - .color = { 120, 120, 120, 255 }, - }, - .shared = { .cornerRadius = CLAY_CORNER_RADIUS(8) } + .backgroundColor = {120, 120, 120, 255 }, + .cornerRadius = CLAY_CORNER_RADIUS(8) }) { CLAY_TEXT(document.title, CLAY_TEXT_CONFIG({ .fontId = FONT_ID_BODY_16, @@ -230,12 +220,8 @@ Clay_RenderCommandArray ClayVideoDemo_CreateLayout(ClayVideoDemo_Data *data) { SidebarClickData *clickData = (SidebarClickData *)(data->frameArena.memory + data->frameArena.offset); *clickData = (SidebarClickData) { .requestedDocumentIndex = i, .selectedDocumentIndex = &data->selectedDocumentIndex }; data->frameArena.offset += sizeof(SidebarClickData); - CLAY({ .layout = sidebarButtonLayout }) { + CLAY({ .layout = sidebarButtonLayout, .backgroundColor = (Clay_Color) { 120, 120, 120, Clay_Hovered() ? 120 : 0 }, .cornerRadius = CLAY_CORNER_RADIUS(8) }) { Clay_OnHover(HandleSidebarInteraction, (intptr_t)clickData); - if (Clay_Hovered()) { - Clay_CurrentConfigRectangle()->color = (Clay_Color) { 120, 120, 120, 120 }; - Clay_CurrentConfigShared()->cornerRadius = CLAY_CORNER_RADIUS(8); - } CLAY_TEXT(document.title, CLAY_TEXT_CONFIG({ .fontId = FONT_ID_BODY_16, .fontSize = 20, @@ -247,7 +233,7 @@ Clay_RenderCommandArray ClayVideoDemo_CreateLayout(ClayVideoDemo_Data *data) { } CLAY({ .id = CLAY_ID("MainContent"), - .rectangle = contentBackgroundConfig, + .backgroundColor = contentBackgroundColor, .scroll = { .vertical = true }, .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, diff --git a/renderers/SDL2/clay_renderer_SDL2.c b/renderers/SDL2/clay_renderer_SDL2.c index b91e226..e7fc0a6 100644 --- a/renderers/SDL2/clay_renderer_SDL2.c +++ b/renderers/SDL2/clay_renderer_SDL2.c @@ -44,8 +44,8 @@ static void Clay_SDL2_Render(SDL_Renderer *renderer, Clay_RenderCommandArray ren switch (renderCommand->commandType) { case CLAY_RENDER_COMMAND_TYPE_RECTANGLE: { - Clay_RectangleElementConfig *config = renderCommand->config.rectangleElementConfig; - Clay_Color color = config->color; + Clay_RectangleRenderData *config = &renderCommand->renderData.rectangle; + Clay_Color color = config->backgroundColor; SDL_SetRenderDrawColor(renderer, color.r, color.g, color.b, color.a); SDL_FRect rect = (SDL_FRect) { .x = boundingBox.x, @@ -57,10 +57,9 @@ static void Clay_SDL2_Render(SDL_Renderer *renderer, Clay_RenderCommandArray ren break; } case CLAY_RENDER_COMMAND_TYPE_TEXT: { - Clay_TextElementConfig *config = renderCommand->config.textElementConfig; - Clay_StringSlice text = renderCommand->textOrSharedConfig.text; - char *cloned = (char *)calloc(text.length + 1, 1); - memcpy(cloned, text.chars, text.length); + Clay_TextRenderData *config = &renderCommand->renderData.text; + char *cloned = (char *)calloc(config->stringContents.length + 1, 1); + memcpy(cloned, config->stringContents.chars, config->stringContents.length); TTF_Font* font = fonts[config->fontId].font; SDL_Surface *surface = TTF_RenderUTF8_Blended(font, cloned, (SDL_Color) { .r = (Uint8)config->textColor.r, @@ -98,9 +97,9 @@ static void Clay_SDL2_Render(SDL_Renderer *renderer, Clay_RenderCommandArray ren break; } case CLAY_RENDER_COMMAND_TYPE_IMAGE: { - SDL_Surface *image = (SDL_Surface *)renderCommand->config.imageElementConfig->imageData; + Clay_ImageRenderData *config = &renderCommand->renderData.image; - SDL_Texture *texture = SDL_CreateTextureFromSurface(renderer, image); + SDL_Texture *texture = SDL_CreateTextureFromSurface(renderer, config->imageData); SDL_Rect destination = (SDL_Rect){ .x = boundingBox.x, @@ -113,36 +112,35 @@ static void Clay_SDL2_Render(SDL_Renderer *renderer, Clay_RenderCommandArray ren break; } case CLAY_RENDER_COMMAND_TYPE_BORDER: { - Clay_BorderElementConfig *config = renderCommand->config.borderElementConfig; - Clay_CornerRadius cornerRadius = renderCommand->textOrSharedConfig.sharedConfig->cornerRadius; + Clay_BorderRenderData *config = &renderCommand->renderData.border; - if (config->left.width > 0) { - SDL_SetRenderDrawColor(renderer, CLAY_COLOR_TO_SDL_COLOR_ARGS(config->left.color)); - SDL_FRect rect = { boundingBox.x, boundingBox.y + cornerRadius.topLeft, config->left.width, boundingBox.height - cornerRadius.topLeft - cornerRadius.bottomLeft }; + if (config->width.left > 0) { + SDL_SetRenderDrawColor(renderer, CLAY_COLOR_TO_SDL_COLOR_ARGS(config->color)); + SDL_FRect rect = { boundingBox.x, boundingBox.y + config->cornerRadius.topLeft, config->width.left, boundingBox.height - config->cornerRadius.topLeft - config->cornerRadius.bottomLeft }; SDL_RenderFillRectF(renderer, &rect); } - if (config->right.width > 0) { - SDL_SetRenderDrawColor(renderer, CLAY_COLOR_TO_SDL_COLOR_ARGS(config->right.color)); - SDL_FRect rect = { boundingBox.x + boundingBox.width - config->right.width, boundingBox.y + cornerRadius.topRight, config->right.width, boundingBox.height - cornerRadius.topRight - cornerRadius.bottomRight }; + if (config->width.right > 0) { + SDL_SetRenderDrawColor(renderer, CLAY_COLOR_TO_SDL_COLOR_ARGS(config->color)); + SDL_FRect rect = { boundingBox.x + boundingBox.width - config->width.right, boundingBox.y + config->cornerRadius.topRight, config->width.right, boundingBox.height - config->cornerRadius.topRight - config->cornerRadius.bottomRight }; SDL_RenderFillRectF(renderer, &rect); } - if (config->right.width > 0) { - SDL_SetRenderDrawColor(renderer, CLAY_COLOR_TO_SDL_COLOR_ARGS(config->right.color)); - SDL_FRect rect = { boundingBox.x + boundingBox.width - config->right.width, boundingBox.y + cornerRadius.topRight, config->right.width, boundingBox.height - cornerRadius.topRight - cornerRadius.bottomRight }; + if (config->width.right > 0) { + SDL_SetRenderDrawColor(renderer, CLAY_COLOR_TO_SDL_COLOR_ARGS(config->color)); + SDL_FRect rect = { boundingBox.x + boundingBox.width - config->width.right, boundingBox.y + config->cornerRadius.topRight, config->width.right, boundingBox.height - config->cornerRadius.topRight - config->cornerRadius.bottomRight }; SDL_RenderFillRectF(renderer, &rect); } - if (config->top.width > 0) { - SDL_SetRenderDrawColor(renderer, CLAY_COLOR_TO_SDL_COLOR_ARGS(config->right.color)); - SDL_FRect rect = { boundingBox.x + cornerRadius.topLeft, boundingBox.y, boundingBox.width - cornerRadius.topLeft - cornerRadius.topRight, config->top.width }; + if (config->width.top > 0) { + SDL_SetRenderDrawColor(renderer, CLAY_COLOR_TO_SDL_COLOR_ARGS(config->color)); + SDL_FRect rect = { boundingBox.x + config->cornerRadius.topLeft, boundingBox.y, boundingBox.width - config->cornerRadius.topLeft - config->cornerRadius.topRight, config->width.top }; SDL_RenderFillRectF(renderer, &rect); } - if (config->bottom.width > 0) { - SDL_SetRenderDrawColor(renderer, CLAY_COLOR_TO_SDL_COLOR_ARGS(config->bottom.color)); - SDL_FRect rect = { boundingBox.x + cornerRadius.bottomLeft, boundingBox.y + boundingBox.height - config->bottom.width, boundingBox.width - cornerRadius.bottomLeft - cornerRadius.bottomRight, config->bottom.width }; + if (config->width.bottom > 0) { + SDL_SetRenderDrawColor(renderer, CLAY_COLOR_TO_SDL_COLOR_ARGS(config->color)); + SDL_FRect rect = { boundingBox.x + config->cornerRadius.bottomLeft, boundingBox.y + boundingBox.height - config->width.bottom, boundingBox.width - config->cornerRadius.bottomLeft - config->cornerRadius.bottomRight, config->width.bottom }; SDL_RenderFillRectF(renderer, &rect); } diff --git a/renderers/SDL3/clay_renderer_SDL3.c b/renderers/SDL3/clay_renderer_SDL3.c index af45d04..f8d23e8 100644 --- a/renderers/SDL3/clay_renderer_SDL3.c +++ b/renderers/SDL3/clay_renderer_SDL3.c @@ -146,24 +146,20 @@ static void SDL_RenderClayCommands(SDL_Renderer *renderer, Clay_RenderCommandArr switch (rcmd->commandType) { case CLAY_RENDER_COMMAND_TYPE_RECTANGLE: { - const Clay_RectangleElementConfig *config = rcmd->config.rectangleElementConfig; - Clay_CornerRadius cornerRadius = rcmd->textOrSharedConfig.sharedConfig->cornerRadius; - const Clay_Color color = config->color; - - SDL_SetRenderDrawColor(renderer, color.r, color.g, color.b, color.a); - if (cornerRadius.topLeft > 0) { - SDL_RenderFillRoundedRect(renderer, rect, cornerRadius.topLeft, color); + Clay_RectangleRenderData *config = &rcmd->renderData.rectangle; + SDL_SetRenderDrawColor(renderer, config->backgroundColor.r, config->backgroundColor.g, config->backgroundColor.b, config->backgroundColor.a); + if (config->cornerRadius.topLeft > 0) { + SDL_RenderFillRoundedRect(renderer, rect, config->cornerRadius.topLeft, config->backgroundColor); } else { SDL_RenderFillRect(renderer, &rect); } } break; case CLAY_RENDER_COMMAND_TYPE_TEXT: { - const Clay_TextElementConfig *config = rcmd->config.textElementConfig; - const Clay_StringSlice *text = &rcmd->textOrSharedConfig.text; + Clay_TextRenderData *config = &rcmd->renderData.text; const SDL_Color color = { config->textColor.r, config->textColor.g, config->textColor.b, config->textColor.a }; TTF_Font *font = gFonts[config->fontId]; - SDL_Surface *surface = TTF_RenderText_Blended(font, text->chars, text->length, color); + SDL_Surface *surface = TTF_RenderText_Blended(font, config->stringContents.chars, config->stringContents.length, color); SDL_Texture *texture = SDL_CreateTextureFromSurface(renderer, surface); SDL_RenderTexture(renderer, texture, NULL, &rect); @@ -171,69 +167,68 @@ static void SDL_RenderClayCommands(SDL_Renderer *renderer, Clay_RenderCommandArr SDL_DestroyTexture(texture); } break; case CLAY_RENDER_COMMAND_TYPE_BORDER: { - const Clay_BorderElementConfig *config = rcmd->config.borderElementConfig; - Clay_CornerRadius cornerRadius = rcmd->textOrSharedConfig.sharedConfig->cornerRadius; + Clay_BorderRenderData *config = &rcmd->renderData.border; const float minRadius = SDL_min(rect.w, rect.h) / 2.0f; const Clay_CornerRadius clampedRadii = { - .topLeft = SDL_min(cornerRadius.topLeft, minRadius), - .topRight = SDL_min(cornerRadius.topRight, minRadius), - .bottomLeft = SDL_min(cornerRadius.bottomLeft, minRadius), - .bottomRight = SDL_min(cornerRadius.bottomRight, minRadius) + .topLeft = SDL_min(config->cornerRadius.topLeft, minRadius), + .topRight = SDL_min(config->cornerRadius.topRight, minRadius), + .bottomLeft = SDL_min(config->cornerRadius.bottomLeft, minRadius), + .bottomRight = SDL_min(config->cornerRadius.bottomRight, minRadius) }; //edges - SDL_SetRenderDrawColor(renderer, config->left.color.r, config->left.color.g, config->left.color.b, config->left.color.a); - if (config->left.width > 0) { + SDL_SetRenderDrawColor(renderer, config->color.r, config->color.g, config->color.b, config->color.a); + if (config->width.left > 0) { const float starting_y = rect.y + clampedRadii.topLeft; const float length = rect.h - clampedRadii.topLeft - clampedRadii.bottomLeft; - SDL_FRect line = { rect.x, starting_y, config->left.width, length }; + SDL_FRect line = { rect.x, starting_y, config->width.left, length }; SDL_RenderFillRect(renderer, &line); } - if (config->right.width > 0) { - const float starting_x = rect.x + rect.w - (float)config->right.width; + if (config->width.right > 0) { + const float starting_x = rect.x + rect.w - (float)config->width.right; const float starting_y = rect.y + clampedRadii.topRight; const float length = rect.h - clampedRadii.topRight - clampedRadii.bottomRight; - SDL_FRect line = { starting_x, starting_y, config->right.width, length }; + SDL_FRect line = { starting_x, starting_y, config->width.right, length }; SDL_RenderFillRect(renderer, &line); } - if (config->top.width > 0) { + if (config->width.top > 0) { const float starting_x = rect.x + clampedRadii.topLeft; const float length = rect.w - clampedRadii.topLeft - clampedRadii.topRight; - SDL_FRect line = { starting_x, rect.y, length, config->top.width }; + SDL_FRect line = { starting_x, rect.y, length, config->width.top }; SDL_RenderFillRect(renderer, &line); } - if (config->bottom.width > 0) { + if (config->width.bottom > 0) { const float starting_x = rect.x + clampedRadii.bottomLeft; - const float starting_y = rect.y + rect.h - (float)config->bottom.width; + const float starting_y = rect.y + rect.h - (float)config->width.bottom; const float length = rect.w - clampedRadii.bottomLeft - clampedRadii.bottomRight; - SDL_FRect line = { starting_x, starting_y, length, config->bottom.width }; - SDL_SetRenderDrawColor(renderer, config->bottom.color.r, config->bottom.color.g, config->bottom.color.b, config->bottom.color.a); + SDL_FRect line = { starting_x, starting_y, length, config->width.bottom }; + SDL_SetRenderDrawColor(renderer, config->color.r, config->color.g, config->color.b, config->color.a); SDL_RenderFillRect(renderer, &line); } //corners - if (cornerRadius.topLeft > 0) { + if (config->cornerRadius.topLeft > 0) { const float centerX = rect.x + clampedRadii.topLeft -1; const float centerY = rect.y + clampedRadii.topLeft; SDL_RenderArc(renderer, (SDL_FPoint){centerX, centerY}, clampedRadii.topLeft, - 180.0f, 270.0f, config->top.width, config->top.color); + 180.0f, 270.0f, config->width.top, config->color); } - if (cornerRadius.topRight > 0) { + if (config->cornerRadius.topRight > 0) { const float centerX = rect.x + rect.w - clampedRadii.topRight -1; const float centerY = rect.y + clampedRadii.topRight; SDL_RenderArc(renderer, (SDL_FPoint){centerX, centerY}, clampedRadii.topRight, - 270.0f, 360.0f, config->top.width, config->top.color); + 270.0f, 360.0f, config->width.top, config->color); } - if (cornerRadius.bottomLeft > 0) { + if (config->cornerRadius.bottomLeft > 0) { const float centerX = rect.x + clampedRadii.bottomLeft -1; const float centerY = rect.y + rect.h - clampedRadii.bottomLeft -1; SDL_RenderArc(renderer, (SDL_FPoint){centerX, centerY}, clampedRadii.bottomLeft, - 90.0f, 180.0f, config->bottom.width, config->bottom.color); + 90.0f, 180.0f, config->width.bottom, config->color); } - if (cornerRadius.bottomRight > 0) { + if (config->cornerRadius.bottomRight > 0) { const float centerX = rect.x + rect.w - clampedRadii.bottomRight -1; //TODO: why need to -1 in all calculations??? const float centerY = rect.y + rect.h - clampedRadii.bottomRight -1; SDL_RenderArc(renderer, (SDL_FPoint){centerX, centerY}, clampedRadii.bottomRight, - 0.0f, 90.0f, config->bottom.width, config->bottom.color); + 0.0f, 90.0f, config->width.bottom, config->color); } } break; diff --git a/renderers/cairo/clay_renderer_cairo.c b/renderers/cairo/clay_renderer_cairo.c index ff3813e..229ca4f 100644 --- a/renderers/cairo/clay_renderer_cairo.c +++ b/renderers/cairo/clay_renderer_cairo.c @@ -26,14 +26,6 @@ #include #include -// TODO: Regarding image support, currently this renderer only -// supports PNG images, this is due to cairo having just PNG as it's -// main file format. We maybe should introduce stb_image to load them -// as bitmaps and feed cairo that way. -#define CLAY_EXTEND_CONFIG_IMAGE Clay_String path; // Filesystem path - -// TODO: We should use the given `uint16_t fontId` instead of doing this. -#define CLAY_EXTEND_CONFIG_TEXT Clay_String fontFamily; // Font family #define CLAY_IMPLEMENTATION #include "../../clay.h" @@ -50,7 +42,7 @@ void Clay_Cairo_Initialize(cairo_t *cairo); // Render the command queue to the `cairo_t*` instance you called // `Clay_Cairo_Initialize` on. -void Clay_Cairo_Render(Clay_RenderCommandArray commands); +void Clay_Cairo_Render(Clay_RenderCommandArray commands, char** fonts); //////////////////////////////// @@ -88,6 +80,7 @@ static inline Clay_Dimensions Clay_Cairo_MeasureText(Clay_StringSlice str, Clay_ // once. Cairo does not factor in whitespaces when computing text // extents, this edge-case serves as a short-circuit to introduce // (somewhat) sensible values into Clay. + char** fonts = (char**)userData; if(str.length == 1 && str.chars[0] == ' ') { cairo_text_extents_t te; cairo_text_extents(Clay__Cairo, " ", &te); @@ -104,7 +97,7 @@ static inline Clay_Dimensions Clay_Cairo_MeasureText(Clay_StringSlice str, Clay_ // Ensure string is null-terminated for Cairo Clay_String toTerminate = (Clay_String){ str.length, str.chars }; char *text = Clay_Cairo__NullTerminate(&toTerminate); - char *font_family = Clay_Cairo__NullTerminate(&config->fontFamily); + char *font_family = fonts[config->fontId]; // Save and reset the Cairo context to avoid unwanted transformations cairo_save(Clay__Cairo); @@ -120,7 +113,6 @@ static inline Clay_Dimensions Clay_Cairo_MeasureText(Clay_StringSlice str, Clay_ fprintf(stderr, "Failed to get scaled font\n"); cairo_restore(Clay__Cairo); free(text); - free(font_family); return (Clay_Dimensions){0, 0}; } @@ -134,7 +126,6 @@ static inline Clay_Dimensions Clay_Cairo_MeasureText(Clay_StringSlice str, Clay_ fprintf(stderr, "Failed to generate glyphs: %s\n", cairo_status_to_string(status)); cairo_restore(Clay__Cairo); free(text); - free(font_family); return (Clay_Dimensions){0, 0}; } @@ -150,7 +141,6 @@ static inline Clay_Dimensions Clay_Cairo_MeasureText(Clay_StringSlice str, Clay_ // Free temporary strings free(text); - free(font_family); // Return dimensions return (Clay_Dimensions){ @@ -192,36 +182,34 @@ void Clay_Cairo__Blit_Surface(cairo_surface_t *src_surface, cairo_surface_t *des cairo_destroy(cr); } -void Clay_Cairo_Render(Clay_RenderCommandArray commands) { +void Clay_Cairo_Render(Clay_RenderCommandArray commands, char** fonts) { cairo_t *cr = Clay__Cairo; for(size_t i = 0; i < commands.length; i++) { Clay_RenderCommand *command = Clay_RenderCommandArray_Get(&commands, i); - Clay_CornerRadius cornerRadius = command->textOrSharedConfig.sharedConfig->cornerRadius; switch(command->commandType) { case CLAY_RENDER_COMMAND_TYPE_RECTANGLE: { - Clay_RectangleElementConfig *config = command->config.rectangleElementConfig; - Clay_Color color = config->color; + Clay_RectangleRenderData *config = &command->renderData.rectangle; Clay_BoundingBox bb = command->boundingBox; - cairo_set_source_rgba(cr, CLAY_TO_CAIRO(color)); + cairo_set_source_rgba(cr, CLAY_TO_CAIRO(config->backgroundColor)); cairo_new_sub_path(cr); - cairo_arc(cr, bb.x + cornerRadius.topLeft, - bb.y + cornerRadius.topLeft, - cornerRadius.topLeft, + cairo_arc(cr, bb.x + config->cornerRadius.topLeft, + bb.y + config->cornerRadius.topLeft, + config->cornerRadius.topLeft, M_PI, 3 * M_PI / 2); // 180° to 270° - cairo_arc(cr, bb.x + bb.width - cornerRadius.topRight, - bb.y + cornerRadius.topRight, - cornerRadius.topRight, + cairo_arc(cr, bb.x + bb.width - config->cornerRadius.topRight, + bb.y + config->cornerRadius.topRight, + config->cornerRadius.topRight, 3 * M_PI / 2, 2 * M_PI); // 270° to 360° - cairo_arc(cr, bb.x + bb.width - cornerRadius.bottomRight, - bb.y + bb.height - cornerRadius.bottomRight, - cornerRadius.bottomRight, + cairo_arc(cr, bb.x + bb.width - config->cornerRadius.bottomRight, + bb.y + bb.height - config->cornerRadius.bottomRight, + config->cornerRadius.bottomRight, 0, M_PI / 2); // 0° to 90° - cairo_arc(cr, bb.x + cornerRadius.bottomLeft, - bb.y + bb.height - cornerRadius.bottomLeft, - cornerRadius.bottomLeft, + cairo_arc(cr, bb.x + config->cornerRadius.bottomLeft, + bb.y + bb.height - config->cornerRadius.bottomLeft, + config->cornerRadius.bottomLeft, M_PI / 2, M_PI); // 90° to 180° cairo_close_path(cr); @@ -231,15 +219,16 @@ void Clay_Cairo_Render(Clay_RenderCommandArray commands) { case CLAY_RENDER_COMMAND_TYPE_TEXT: { // Cairo expects null terminated strings, we need to clone // to temporarily introduce one. - Clay_String toTerminate = (Clay_String){ command->textOrSharedConfig.text.length, command->textOrSharedConfig.text.chars }; + Clay_TextRenderData *config = &command->renderData.text; + Clay_String toTerminate = (Clay_String){ config->stringContents.length, config->stringContents.chars }; char *text = Clay_Cairo__NullTerminate(&toTerminate); - char *font_family = Clay_Cairo__NullTerminate(&command->config.textElementConfig->fontFamily); + char *font_family = fonts[config->fontId]; Clay_BoundingBox bb = command->boundingBox; - Clay_Color color = command->config.textElementConfig->textColor; + Clay_Color color = config->textColor; cairo_select_font_face(Clay__Cairo, font_family, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); - cairo_set_font_size(cr, command->config.textElementConfig->fontSize); + cairo_set_font_size(cr, config->fontSize); cairo_move_to(cr, bb.x, bb.y + bb.height); @@ -248,22 +237,21 @@ void Clay_Cairo_Render(Clay_RenderCommandArray commands) { cairo_close_path(cr); free(text); - free(font_family); break; } case CLAY_RENDER_COMMAND_TYPE_BORDER: { - Clay_BorderElementConfig *config = command->config.borderElementConfig; + Clay_BorderRenderData *config = &command->renderData.border; Clay_BoundingBox bb = command->boundingBox; - double top_left_radius = cornerRadius.topLeft / 2.0; - double top_right_radius = cornerRadius.topRight / 2.0; - double bottom_right_radius = cornerRadius.bottomRight / 2.0; - double bottom_left_radius = cornerRadius.bottomLeft / 2.0; + double top_left_radius = config->cornerRadius.topLeft / 2.0; + double top_right_radius = config->cornerRadius.topRight / 2.0; + double bottom_right_radius = config->cornerRadius.bottomRight / 2.0; + double bottom_left_radius = config->cornerRadius.bottomLeft / 2.0; // Draw the top border - if (config->top.width > 0) { - cairo_set_line_width(cr, config->top.width); - cairo_set_source_rgba(cr, CLAY_TO_CAIRO(config->top.color)); + if (config->width.top > 0) { + cairo_set_line_width(cr, config->width.top); + cairo_set_source_rgba(cr, CLAY_TO_CAIRO(config->color)); cairo_new_sub_path(cr); @@ -280,9 +268,9 @@ void Clay_Cairo_Render(Clay_RenderCommandArray commands) { } // Draw the right border - if (config->right.width > 0) { - cairo_set_line_width(cr, config->right.width); - cairo_set_source_rgba(cr, CLAY_TO_CAIRO(config->right.color)); + if (config->width.right > 0) { + cairo_set_line_width(cr, config->width.right); + cairo_set_source_rgba(cr, CLAY_TO_CAIRO(config->color)); cairo_new_sub_path(cr); @@ -299,9 +287,9 @@ void Clay_Cairo_Render(Clay_RenderCommandArray commands) { } // Draw the bottom border - if (config->bottom.width > 0) { - cairo_set_line_width(cr, config->bottom.width); - cairo_set_source_rgba(cr, CLAY_TO_CAIRO(config->bottom.color)); + if (config->width.bottom > 0) { + cairo_set_line_width(cr, config->width.bottom); + cairo_set_source_rgba(cr, CLAY_TO_CAIRO(config->color)); cairo_new_sub_path(cr); @@ -318,9 +306,9 @@ void Clay_Cairo_Render(Clay_RenderCommandArray commands) { } // Draw the left border - if (config->left.width > 0) { - cairo_set_line_width(cr, config->left.width); - cairo_set_source_rgba(cr, CLAY_TO_CAIRO(config->left.color)); + if (config->width.left > 0) { + cairo_set_line_width(cr, config->width.left); + cairo_set_source_rgba(cr, CLAY_TO_CAIRO(config->color)); cairo_new_sub_path(cr); @@ -338,10 +326,10 @@ void Clay_Cairo_Render(Clay_RenderCommandArray commands) { break; } case CLAY_RENDER_COMMAND_TYPE_IMAGE: { - Clay_ImageElementConfig *config = command->config.imageElementConfig; + Clay_ImageRenderData *config = &command->renderData.image; Clay_BoundingBox bb = command->boundingBox; - char *path = Clay_Cairo__NullTerminate(&config->path); + char *path = config->imageData; cairo_surface_t *surf = cairo_image_surface_create_from_png(path), *origin = cairo_get_target(cr); @@ -372,7 +360,6 @@ void Clay_Cairo_Render(Clay_RenderCommandArray commands) { // Clean up the source surface cairo_surface_destroy(surf); - free(path); break; } case CLAY_RENDER_COMMAND_TYPE_CUSTOM: { diff --git a/renderers/raylib/clay_renderer_raylib.c b/renderers/raylib/clay_renderer_raylib.c index 44acd84..c34cc20 100644 --- a/renderers/raylib/clay_renderer_raylib.c +++ b/renderers/raylib/clay_renderer_raylib.c @@ -138,23 +138,23 @@ void Clay_Raylib_Render(Clay_RenderCommandArray renderCommands) { case CLAY_RENDER_COMMAND_TYPE_TEXT: { // Raylib uses standard C strings so isn't compatible with cheap slices, we need to clone the string to append null terminator - Clay_StringSlice text = renderCommand->textOrSharedConfig.text; - char *cloned = (char *)malloc(text.length + 1); - memcpy(cloned, text.chars, text.length); - cloned[text.length] = '\0'; - Font fontToUse = Raylib_fonts[renderCommand->config.textElementConfig->fontId].font; - DrawTextEx(fontToUse, cloned, (Vector2){boundingBox.x, boundingBox.y}, (float)renderCommand->config.textElementConfig->fontSize, (float)renderCommand->config.textElementConfig->letterSpacing, CLAY_COLOR_TO_RAYLIB_COLOR(renderCommand->config.textElementConfig->textColor)); + Clay_TextRenderData *textData = &renderCommand->renderData.text; + char *cloned = (char *)malloc(textData->stringContents.length + 1); + memcpy(cloned, textData->stringContents.chars, textData->stringContents.length); + cloned[textData->stringContents.length] = '\0'; + Font fontToUse = Raylib_fonts[textData->fontId].font; + DrawTextEx(fontToUse, cloned, (Vector2){boundingBox.x, boundingBox.y}, (float)textData->fontSize, (float)textData->letterSpacing, CLAY_COLOR_TO_RAYLIB_COLOR(textData->textColor)); free(cloned); break; } case CLAY_RENDER_COMMAND_TYPE_IMAGE: { - Texture2D imageTexture = *(Texture2D *)renderCommand->config.imageElementConfig->imageData; + Texture2D imageTexture = *(Texture2D *)renderCommand->renderData.image.imageData; DrawTextureEx( - imageTexture, - (Vector2){boundingBox.x, boundingBox.y}, - 0, - boundingBox.width / (float)imageTexture.width, - WHITE); + imageTexture, + (Vector2){boundingBox.x, boundingBox.y}, + 0, + boundingBox.width / (float)imageTexture.width, + CLAY_COLOR_TO_RAYLIB_COLOR(renderCommand->renderData.image.backgroundColor)); break; } case CLAY_RENDER_COMMAND_TYPE_SCISSOR_START: { @@ -166,51 +166,50 @@ void Clay_Raylib_Render(Clay_RenderCommandArray renderCommands) break; } case CLAY_RENDER_COMMAND_TYPE_RECTANGLE: { - Clay_RectangleElementConfig *config = renderCommand->config.rectangleElementConfig; - Clay_CornerRadius cornerRadius = renderCommand->textOrSharedConfig.sharedConfig->cornerRadius; - if (cornerRadius.topLeft > 0) { - float radius = (cornerRadius.topLeft * 2) / (float)((boundingBox.width > boundingBox.height) ? boundingBox.height : boundingBox.width); - DrawRectangleRounded((Rectangle) { boundingBox.x, boundingBox.y, boundingBox.width, boundingBox.height }, radius, 8, CLAY_COLOR_TO_RAYLIB_COLOR(config->color)); + Clay_RectangleRenderData *config = &renderCommand->renderData.rectangle; + if (config->cornerRadius.topLeft > 0) { + float radius = (config->cornerRadius.topLeft * 2) / (float)((boundingBox.width > boundingBox.height) ? boundingBox.height : boundingBox.width); + DrawRectangleRounded((Rectangle) { boundingBox.x, boundingBox.y, boundingBox.width, boundingBox.height }, radius, 8, CLAY_COLOR_TO_RAYLIB_COLOR(config->backgroundColor)); } else { - DrawRectangle(boundingBox.x, boundingBox.y, boundingBox.width, boundingBox.height, CLAY_COLOR_TO_RAYLIB_COLOR(config->color)); + DrawRectangle(boundingBox.x, boundingBox.y, boundingBox.width, boundingBox.height, CLAY_COLOR_TO_RAYLIB_COLOR(config->backgroundColor)); } break; } case CLAY_RENDER_COMMAND_TYPE_BORDER: { - Clay_BorderElementConfig *config = renderCommand->config.borderElementConfig; - Clay_CornerRadius cornerRadius = renderCommand->textOrSharedConfig.sharedConfig->cornerRadius; + Clay_BorderRenderData *config = &renderCommand->renderData.border; // Left border - if (config->left.width > 0) { - DrawRectangle((int)roundf(boundingBox.x), (int)roundf(boundingBox.y + cornerRadius.topLeft), (int)config->left.width, (int)roundf(boundingBox.height - cornerRadius.topLeft - cornerRadius.bottomLeft), CLAY_COLOR_TO_RAYLIB_COLOR(config->left.color)); + if (config->width.left > 0) { + DrawRectangle((int)roundf(boundingBox.x), (int)roundf(boundingBox.y + config->cornerRadius.topLeft), (int)config->width.left, (int)roundf(boundingBox.height - config->cornerRadius.topLeft - config->cornerRadius.bottomLeft), CLAY_COLOR_TO_RAYLIB_COLOR(config->color)); } // Right border - if (config->right.width > 0) { - DrawRectangle((int)roundf(boundingBox.x + boundingBox.width - config->right.width), (int)roundf(boundingBox.y + cornerRadius.topRight), (int)config->right.width, (int)roundf(boundingBox.height - cornerRadius.topRight - cornerRadius.bottomRight), CLAY_COLOR_TO_RAYLIB_COLOR(config->right.color)); + if (config->width.right > 0) { + DrawRectangle((int)roundf(boundingBox.x + boundingBox.width - config->width.right), (int)roundf(boundingBox.y + config->cornerRadius.topRight), (int)config->width.right, (int)roundf(boundingBox.height - config->cornerRadius.topRight - config->cornerRadius.bottomRight), CLAY_COLOR_TO_RAYLIB_COLOR(config->color)); } // Top border - if (config->top.width > 0) { - DrawRectangle((int)roundf(boundingBox.x + cornerRadius.topLeft), (int)roundf(boundingBox.y), (int)roundf(boundingBox.width - cornerRadius.topLeft - cornerRadius.topRight), (int)config->top.width, CLAY_COLOR_TO_RAYLIB_COLOR(config->top.color)); + if (config->width.top > 0) { + DrawRectangle((int)roundf(boundingBox.x + config->cornerRadius.topLeft), (int)roundf(boundingBox.y), (int)roundf(boundingBox.width - config->cornerRadius.topLeft - config->cornerRadius.topRight), (int)config->width.top, CLAY_COLOR_TO_RAYLIB_COLOR(config->color)); } // Bottom border - if (config->bottom.width > 0) { - DrawRectangle((int)roundf(boundingBox.x + cornerRadius.bottomLeft), (int)roundf(boundingBox.y + boundingBox.height - config->bottom.width), (int)roundf(boundingBox.width - cornerRadius.bottomLeft - cornerRadius.bottomRight), (int)config->bottom.width, CLAY_COLOR_TO_RAYLIB_COLOR(config->bottom.color)); + if (config->width.bottom > 0) { + DrawRectangle((int)roundf(boundingBox.x + config->cornerRadius.bottomLeft), (int)roundf(boundingBox.y + boundingBox.height - config->width.bottom), (int)roundf(boundingBox.width - config->cornerRadius.bottomLeft - config->cornerRadius.bottomRight), (int)config->width.bottom, CLAY_COLOR_TO_RAYLIB_COLOR(config->color)); } - if (cornerRadius.topLeft > 0) { - DrawRing((Vector2) { roundf(boundingBox.x + cornerRadius.topLeft), roundf(boundingBox.y + cornerRadius.topLeft) }, roundf(cornerRadius.topLeft - config->top.width), cornerRadius.topLeft, 180, 270, 10, CLAY_COLOR_TO_RAYLIB_COLOR(config->top.color)); + if (config->cornerRadius.topLeft > 0) { + DrawRing((Vector2) { roundf(boundingBox.x + config->cornerRadius.topLeft), roundf(boundingBox.y + config->cornerRadius.topLeft) }, roundf(config->cornerRadius.topLeft - config->width.top), config->cornerRadius.topLeft, 180, 270, 10, CLAY_COLOR_TO_RAYLIB_COLOR(config->color)); } - if (cornerRadius.topRight > 0) { - DrawRing((Vector2) { roundf(boundingBox.x + boundingBox.width - cornerRadius.topRight), roundf(boundingBox.y + cornerRadius.topRight) }, roundf(cornerRadius.topRight - config->top.width), cornerRadius.topRight, 270, 360, 10, CLAY_COLOR_TO_RAYLIB_COLOR(config->top.color)); + if (config->cornerRadius.topRight > 0) { + DrawRing((Vector2) { roundf(boundingBox.x + boundingBox.width - config->cornerRadius.topRight), roundf(boundingBox.y + config->cornerRadius.topRight) }, roundf(config->cornerRadius.topRight - config->width.top), config->cornerRadius.topRight, 270, 360, 10, CLAY_COLOR_TO_RAYLIB_COLOR(config->color)); } - if (cornerRadius.bottomLeft > 0) { - DrawRing((Vector2) { roundf(boundingBox.x + cornerRadius.bottomLeft), roundf(boundingBox.y + boundingBox.height - cornerRadius.bottomLeft) }, roundf(cornerRadius.bottomLeft - config->top.width), cornerRadius.bottomLeft, 90, 180, 10, CLAY_COLOR_TO_RAYLIB_COLOR(config->bottom.color)); + if (config->cornerRadius.bottomLeft > 0) { + DrawRing((Vector2) { roundf(boundingBox.x + config->cornerRadius.bottomLeft), roundf(boundingBox.y + boundingBox.height - config->cornerRadius.bottomLeft) }, roundf(config->cornerRadius.bottomLeft - config->width.top), config->cornerRadius.bottomLeft, 90, 180, 10, CLAY_COLOR_TO_RAYLIB_COLOR(config->color)); } - if (cornerRadius.bottomRight > 0) { - DrawRing((Vector2) { roundf(boundingBox.x + boundingBox.width - cornerRadius.bottomRight), roundf(boundingBox.y + boundingBox.height - cornerRadius.bottomRight) }, roundf(cornerRadius.bottomRight - config->bottom.width), cornerRadius.bottomRight, 0.1, 90, 10, CLAY_COLOR_TO_RAYLIB_COLOR(config->bottom.color)); + if (config->cornerRadius.bottomRight > 0) { + DrawRing((Vector2) { roundf(boundingBox.x + boundingBox.width - config->cornerRadius.bottomRight), roundf(boundingBox.y + boundingBox.height - config->cornerRadius.bottomRight) }, roundf(config->cornerRadius.bottomRight - config->width.bottom), config->cornerRadius.bottomRight, 0.1, 90, 10, CLAY_COLOR_TO_RAYLIB_COLOR(config->color)); } break; } case CLAY_RENDER_COMMAND_TYPE_CUSTOM: { - CustomLayoutElement *customElement = (CustomLayoutElement *)renderCommand->config.customElementConfig->customData; + Clay_CustomRenderData *config = &renderCommand->renderData.custom; + CustomLayoutElement *customElement = (CustomLayoutElement *)config->customData; if (!customElement) continue; switch (customElement->type) { case CUSTOM_LAYOUT_ELEMENT_TYPE_3D_MODEL: { From dac0a830cba6480cec935ec8544ac9887ec7035f Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Mon, 3 Feb 2025 14:16:22 +1300 Subject: [PATCH 36/37] Remove element extension --- clay.h | 10 ---------- examples/shared-layouts/clay-video-demo.c | 2 +- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/clay.h b/clay.h index d601ff5..2186be7 100644 --- a/clay.h +++ b/clay.h @@ -313,9 +313,6 @@ CLAY__WRAPPER_STRUCT(Clay_TextElementConfig); typedef struct { void* imageData; Clay_Dimensions sourceDimensions; - #ifdef CLAY_EXTEND_CONFIG_IMAGE - CLAY_EXTEND_CONFIG_IMAGE - #endif } Clay_ImageElementConfig; CLAY__WRAPPER_STRUCT(Clay_ImageElementConfig); @@ -357,11 +354,7 @@ CLAY__WRAPPER_STRUCT(Clay_FloatingElementConfig); // Custom typedef struct { - #ifndef CLAY_EXTEND_CONFIG_CUSTOM void* customData; - #else - CLAY_EXTEND_CONFIG_CUSTOM - #endif } Clay_CustomElementConfig; CLAY__WRAPPER_STRUCT(Clay_CustomElementConfig); @@ -394,9 +387,6 @@ typedef struct { typedef struct { Clay_Color color; Clay_BorderWidth width; - #ifdef CLAY_EXTEND_CONFIG_BORDER - CLAY_EXTEND_CONFIG_BORDER - #endif } Clay_BorderElementConfig; CLAY__WRAPPER_STRUCT(Clay_BorderElementConfig); diff --git a/examples/shared-layouts/clay-video-demo.c b/examples/shared-layouts/clay-video-demo.c index a12fa0d..4b31426 100644 --- a/examples/shared-layouts/clay-video-demo.c +++ b/examples/shared-layouts/clay-video-demo.c @@ -11,7 +11,7 @@ void RenderHeaderButton(Clay_String text) { .cornerRadius = CLAY_CORNER_RADIUS(5) }) { CLAY_TEXT(text, CLAY_TEXT_CONFIG({ - .font = FONT_ID_BODY_16, + .fontId = FONT_ID_BODY_16, .fontSize = 16, .textColor = { 255, 255, 255, 255 } })); From afbd9c9994e1b597341bf01b5f31bffff68139c8 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Mon, 3 Feb 2025 14:27:16 +1300 Subject: [PATCH 37/37] MSVC --- clay.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/clay.h b/clay.h index 2186be7..6c61e98 100644 --- a/clay.h +++ b/clay.h @@ -569,7 +569,7 @@ extern Clay_Color Clay__debugViewHighlightColor; extern uint32_t Clay__debugViewWidth; inline Clay_BorderElementConfig Clay_BorderAll(Clay_Color color, uint16_t width) { - return (Clay_BorderElementConfig) { .color = color, .width = {width, width, width, width, width}}; + return CLAY__INIT(Clay_BorderElementConfig) { .color = color, .width = {width, width, width, width, width}}; } #ifdef __cplusplus @@ -1532,14 +1532,14 @@ void Clay__ConfigureOpenElement(const Clay_ElementDeclaration declaration) { openLayoutElement->elementConfigs.internalArray = &context->elementConfigs.internalArray[context->elementConfigs.length]; Clay_SharedElementConfig *sharedConfig = NULL; if (!Clay__MemCmp((char *)(&declaration.backgroundColor), (char *)(&Clay__Color_DEFAULT), sizeof(Clay_Color))) { - sharedConfig = Clay__StoreSharedElementConfig((Clay_SharedElementConfig) { .backgroundColor = declaration.backgroundColor }); + sharedConfig = Clay__StoreSharedElementConfig(CLAY__INIT(Clay_SharedElementConfig) { .backgroundColor = declaration.backgroundColor }); Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .sharedElementConfig = sharedConfig }, CLAY__ELEMENT_CONFIG_TYPE_SHARED); } if (!Clay__MemCmp((char *)(&declaration.cornerRadius), (char *)(&Clay__CornerRadius_DEFAULT), sizeof(Clay_CornerRadius))) { if (sharedConfig) { sharedConfig->cornerRadius = declaration.cornerRadius; } else { - sharedConfig = Clay__StoreSharedElementConfig((Clay_SharedElementConfig) { .cornerRadius = declaration.cornerRadius }); + sharedConfig = Clay__StoreSharedElementConfig(CLAY__INIT(Clay_SharedElementConfig) { .cornerRadius = declaration.cornerRadius }); Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .sharedElementConfig = sharedConfig }, CLAY__ELEMENT_CONFIG_TYPE_SHARED); } } @@ -2250,7 +2250,7 @@ void Clay__CalculateFinalLayout(void) { } case CLAY__ELEMENT_CONFIG_TYPE_IMAGE: { renderCommand.commandType = CLAY_RENDER_COMMAND_TYPE_IMAGE; - renderCommand.renderData = (Clay_RenderData) { + renderCommand.renderData = CLAY__INIT(Clay_RenderData) { .image = { .backgroundColor = emitRectangle ? sharedConfig->backgroundColor : CLAY__INIT(Clay_Color) { 255, 255, 255, 255 }, .cornerRadius = sharedConfig->cornerRadius, @@ -2302,7 +2302,7 @@ void Clay__CalculateFinalLayout(void) { } case CLAY__ELEMENT_CONFIG_TYPE_CUSTOM: { renderCommand.commandType = CLAY_RENDER_COMMAND_TYPE_CUSTOM; - renderCommand.renderData = (Clay_RenderData) { + renderCommand.renderData = CLAY__INIT(Clay_RenderData) { .custom = { .backgroundColor = sharedConfig->backgroundColor, .cornerRadius = sharedConfig->cornerRadius,