From 9d940c1f8e4a3d38d6f3ecdf51da2990f8b2f5e2 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Tue, 4 Feb 2025 17:00:19 +1300 Subject: [PATCH 01/11] [Core] Replace config macros with a single unified configuration struct (#240) --- .github/workflows/cmake-multi-platform.yml | 3 +- README.md | 1143 ++++++++--------- bindings/odin/build-clay-lib.sh | 6 +- bindings/odin/clay-odin/clay.odin | 213 ++- bindings/odin/clay-odin/linux/clay.a | Bin 196148 -> 167596 bytes bindings/odin/clay-odin/macos-arm64/clay.a | Bin 251976 -> 252160 bytes bindings/odin/clay-odin/macos/clay.a | Bin 166144 -> 139744 bytes bindings/odin/clay-odin/wasm/clay.o | Bin 278900 -> 253760 bytes bindings/odin/clay-odin/windows/clay.lib | Bin 189024 -> 168437 bytes .../clay-official-website.odin | 397 +++--- .../clay_renderer_raylib.odin | 68 +- clay.h | 1075 +++++++++------- examples/SDL2-video-demo/CMakeLists.txt | 6 +- examples/SDL2-video-demo/main.c | 271 +--- examples/SDL3-simple-demo/CMakeLists.txt | 4 +- examples/SDL3-simple-demo/main.c | 77 +- examples/cairo-pdf-rendering/CMakeLists.txt | 5 +- examples/cairo-pdf-rendering/main.c | 102 +- examples/clay-official-website/CMakeLists.txt | 4 +- .../build/clay/index.html | 50 +- .../build/clay/index.wasm | Bin 169799 -> 111977 bytes examples/clay-official-website/index.html | 50 +- examples/clay-official-website/main.c | 269 ++-- examples/cpp-project-example/CMakeLists.txt | 4 +- examples/cpp-project-example/main.cpp | 2 +- .../CMakeLists.txt | 4 +- examples/introducing-clay-video-demo/main.c | 271 +--- examples/raylib-multi-context/CMakeLists.txt | 2 +- examples/raylib-multi-context/main.c | 236 +--- .../CMakeLists.txt | 4 +- .../raylib-sidebar-scrolling-container/main.c | 130 +- .../multi-compilation-unit.c | 6 +- examples/shared-layouts/clay-video-demo.c | 266 ++++ renderers/SDL2/clay_renderer_SDL2.c | 51 +- renderers/SDL3/clay_renderer_SDL3.c | 47 +- renderers/cairo/clay_renderer_cairo.c | 72 +- renderers/raylib/clay_renderer_raylib.c | 77 +- 37 files changed, 2261 insertions(+), 2654 deletions(-) create mode 100644 examples/shared-layouts/clay-video-demo.c 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 diff --git a/README.md b/README.md index abecac9..8e1c334 100644 --- a/README.md +++ b/README.md @@ -50,13 +50,18 @@ static inline Clay_Dimensions MeasureText(Clay_StringSlice text, Clay_TextElemen } // Layout config is just a struct that can be declared statically, or inline -Clay_LayoutConfig sidebarItemLayout = (Clay_LayoutConfig) { - .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(50) }, +Clay_ElementDeclaration sidebarItemConfig = (Clay_ElementDeclaration) { + .layout = { + .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(50) } + }, + .backgroundColor = COLOR_ORANGE }; // Re-useable components are just normal functions void SidebarItemComponent() { - CLAY(CLAY_LAYOUT(sidebarItemLayout), CLAY_RECTANGLE({ .color = COLOR_ORANGE })) {} + CLAY(sidebarItemConfig) { + // children go here... + } } int main() { @@ -65,6 +70,7 @@ int main() { uint64_t totalMemorySize = Clay_MinMemorySize(); Clay_Arena arena = Clay_CreateArenaWithCapacityAndMemory(totalMemorySize, malloc(totalMemorySize)); + // Note: screenWidth and screenHeight will need to come from your environment, Clay doesn't handle window related tasks Clay_Initialize(arena, (Clay_Dimensions) { screenWidth, screenHeight }, (Clay_ErrorHandler) { HandleClayErrors }); while(renderLoop()) { // Will be different for each renderer / environment @@ -79,13 +85,14 @@ int main() { Clay_BeginLayout(); // An example of laying out a UI with a fixed width sidebar and flexible width main content - CLAY(CLAY_ID("OuterContainer"), CLAY_LAYOUT({ .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)}, .padding = CLAY_PADDING_ALL(16), .childGap = 16 }), CLAY_RECTANGLE({ .color = {250,250,255,255} })) { - CLAY(CLAY_ID("SideBar"), - CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_GROW(0) }, .padding = CLAY_PADDING_ALL(16), .childGap = 16 }), - CLAY_RECTANGLE({ .color = COLOR_LIGHT }) + CLAY({ .id = CLAY_ID("OuterContainer"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)}, .padding = CLAY_PADDING_ALL(16), .childGap = 16 }, .backgroundColor = {250,250,255,255} }) { + CLAY({ + .id = CLAY_ID("SideBar"), + .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_GROW(0) }, .padding = CLAY_PADDING_ALL(16), .childGap = 16 }, + .backgroundColor = COLOR_LIGHT } ) { - CLAY(CLAY_ID("ProfilePictureOuter"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(0) }, .padding = CLAY_PADDING_ALL(16), .childGap = 16, .childAlignment = { .y = CLAY_ALIGN_Y_CENTER } }), CLAY_RECTANGLE({ .color = COLOR_RED })) { - CLAY(CLAY_ID("ProfilePicture"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(60), .height = CLAY_SIZING_FIXED(60) }}), CLAY_IMAGE({ .imageData = &profilePicture, .sourceDimensions = {60, 60} })) {} + CLAY({ .id = CLAY_ID("ProfilePictureOuter"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0) }, .padding = CLAY_PADDING_ALL(16), .childGap = 16, .childAlignment = { .y = CLAY_ALIGN_Y_CENTER } }, .backgroundColor = COLOR_RED }) { + 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(CLAY_STRING("Clay - UI Library"), CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {255, 255, 255, 255} })); } @@ -94,7 +101,7 @@ int main() { SidebarItemComponent(); } - CLAY(CLAY_ID("MainContent"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_GROW(0) }}), CLAY_RECTANGLE({ .color = COLOR_LIGHT })) {} + CLAY({ .id = CLAY_ID("MainContent"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_GROW(0) } }, .backgroundColor = COLOR_LIGHT }) {} } // All clay layouts are declared between Clay_BeginLayout and Clay_EndLayout @@ -108,7 +115,7 @@ int main() { case CLAY_RENDER_COMMAND_TYPE_RECTANGLE: { DrawRectangle( renderCommand->boundingBox, - renderCommand->config.rectangleElementConfig->color); + renderCommand->renderData.rectangle.backgroundColor); } // ... Implement handling of other command types } @@ -196,33 +203,33 @@ For help starting out or to discuss clay, considering joining [the discord serve ## High Level Documentation ### Building UI Hierarchies -Clay UIs are built using the C macro `CLAY()`. This macro creates a new empty element in the UI hierarchy, and supports modular customisation of layout, styling and functionality. The `CLAY()` macro can also be _nested_, similar to other declarative UI systems like HTML. +Clay UIs are built using the C macro `CLAY({ configuration })`. This macro creates a new empty element in the UI hierarchy, and supports modular customisation of layout, styling and functionality. The `CLAY()` macro can also be _nested_, similar to other declarative UI systems like HTML. Child elements are added by opening a block: `{}` after calling the `CLAY()` macro (exactly like you would with an `if` statement or `for` loop), and declaring child components inside the braces. ```C // Parent element with 8px of padding -CLAY(CLAY_LAYOUT({ .padding = CLAY_PADDING_ALL(8) })) { +CLAY({ .layout = { .padding = CLAY_PADDING_ALL(8) } }) { // Child element 1 CLAY_TEXT(CLAY_STRING("Hello World"), CLAY_TEXT_CONFIG({ .fontSize = 16 })); // Child element 2 with red background - CLAY(CLAY_RECTANGLE({ .color = COLOR_RED })) { + CLAY({ .backgroundColor = COLOR_RED }) { // etc } } ``` -However, unlike HTML and other declarative DSLs, these macros are just C. As a result, you can use arbitrary C code such as loops, functions and conditions inside your layout declaration code: +However, unlike HTML and other declarative DSLs, this macro is just C. As a result, you can use arbitrary C code such as loops, functions and conditions inside your layout declaration code: ```C // Re-usable "components" are just functions that declare more UI void ButtonComponent(Clay_String buttonText) { // Red box button with 8px of padding - CLAY(CLAY_LAYOUT({ .padding = CLAY_PADDING_ALL(8)}), CLAY_RECTANGLE({ .color = COLOR_RED })) { + CLAY({ .layout = { .padding = CLAY_PADDING_ALL(8) }, .backgroundColor = COLOR_RED }) { CLAY_TEXT(buttonText, textConfig); } } // Parent element -CLAY(CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM })) { +CLAY({ .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM } }) { // Render a bunch of text elements for (int i = 0; i < textArray.length; i++) { CLAY_TEXT(textArray.elements[i], textConfig); @@ -240,33 +247,37 @@ CLAY(CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM })) { ``` ### Configuring Layout and Styling UI Elements -The layout of clay elements is configured with the `CLAY_LAYOUT()` macro. +The layout and style of clay elements is configured with the [Clay_ElementDeclaration](#clay_elementdeclaration) struct passed to the `CLAY()` macro. ```C -CLAY(CLAY_LAYOUT({ .padding = { 8, 8, 8, 8 }, .layoutDirection = CLAY_TOP_TO_BOTTOM })) { +CLAY({ .layout = { .padding = { 8, 8, 8, 8 }, .layoutDirection = CLAY_TOP_TO_BOTTOM } }) { // Children are 8px inset into parent, and laid out top to bottom } ``` -This macro isn't magic - all it's doing is wrapping the standard designated initializer syntax and adding the result to an internal array. e.g. `(Clay_LayoutConfig) { .padding = { .left = 8, .right = 8 } ...`. +This macro isn't magic - all it's doing is wrapping the standard designated initializer syntax. e.g. `(Clay_ElementDeclaration) { .layout = { .padding = { .left = 8, .right = 8 } ...`. -See the [Clay_LayoutConfig](#clay_layout) API for the full list of options. +See the [Clay_ElementDeclaration](#clay_elementdeclaration) API for the full list of options. -A `Clay_LayoutConfig` struct can be defined in file scope or elsewhere, and reused. +A `Clay_ElementDeclaration` struct can be defined in file scope or elsewhere, and reused. ```C // Define a style in the global / file scope -Clay_LayoutConfig reusableStyle = (Clay_LayoutConfig) { .backgroundColor = {120, 120, 120, 255} }; +Clay_ElementDeclaration reuseableStyle = (Clay_ElementDeclaration) { + .layout = { .padding = { .left = 12 } }, + .backgroundColor = { 120, 120, 120, 255 }, + .cornerRadius = { 12, 12, 12, 12 } +}; -CLAY(CLAY_LAYOUT(reusableStyle)) { +CLAY(reuseableStyle) { // ... } ``` ### Element IDs -Clay elements can optionally be tagged with a unique identifier using [CLAY_ID()](#clay_id). +Clay elements can optionally be tagged with a unique identifier using the `.id` field of an element declaration, and with the [CLAY_ID()](#clay_id) convenience macro. ```C // Will always produce the same ID from the same input string -CLAY(CLAY_ID("OuterContainer"), style) {} +CLAY({ .id = CLAY_ID("OuterContainer") }) {} ``` Element IDs have two main use cases. Firstly, tagging an element with an ID allows you to query information about the element later, such as its [mouseover state](#clay_pointerover) or dimensions. @@ -277,7 +288,7 @@ To avoid having to construct dynamic strings at runtime to differentiate ids in ```C // This is the equivalent of calling CLAY_ID("Item0"), CLAY_ID("Item1") etc for (int index = 0; index < items.length; index++) { - CLAY(CLAY_IDI("Item", index)) {} + CLAY({ .id = CLAY_IDI("Item", index) }) {} } ``` @@ -295,7 +306,7 @@ The function `bool Clay_Hovered()` can be called during element construction or ```C // An orange button that turns blue when hovered -CLAY(CLAY_RECTANGLE(.color = Clay_Hovered() ? COLOR_BLUE : COLOR_ORANGE)) { +CLAY({ .backgroundColor = Clay_Hovered() ? COLOR_BLUE : COLOR_ORANGE }) { bool buttonHovered = Clay_Hovered(); CLAY_TEXT(buttonHovered ? CLAY_STRING("Hovered") : CLAY_STRING("Hover me!"), headerTextConfig); } @@ -316,7 +327,8 @@ void HandleButtonInteraction(Clay_ElementId elementId, Clay_PointerData pointerI ButtonData linkButton = (ButtonData) { .link = "https://github.com/nicbarker/clay" }; // HandleButtonInteraction will be called for each frame the mouse / pointer / touch is inside the button boundaries -CLAY(CLAY_LAYOUT({ .padding = CLAY_PADDING_ALL(8)}), Clay_OnHover(HandleButtonInteraction, &linkButton)) { +CLAY({ .layout = { .padding = CLAY_PADDING_ALL(8) } }) { + Clay_OnHover(HandleButtonInteraction, &linkButton); CLAY_TEXT(CLAY_STRING("Button"), &headerTextConfig); } ``` @@ -368,31 +380,28 @@ A classic example use case for floating elements is tooltips and modals. ```C // The two text elements will be laid out top to bottom, and the floating container // will be attached to "Outer" -CLAY(CLAY_ID("Outer"), CLAY_LAYOUT({ .layoutDirection = TOP_TO_BOTTOM })) { +CLAY({ .id = CLAY_ID("Outer"), .layout = { .layoutDirection = TOP_TO_BOTTOM } }) { CLAY_TEXT(CLAY_ID("Button"), text, &headerTextConfig); - CLAY(CLAY_ID("Tooltip"), CLAY_FLOATING()) {} + CLAY({ .id = CLAY_ID("Tooltip"), .floating = { .attachTo = CLAY_ATTACH_TO_PARENT } }) {} CLAY_TEXT(CLAY_ID("Button"), text, &headerTextConfig); } ``` -More specific details can be found in the full [Floating API](#clay_floating). +More specific details can be found in the full [Floating API](#clay_floatingelementconfig). ### Laying Out Your Own Custom Elements Clay only supports a simple set of UI element primitives, such as rectangles, text and images. Clay provides a singular API for layout out custom elements: ```C -// Extend CLAY_CUSTOM_ELEMENT_CONFIG with your custom data -#define CLAY_EXTEND_CONFIG_CUSTOM struct t_CustomElementData customData; -// Extensions need to happen _before_ the clay include #include "clay.h" -enum CustomElementType { +typedef enum { CUSTOM_ELEMENT_TYPE_MODEL, CUSTOM_ELEMENT_TYPE_VIDEO -}; +} CustomElementType; // A rough example of how you could handle laying out 3d models in your UI -typedef struct t_CustomElementData { +typedef struct { CustomElementType type; union { Model model; @@ -403,10 +412,22 @@ typedef struct t_CustomElementData { Model myModel = Load3DModel(filePath); CustomElement modelElement = (CustomElement) { .type = CUSTOM_ELEMENT_TYPE_MODEL, .model = myModel } + +typedef struct { + void* memory; + uintptr_t offset; +} Arena; + +// During init +Arena frameArena = (Arena) { .memory = malloc(1024) }; + // ... CLAY(0) { - // This config is type safe and contains the CustomElementData struct - CLAY(CLAY_CUSTOM_ELEMENT({ .customData = { .type = CUSTOM_ELEMENT_TYPE_MODEL, .model = myModel } })) {} + // Custom elements only take a single pointer, so we need to store the data somewhere + CustomElementData *modelData = (CustomElementData *)(frameArena.memory + frameArena.offset); + *modelData = (CustomElementData) { .type = CUSTOM_ELEMENT_TYPE_MODEL, .model = myModel }; + frameArena.offset += sizeof(CustomElementData); + CLAY({ .custom = { .customData = modelData } }) {} } // Later during your rendering @@ -455,11 +476,6 @@ Clay supports C preprocessor directives to modulate functionality at compile tim The supported directives are: - `CLAY_WASM` - Required when targeting Web Assembly. -- `CLAY_DEBUG` - Used for debugging clay's internal implementation. Useful if you want to modify or debug clay, or learn how things work. It enables a number of debug features such as preserving source strings for hash IDs to make debugging easier. -- `CLAY_EXTEND_CONFIG_RECTANGLE` - Provide additional struct members to `CLAY_RECTANGLE` that will be passed through with output render commands. -- `CLAY_EXTEND_CONFIG_TEXT` - Provide additional struct members to `CLAY_TEXT_CONFIG` that will be passed through with output render commands. -- `CLAY_EXTEND_CONFIG_IMAGE` - Provide additional struct members to `CLAY_IMAGE_CONFIG` that will be passed through with output render commands. -- `CLAY_EXTEND_CONFIG_CUSTOM` - Provide additional struct members to `CLAY_CUSTOM_CONFIG` that will be passed through with output render commands. ### Bindings for non C @@ -526,7 +542,7 @@ render(renderCommands2); ### Lifecycle for public functions **At startup / initialization time, run once** -`Clay_MinMemorySize` -> `Clay_CreateArenaWithCapacityAndMemory` -> `Clay_SetMeasureTextFunction` -> `Clay_Initialize` +`Clay_MinMemorySize` -> `Clay_CreateArenaWithCapacityAndMemory` -> `Clay_Initialize` -> `Clay_SetMeasureTextFunction` **Each Frame** `Clay_SetLayoutDimensions` -> `Clay_SetPointerState` -> `Clay_UpdateScrollContainers` -> `Clay_BeginLayout` -> `CLAY() etc...` -> `Clay_EndLayout` @@ -537,7 +553,7 @@ render(renderCommands2); `uint32_t Clay_MinMemorySize()` -Returns the minimum amount of memory **in bytes** that clay needs to accomodate the current [CLAY_MAX_ELEMENT_COUNT](#preprocessor-directives). +Returns the minimum amount of memory **in bytes** that clay needs to accommodate the current [CLAY_MAX_ELEMENT_COUNT](#preprocessor-directives). --- @@ -551,7 +567,7 @@ Creates a `Clay_Arena` struct with the given capacity and base memory pointer, w ### Clay_SetMeasureTextFunction -`void Clay_SetMeasureTextFunction(Clay_Dimensions (*measureTextFunction)(Clay_String *text, Clay_TextElementConfig *config))` +`void Clay_SetMeasureTextFunction(Clay_Dimensions (*measureTextFunction)(Clay_StringSlice text, Clay_TextElementConfig *config, uintptr_t userData), uintptr_t userData)` Takes a pointer to a function that can be used to measure the `width, height` dimensions of a string. Used by clay during layout to determine [CLAY_TEXT](#clay_text) element sizing and wrapping. @@ -686,7 +702,8 @@ void HandleButtonInteraction(Clay_ElementId elementId, Clay_PointerData pointerD ButtonData linkButton = (ButtonData) { .link = "https://github.com/nicbarker/clay" }; // HandleButtonInteraction will be called for each frame the mouse / pointer / touch is inside the button boundaries -CLAY(CLAY_LAYOUT({ .padding = CLAY_PADDING_ALL(8)}), Clay_OnHover(HandleButtonInteraction, &buttonData)) { +CLAY({ .layout = { .padding = CLAY_PADDING_ALL(8) } }) { + Clay_OnHover(HandleButtonInteraction, &buttonData); CLAY_TEXT(CLAY_STRING("Button"), &headerTextConfig); } ``` @@ -727,22 +744,23 @@ Returns a [Clay_ElementId](#clay_elementid) for the provided id string, used for **Notes** **CLAY** opens a generic empty container, that is configurable and supports nested children. -**CLAY** requires at least 1 parameter, so if you want to create an element without any configuration, use `CLAY(0)`. +**CLAY** requires a parameter, so if you want to create an element without any configuration, use `CLAY(0)`. **Examples** ```C // Define an element with 16px of x and y padding -CLAY(CLAY_ID("Outer"), CLAY_LAYOUT({ .padding = CLAY_PADDING_ALL(16) })) { +CLAY({ .id = CLAY_ID("Outer"), .layout = { .padding = CLAY_PADDING_ALL(16) } }) { // A nested child element - CLAY(CLAY_ID("SideBar"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 16 })) { + CLAY({ .id = CLAY_ID("SideBar"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 16 } }) { // Children laid out top to bottom with a 16 px gap between them } // A vertical scrolling container with a colored background - CLAY( - CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 16 }) - CLAY_RECTANGLE({ .color = { 200, 200, 100, 255 }, .cornerRadius = CLAY_CORNER_RADIUS(10) }) - CLAY_SCROLL({ .vertical = true }) - ) { + CLAY({ + .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .childGap = 16 }, + .backgroundColor = { 200, 200, 100, 255 }, + .cornerRadius = CLAY_CORNER_RADIUS(10), + .scroll = { .vertical = true } + }) { // child elements } } @@ -750,301 +768,14 @@ CLAY(CLAY_ID("Outer"), CLAY_LAYOUT({ .padding = CLAY_PADDING_ALL(16) })) { --- -### CLAY_ID - -**Usage** - -`CLAY(CLAY_ID(char* idString)) {}` - -**Lifecycle** - -`Clay_BeginLayout()` -> `CLAY(` -> `CLAY_ID()` -> `)` -> `Clay_EndLayout()` - -**Notes** - -**CLAY_ID()** is used to generate and attach a [Clay_ElementId](#clay_elementid) to a layout element during declaration. - -To regenerate the same ID outside of layout declaration when using utility functions such as [Clay_PointerOver](#clay_pointerover), use the [Clay_GetElementId](#clay_getelementid) function. - -**Examples** - -```C -// Tag a button with the Id "Button" -CLAY( - CLAY_ID("Button"), - CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_GROW(0) }, .padding = CLAY_PADDING_ALL(16), .childGap = 16) }) -) { - // ...children -} - -// Later on outside of layout code -bool buttonIsHovered = Clay_IsPointerOver(Clay_GetElementId("Button")); -if (buttonIsHovered && leftMouseButtonPressed) { - // ... do some click handling -} -``` - ---- - -### CLAY_IDI() - -`Clay_ElementId CLAY_IDI(char *label, int32_t index)` - -An offset version of [CLAY_ID](#clay_id). Generates a [Clay_ElementId](#clay_elementid) string id from the provided `char *label`, combined with the `int index`. Used for generating ids for sequential elements (such as in a `for` loop) without having to construct dynamic strings at runtime. - ---- - -### CLAY_ID_LOCAL() - -**Usage** - -`CLAY(CLAY_ID_LOCAL(char* idString)) {}` - -**Lifecycle** - -`Clay_BeginLayout()` -> `CLAY(` -> `CLAY_ID_LOCAL()` -> `)` -> `Clay_EndLayout()` - -**Notes** - -**CLAY_ID_LOCAL()** is used to generate and attach a [Clay_ElementId](#clay_elementid) to a layout element during declaration. - -Unlike [CLAY_ID](#clay_id) which needs to be globally unique, a local ID is based on the ID of it's parent and only needs to be unique among its siblings. - -As a result, local id is suitable for use in reusable components and loops. - -**Examples** - -```C -void RenderHeaderButton(ButtonData button) { - CLAY( - CLAY_ID_LOCAL("HeaderButton"), - CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_GROW(0) }, .padding = CLAY_PADDING_ALL(16), .childGap = 16) }) - ) { - // ...children - } -} - -for (int i = 0; i < headerButtons.length; i++) { - RenderHeaderButton(headerButtons.items[i]); -} -``` - ---- - ---- - -### CLAY_IDI_LOCAL() - -`Clay_ElementId CLAY_IDI_LOCAL(char *label, int32_t index)` - -An offset version of [CLAY_ID_LOCAL](#clay_local_id). Generates a [Clay_ElementId](#clay_elementid) string id from the provided `char *label`, combined with the `int index`. Used for generating ids for sequential elements (such as in a `for` loop) without having to construct dynamic strings at runtime. - ---- - -### CLAY_LAYOUT - -**Usage** - -`CLAY(CLAY_LAYOUT(...layout config)) {}` - -**Lifecycle** - -`Clay_BeginLayout()` -> `CLAY(` -> `CLAY_LAYOUT()` -> `)` -> `Clay_EndLayout()` - -**Notes** - -**CLAY_LAYOUT()** is used for configuring _layout_ options (i.e. options that affect the final position and size of an element, its parents, siblings, and children) - -**Struct API (Pseudocode)** - -```C -// CLAY_LAYOUT({ .member = value }) supports these options -Clay_LayoutConfig { - Clay_LayoutDirection layoutDirection = CLAY_LEFT_TO_RIGHT (default) | CLAY_TOP_TO_BOTTOM; - Clay_Padding padding { - u16 left; u16 right; u16 top; u16 bottom; - }; - uint16_t childGap; - Clay_ChildAlignment childAlignment { - .x = CLAY_ALIGN_X_LEFT (default) | CLAY_ALIGN_X_CENTER | CLAY_ALIGN_X_RIGHT; - .y = CLAY_ALIGN_Y_TOP (default) | CLAY_ALIGN_Y_CENTER | CLAY_ALIGN_Y_BOTTOM; - }; - Clay_Sizing sizing { // Recommended to use the provided macros here - see #sizing for more in depth explanation - .width = CLAY_SIZING_FIT(float min, float max) (default) | CLAY_SIZING_GROW(float min, float max) | CLAY_SIZING_FIXED(float width) | CLAY_SIZING_PERCENT(float percent) - .height = CLAY_SIZING_FIT(float min, float max) (default) | CLAY_SIZING_GROW(float min, float max) | CLAY_SIZING_FIXED(float height) | CLAY_SIZING_PERCENT(float percent) - }; // See CLAY_SIZING_GROW() etc for more details -}; -``` -As with all config macros, `CLAY_LAYOUT()` accepts designated initializer syntax and provides default values for any unspecified struct members. - -**Fields** - -**`.layoutDirection`** - `Clay_LayoutDirection` - -`CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM })` - -Controls the axis / direction in which child elements are laid out. Available options are `CLAY_LEFT_TO_RIGHT` (default) and `CLAY_TOP_TO_BOTTOM`. - -_Did you know that "left to right" and "top to bottom" both have 13 letters?_ - -Screenshot 2024-08-22 at 11 10 27 AM - ---- - -**`.padding`** - `Clay_Padding` - -`CLAY_LAYOUT({ .padding = { .left = 16, .right = 16, .top = 8, .bottom = 8 } })` - -Controls white-space "padding" around the **outside** of child elements. - -Screenshot 2024-08-22 at 10 50 49 AM - ---- - -**`.childGap`** - `uint16_t` - -`CLAY_LAYOUT({ .childGap = 16 })` - -Controls the white-space **between** child elements as they are laid out. When `.layoutDirection` is `CLAY_LEFT_TO_RIGHT` (default), this will be horizontal space, whereas for `CLAY_TOP_TO_BOTTOM` it will be vertical space. - -Screenshot 2024-08-22 at 11 05 15 AM - ---- - -**`.childAlignment`** - `Clay_ChildAlignment` - -`CLAY_LAYOUT({ .childAlignment = { .x = CLAY_ALIGN_X_LEFT, .y = CLAY_ALIGN_Y_CENTER } })` - -Controls the alignment of children relative to the height and width of the parent container. Available options are: -```C -.x = CLAY_ALIGN_X_LEFT (default) | CLAY_ALIGN_X_CENTER | CLAY_ALIGN_X_RIGHT; -.y = CLAY_ALIGN_Y_TOP (default) | CLAY_ALIGN_Y_CENTER | CLAY_ALIGN_Y_BOTTOM; -``` - -Screenshot 2024-08-22 at 11 25 16 AM - ---- - -**`.sizing`** - `Clay_Sizing` - -`CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_PERCENT(0.5) } })` - -Controls how final width and height of element are calculated. The same configurations are available for both the `.width` and `.height` axis. There are several options: - -- `CLAY_SIZING_FIT(float min, float max) (default)` - The element will be sized to fit its children (plus padding and gaps), up to `max`. If `max` is left unspecified, it will default to `FLOAT_MAX`. When elements are compressed to fit into a smaller parent, this element will not shrink below `min`. - -- `CLAY_SIZING_GROW(float min, float max)` - The element will grow to fill available space in its parent, up to `max`. If `max` is left unspecified, it will default to `FLOAT_MAX`. When elements are compressed to fit into a smaller parent, this element will not shrink below `min`. - -- `CLAY_SIZING_FIXED(float fixed)` - The final size will always be exactly the provided `fixed` value. Shorthand for `CLAY_SIZING_FIT(fixed, fixed)` - -- `CLAY_SIZING_PERCENT(float percent)` - Final size will be a percentage of parent size, minus padding and child gaps. `percent` is assumed to be a float between `0` and `1`. - -Screenshot 2024-08-22 at 2 10 33 PM - -Screenshot 2024-08-22 at 2 19 04 PM - - -**Example Usage** - -```C -CLAY(CLAY_ID("Button"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_GROW(0) }, .padding = CLAY_PADDING_ALL(16, .childGap = 16) }) { - // Children will be laid out vertically with 16px of padding around and between -} -``` - ---- - -### CLAY_RECTANGLE -**Usage** - -`CLAY(CLAY_RECTANGLE(...rectangle config)) {}` - -**Lifecycle** - -`Clay_BeginLayout()` -> `CLAY(` -> `CLAY_RECTANGLE()` -> `)` -> `Clay_EndLayout()` - -**Notes** - -**RECTANGLE** configures a clay element to background-fill its bounding box with a color. It uses `Clay_RectangleElementConfig` for rectangle specific options. - -**Struct API (Pseudocode)** - -```C -// CLAY_RECTANGLE({ .member = value }) supports these options -Clay_RectangleElementConfig { - Clay_Color color { - float r; float g; float b; float a; - }; - float cornerRadius; - - #ifdef CLAY_EXTEND_CONFIG_RECTANGLE - // Contents of CLAY_EXTEND_CONFIG_RECTANGLE will be pasted here - #endif -} -``` - -As with all config macros, `CLAY_RECTANGLE()` accepts designated initializer syntax and provides default values for any unspecified struct members. - -**Extension** - -The underlying `Clay_RectangleElementConfig` can be extended with new members by using: -```C -#define CLAY_EXTEND_CONFIG_RECTANGLE float newField; -#include "clay.h" // Define your extension before including clay.h -``` - -**Fields** - -**`.color`** - `Clay_Color` - -`CLAY_RECTANGLE({ .color = {120, 120, 120, 255} })` - -Conventionally accepts `rgba` float values between 0 and 255, but interpretation is left up to the renderer and does not affect layout. - ---- - -**`.cornerRadius`** - `float` - -`CLAY_RECTANGLE({ .cornerRadius = { .topLeft = 16, .topRight = 16, .bottomLeft = 16, .bottomRight = 16 })` - -Defines the radius in pixels for the arc of rectangle corners (`0` is square, `rectangle.width / 2` is circular). - -Note that the `CLAY_CORNER_RADIUS(radius)` function-like macro is available to provide short hand for setting all four corner radii to the same value. e.g. `CLAY_BORDER({ .cornerRadius = CLAY_CORNER_RADIUS(10) })` - -**Rendering** - -Element is subject to [culling](#visibility-culling). Otherwise, a single `Clay_RenderCommand`s with `commandType = CLAY_RENDER_COMMAND_TYPE_RECTANGLE` will be created, with `renderCommand->elementConfig.rectangleElementConfig` containing a pointer to the element's Clay_RectangleElementConfig. - -**Examples** - -```C -// Declare a reusable rectangle config, with a purple color and 10px rounded corners -Clay_RectangleElementConfig rectangleConfig = (Clay_RectangleElementConfig) { .color = { 200, 200, 100, 255 }, .cornerRadius = CLAY_CORNER_RADIUS(10) }; -// Declare a rectangle element using a reusable config -CLAY(CLAY_RECTANGLE(rectangleConfig)) {} -// Declare a retangle element using an inline config -CLAY(CLAY_RECTANGLE({ .color = { 200, 200, 100, 255 }, .cornerRadius = CLAY_CORNER_RADIUS(10) })) { - // child elements -} -// Declare a scrolling container with a colored background -CLAY( - CLAY_RECTANGLE({ .color = { 200, 200, 100, 255 }, .cornerRadius = CLAY_CORNER_RADIUS(10) }) - CLAY_SCROLL({ .vertical = true }) -) { - // child elements -} -``` - ---- - -### CLAY_TEXT +### CLAY_TEXT() **Usage** `CLAY_TEXT(Clay_String textContents, Clay_TextElementConfig *textConfig);` **Lifecycle** -`Clay_BeginLayout()` -> `CLAY_TEXT()` -> `Clay_EndLayout()` +`Clay_BeginLayout()` -> `CLAY_TEXT()` -> `Clay_EndLayout()` **Notes** @@ -1066,24 +797,12 @@ Clay_TextElementConfig { uint16_t lineHeight; Clay_TextElementConfigWrapMode wrapMode { CLAY_TEXT_WRAP_WORDS (default), - CLAY_TEXT_WRAP_NEWLINES, - CLAY_TEXT_WRAP_NONE, + CLAY_TEXT_WRAP_NEWLINES, + CLAY_TEXT_WRAP_NONE, }; - - #ifdef CLAY_EXTEND_CONFIG_TEXT - // Contents of CLAY_EXTEND_CONFIG_TEXT will be pasted here - #endif + bool hashStringContents }; ``` -As with all config macros, `CLAY_TEXT_CONFIG()` accepts designated initializer syntax and provides default values for any unspecified struct members. - -**Extension** - -The underlying `Clay_TextElementConfig` can be extended with new members by using: -```C -#define CLAY_EXTEND_CONFIG_TEXT float newField; -#include "clay.h" // Define your extension before including clay.h -``` **Fields** @@ -1098,7 +817,7 @@ Conventionally accepts `rgba` float values between 0 and 255, but interpretation **`.fontId`** `CLAY_TEXT_CONFIG(.fontId = FONT_ID_LATO)` - + It's up to the user to load fonts and create a mapping from `fontId` to a font that can be measured and rendered. --- @@ -1141,6 +860,14 @@ Available options are: --- +**`.hashStringContents`** + +`CLAY_TEXT_CONFIG(.hashStringContents = true)` + +By default, clay will cache the dimensions of text measured by [the provided MeasureText function](#clay_setmeasuretextfunction) based on the string's pointer and length. Setting `.hashStringContents = true` will cause Clay to hash the entire string contents. Used to fix incorrect measurements caused by re-use of string memory, disabled by default as it will incur significant performance overhead for very large bodies of text. + +--- + **Examples** ```C @@ -1149,7 +876,7 @@ const uint32_t FONT_ID_LATO = 3; // .. CLAY_TEXT(CLAY_STRING("John Smith"), CLAY_TEXT_CONFIG({ .fontId = FONT_ID_LATO, .fontSize = 24, .textColor = {255, 0, 0, 255} })); // Rendering example -Font fontToUse = LoadedFonts[renderCommand->elementConfig.textElementConfig->fontId]; +Font fontToUse = LoadedFonts[renderCommand->renderData.text->fontId]; ``` **Rendering** @@ -1160,18 +887,264 @@ Element is subject to [culling](#visibility-culling). Otherwise, multiple `Clay_ --- -### CLAY_IMAGE +### CLAY_ID + **Usage** -`CLAY(CLAY_IMAGE(...image config)) {}` +`CLAY(CLAY_ID(char* idString)) {}` **Lifecycle** -`Clay_BeginLayout()` -> `CLAY(` -> `CLAY_IMAGE()` -> `)` -> `Clay_EndLayout()` +`Clay_BeginLayout()` -> `CLAY(` -> `CLAY_ID()` -> `)` -> `Clay_EndLayout()` **Notes** -**IMAGE** configures a clay element to render an image as its background. It uses Clay_ImageElementConfig for image specific options. +**CLAY_ID()** is used to generate and attach a [Clay_ElementId](#clay_elementid) to a layout element during declaration. + +To regenerate the same ID outside of layout declaration when using utility functions such as [Clay_PointerOver](#clay_pointerover), use the [Clay_GetElementId](#clay_getelementid) function. + +**Examples** + +```C +// Tag a button with the Id "Button" +CLAY({ + .id = CLAY_ID("Button"), + .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_GROW(0) }, .padding = CLAY_PADDING_ALL(16), .childGap = 16 } +}) { + // ...children +} + +// Later on outside of layout code +bool buttonIsHovered = Clay_IsPointerOver(Clay_GetElementId("Button")); +if (buttonIsHovered && leftMouseButtonPressed) { + // ... do some click handling +} +``` + +--- + +### CLAY_IDI() + +`Clay_ElementId CLAY_IDI(char *label, int32_t index)` + +An offset version of [CLAY_ID](#clay_id). Generates a [Clay_ElementId](#clay_elementid) string id from the provided `char *label`, combined with the `int index`. Used for generating ids for sequential elements (such as in a `for` loop) without having to construct dynamic strings at runtime. + +--- + +### CLAY_ID_LOCAL() + +**Usage** + +`CLAY(CLAY_ID_LOCAL(char* idString)) {}` + +**Lifecycle** + +`Clay_BeginLayout()` -> `CLAY(` -> `CLAY_ID_LOCAL()` -> `)` -> `Clay_EndLayout()` + +**Notes** + +**CLAY_ID_LOCAL()** is used to generate and attach a [Clay_ElementId](#clay_elementid) to a layout element during declaration. + +Unlike [CLAY_ID](#clay_id) which needs to be globally unique, a local ID is based on the ID of it's parent and only needs to be unique among its siblings. + +As a result, local id is suitable for use in reusable components and loops. + +**Examples** + +```C +void RenderHeaderButton(ButtonData button) { + CLAY({ + .id = CLAY_ID_LOCAL("HeaderButton"), + .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_GROW(0) }, .padding = CLAY_PADDING_ALL(16), .childGap = 16 } + }) { + // ...children + } +} + +for (int i = 0; i < headerButtons.length; i++) { + RenderHeaderButton(headerButtons.items[i]); +} +``` + +--- + +### CLAY_IDI_LOCAL() + +`Clay_ElementId CLAY_IDI_LOCAL(char *label, int32_t index)` + +An offset version of [CLAY_ID_LOCAL](#clay_local_id). Generates a [Clay_ElementId](#clay_elementid) string id from the provided `char *label`, combined with the `int index`. Used for generating ids for sequential elements (such as in a `for` loop) without having to construct dynamic strings at runtime. + +--- + +## Data Structures & Definitions + +### Clay_ElementDeclaration +The **Clay_ElementDeclaration** struct is the only argument to the `CLAY()` macro and provides configuration options for layout elements. + +```C +typedef struct { + Clay_ElementId id; + Clay_LayoutConfig layout; + Clay_Color backgroundColor; + Clay_CornerRadius cornerRadius; + Clay_ImageElementConfig image; + Clay_FloatingElementConfig floating; + Clay_CustomElementConfig custom; + Clay_ScrollElementConfig scroll; + Clay_BorderElementConfig border; + uintptr_t userData; +} Clay_ElementDeclaration; +``` + +**Fields** + +**`.color`** - `Clay_Color` + +`.backgroundColor = {120, 120, 120, 255} })` + +Conventionally accepts `rgba` float values between 0 and 255, but interpretation is left up to the renderer and does not affect layout. + +--- + +**`.cornerRadius`** - `float` + +`CLAY_RECTANGLE({ .cornerRadius = { .topLeft = 16, .topRight = 16, .bottomLeft = 16, .bottomRight = 16 })` + +Defines the radius in pixels for the arc of rectangle corners (`0` is square, `rectangle.width / 2` is circular). + +Note that the `CLAY_CORNER_RADIUS(radius)` function-like macro is available to provide short hand for setting all four corner radii to the same value. e.g. `CLAY_BORDER({ .cornerRadius = CLAY_CORNER_RADIUS(10) })` + +**Examples** + +```C +// Declare a reusable rectangle config, with a purple color and 10px rounded corners +Clay_RectangleElementConfig rectangleConfig = (Clay_RectangleElementConfig) { .color = { 200, 200, 100, 255 }, .cornerRadius = CLAY_CORNER_RADIUS(10) }; +// Declare a rectangle element using a reusable config +CLAY(rectangleConfig)) {} +// Declare a retangle element using an inline config +CLAY({ .color = { 200, 200, 100, 255 }, .cornerRadius = CLAY_CORNER_RADIUS(10) })) { + // child elements +} +// Declare a scrolling container with a colored background +CLAY({ + .backgroundColor = { 200, 200, 100, 255 }, + .cornerRadius = CLAY_CORNER_RADIUS(10) + CLAY_SCROLL({ .vertical = true }) +) { + // child elements +} +``` + +Element is subject to [culling](#visibility-culling). Otherwise, a single `Clay_RenderCommand`s with `commandType = CLAY_RENDER_COMMAND_TYPE_RECTANGLE` will be created, with `renderCommand->elementConfig.rectangleElementConfig` containing a pointer to the element's Clay_RectangleElementConfig. + +### Clay_LayoutConfig + +**Clay_LayoutConfig** is used for configuring _layout_ options (i.e. options that affect the final position and size of an element, its parents, siblings, and children) + +**Struct API (Pseudocode)** + +```C +// CLAY({ .layout = { ...fields } }) supports these options +Clay_LayoutConfig { + Clay_LayoutDirection layoutDirection = CLAY_LEFT_TO_RIGHT (default) | CLAY_TOP_TO_BOTTOM; + Clay_Padding padding { + u16 left; u16 right; u16 top; u16 bottom; + }; + uint16_t childGap; + Clay_ChildAlignment childAlignment { + .x = CLAY_ALIGN_X_LEFT (default) | CLAY_ALIGN_X_CENTER | CLAY_ALIGN_X_RIGHT; + .y = CLAY_ALIGN_Y_TOP (default) | CLAY_ALIGN_Y_CENTER | CLAY_ALIGN_Y_BOTTOM; + }; + Clay_Sizing sizing { // Recommended to use the provided macros here - see #sizing for more in depth explanation + .width = CLAY_SIZING_FIT(float min, float max) (default) | CLAY_SIZING_GROW(float min, float max) | CLAY_SIZING_FIXED(float width) | CLAY_SIZING_PERCENT(float percent) + .height = CLAY_SIZING_FIT(float min, float max) (default) | CLAY_SIZING_GROW(float min, float max) | CLAY_SIZING_FIXED(float height) | CLAY_SIZING_PERCENT(float percent) + }; // See CLAY_SIZING_GROW() etc for more details +}; +``` + +**Fields** + +**`.layoutDirection`** - `Clay_LayoutDirection` + +`CLAY({ .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM } })` + +Controls the axis / direction in which child elements are laid out. Available options are `CLAY_LEFT_TO_RIGHT` (default) and `CLAY_TOP_TO_BOTTOM`. + +_Did you know that "left to right" and "top to bottom" both have 13 letters?_ + +Screenshot 2024-08-22 at 11 10 27 AM + +--- + +**`.padding`** - `Clay_Padding` + +`CLAY({ .layout = { .padding = { .left = 16, .right = 16, .top = 8, .bottom = 8 } } })` + +Controls white-space "padding" around the **outside** of child elements. + +Screenshot 2024-08-22 at 10 50 49 AM + +--- + +**`.childGap`** - `uint16_t` + +`CLAY({ .layout = { .childGap = 16 } })` + +Controls the white-space **between** child elements as they are laid out. When `.layoutDirection` is `CLAY_LEFT_TO_RIGHT` (default), this will be horizontal space, whereas for `CLAY_TOP_TO_BOTTOM` it will be vertical space. + +Screenshot 2024-08-22 at 11 05 15 AM + +--- + +**`.childAlignment`** - `Clay_ChildAlignment` + +`CLAY({ .layout = { .childAlignment = { .x = CLAY_ALIGN_X_LEFT, .y = CLAY_ALIGN_Y_CENTER } } })` + +Controls the alignment of children relative to the height and width of the parent container. Available options are: +```C +.x = CLAY_ALIGN_X_LEFT (default) | CLAY_ALIGN_X_CENTER | CLAY_ALIGN_X_RIGHT; +.y = CLAY_ALIGN_Y_TOP (default) | CLAY_ALIGN_Y_CENTER | CLAY_ALIGN_Y_BOTTOM; +``` + +Screenshot 2024-08-22 at 11 25 16 AM + +--- + +**`.sizing`** - `Clay_Sizing` + +`CLAY({ .layout = { .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_PERCENT(0.5) } } })` + +Controls how final width and height of element are calculated. The same configurations are available for both the `.width` and `.height` axis. There are several options: + +- `CLAY_SIZING_FIT(float min, float max) (default)` - The element will be sized to fit its children (plus padding and gaps), up to `max`. If `max` is left unspecified, it will default to `FLOAT_MAX`. When elements are compressed to fit into a smaller parent, this element will not shrink below `min`. + +- `CLAY_SIZING_GROW(float min, float max)` - The element will grow to fill available space in its parent, up to `max`. If `max` is left unspecified, it will default to `FLOAT_MAX`. When elements are compressed to fit into a smaller parent, this element will not shrink below `min`. + +- `CLAY_SIZING_FIXED(float fixed)` - The final size will always be exactly the provided `fixed` value. Shorthand for `CLAY_SIZING_FIT(fixed, fixed)` + +- `CLAY_SIZING_PERCENT(float percent)` - Final size will be a percentage of parent size, minus padding and child gaps. `percent` is assumed to be a float between `0` and `1`. + +Screenshot 2024-08-22 at 2 10 33 PM + +Screenshot 2024-08-22 at 2 19 04 PM + + +**Example Usage** + +```C +CLAY({ .id = CLAY_ID("Button"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_GROW(0) }, .padding = CLAY_PADDING_ALL(16, .childGap = 16) } }) { + // Children will be laid out vertically with 16px of padding around and between +} +``` + +--- + +### Clay_ImageElementConfig +**Usage** + +`CLAY({ .image = { ...image config } }) {}` + +**Clay_ImageElementConfig** configures a clay element to render an image as its background. **Struct API (Pseudocode)** @@ -1180,30 +1153,15 @@ Clay_ImageElementConfig { Clay_Dimensions sourceDimensions { float width; float height; }; - // -- - #ifndef CLAY_EXTEND_CONFIG_IMAGE - void * imageData; // Note: This field will be replaced if #define CLAY_EXTEND_CONFIG_IMAGE is specified - #else CLAY_EXTEND_CONFIG_IMAGE - // Contents of CLAY_EXTEND_CONFIG_IMAGE will be pasted here - #endif + void * imageData; }; ``` -As with all config macros, `CLAY_IMAGE_CONFIG()` accepts designated initializer syntax and provides default values for any unspecified struct members. - -**Extension** - -The underlying `Clay_ImageElementConfig` can be extended with new members by using: -```C -#define CLAY_EXTEND_CONFIG_IMAGE float newField; -#include "clay.h" // Define your extension before including clay.h -``` - **Fields** **`.sourceDimensions`** - `Clay_Dimensions` -`CLAY_IMAGE_CONFIG(.sourceDimensions = { 1024, 768 })` +`CLAY({ .image = { .sourceDimensions = { 1024, 768 } } }) {}` Used to perform **aspect ratio scaling** on the image element. As of this version of clay, aspect ratio scaling only applies to the `height` of an image (i.e. image height will scale with width growth and limitations, but width will not scale with height growth and limitations) @@ -1211,31 +1169,15 @@ Used to perform **aspect ratio scaling** on the image element. As of this versio **`.imageData`** - `void *` -`CLAY_IMAGE_CONFIG(.imageData = &myImage)` +`CLAY({ .image = { .imageData = &myImage } }) {}` -`.imageData` is a generic void pointer that can be used to pass through image data to the renderer. **Note:** this field is generally not recommended for usage due to the lack of type safety, see `#define CLAY_EXTEND_CONFIG_IMAGE` in [Preprocessor Directives](#preprocessor-directives) for an alternative. +`.imageData` is a generic void pointer that can be used to pass through image data to the renderer. ```C // Load an image somewhere in your code Image profilePicture = LoadImage("profilePicture.png"); // Note that when rendering, .imageData will be void* type. -CLAY(CLAY_IMAGE({ .imageData = &profilePicture, .sourceDimensions = { 60, 60 } })) {} - -// OR ---------------- - -// Extend CLAY_CUSTOM_IMAGE_CONFIG with your custom image format -#define CLAY_EXTEND_CONFIG_IMAGE struct t_Image image; -// Extensions need to happen _before_ the clay include -#include "clay.h" - -typedef struct t_Image { - ImageFormat format; - u8int_t *internalData; - // ... etc -} Image; - -// You can now use CLAY_IMAGE with your custom type and still have type safety & code completion -CLAY(CLAY_IMAGE({ .image = { .format = IMAGE_FORMAT_RGBA, .internalData = &imageData }, .sourceDimensions = { 60, 60 } })) {} +CLAY({ .image = { .imageData = &profilePicture, .sourceDimensions = { 60, 60 } } }) {} ``` **Examples** @@ -1246,31 +1188,28 @@ Image profilePicture = LoadImage("profilePicture.png"); // Declare a reusable image config Clay_ImageElementConfig imageConfig = (Clay_ImageElementConfig) { .imageData = &profilePicture, .sourceDimensions = {60, 60} }; // Declare an image element using a reusable config -CLAY(CLAY_IMAGE(imageConfig)) {} +CLAY({ .image = imageConfig }) {} // Declare an image element using an inline config -CLAY(CLAY_IMAGE({ .imageData = &profilePicture, .sourceDimensions = {60, 60} })) {} +CLAY({ .image = { .imageData = &profilePicture, .sourceDimensions = {60, 60} } }) {} // Rendering example Image *imageToRender = renderCommand->elementConfig.imageElementConfig->imageData; ``` **Rendering** -Element is subject to [culling](#visibility-culling). Otherwise, a single `Clay_RenderCommand`s with `commandType = CLAY_RENDER_COMMAND_TYPE_IMAGE` will be created. The user will need to access `renderCommand->elementConfig.imageElementConfig->imageData` to retrieve image data referenced during layout creation. It's also up to the user to decide how / if they wish to blend `rectangleElementConfig->color` with the image. +Element is subject to [culling](#visibility-culling). Otherwise, a single `Clay_RenderCommand`s with `commandType = CLAY_RENDER_COMMAND_TYPE_IMAGE` will be created. The user will need to access `renderCommand->renderData.image->imageData` to retrieve image data referenced during layout creation. It's also up to the user to decide how / if they wish to blend `renderCommand->renderData.image->backgroundColor` with the image. --- -### CLAY_SCROLL +### Clay_ScrollElementConfig + **Usage** -`CLAY(CLAY_SCROLL(...scroll config)) {}` - -**Lifecycle** - -`Clay_SetPointerState()` -> `Clay_UpdateScrollContainers()` -> `Clay_BeginLayout()` -> `CLAY(` -> `CLAY_SCROLL()` -> `)` -> `Clay_EndLayout()` +`CLAY({ .scroll = { ...scroll config } }) {}` **Notes** -**SCROLL** configures the element as a scrolling container, enabling masking of children that extend beyond its boundaries. It uses `Clay_ScrollElementConfig` to configure scroll specific options. +`Clay_ScrollElementConfig` configures the element as a scrolling container, enabling masking of children that extend beyond its boundaries. Note: In order to process scrolling based on pointer position and mouse wheel or touch interactions, you must call `Clay_SetPointerState()` and `Clay_UpdateScrollContainers()` _before_ calling `BeginLayout`. @@ -1283,13 +1222,11 @@ Clay_ScrollElementConfig { }; ``` -As with all config macros, `CLAY_SCROLL()` accepts designated initializer syntax and provides default values for any unspecified struct members. - **Fields** **`.horizontal`** - `bool` -`CLAY_SCROLL(.horizontal = true)` +`CLAY({ .scroll = { .horizontal = true } })` Enables or disables horizontal scrolling for this container element. @@ -1297,7 +1234,7 @@ Enables or disables horizontal scrolling for this container element. **`.vertical`** - `bool` -`CLAY_SCROLL(.vertical = true)` +`CLAY({ .scroll = { .vertical = true } })` Enables or disables vertical scrolling for this container element. @@ -1312,118 +1249,94 @@ Enabling scroll for an element will result in two additional render commands: **Examples** ```C -CLAY(CLAY_SCROLL(.vertical = true)) { +CLAY({ .scroll = { .vertical = true } }) { // Create child content with a fixed height of 5000 - CLAY(CLAY_ID("ScrollInner"), CLAY_LAYOUT({ .sizing = { .height = CLAY_SIZING_FIXED(5000) } })) {} + CLAY({ .id = CLAY_ID("ScrollInner"), .layout = { .sizing = { .height = CLAY_SIZING_FIXED(5000) } } }) {} } ``` --- -### CLAY_BORDER +### Clay_BorderElementConfig + **Usage** -`CLAY(CLAY_BORDER(...border config)) {}` - -**Lifecycle** - -`Clay_BeginLayout()` -> `CLAY(` -> `CLAY_BORDER()` -> `)` -> `Clay_EndLayout()` +`CLAY({ .border = { ...border config } }) {}` **Notes** -**BORDER** adds borders to the edges or between the children of elements. It uses Clay_BorderElementConfig to configure border specific options. +`Clay_BorderElementConfig` adds borders to the edges or between the children of elements. It uses Clay_BorderElementConfig to configure border specific options. **Struct Definition (Pseudocode)** ```C typedef struct Clay_BorderElementConfig { - Clay_Border left { - float width; - Clay_Color color { - float r; float g; float b; float a; - }; + Clay_Color color { + float r; float g; float b; float a; }; - Clay_Border right // Exactly the same as left - Clay_Border top // Exactly the same as left - Clay_Border bottom // Exactly the same as left - Clay_Border betweenChildren // Exactly the same as left - Clay_CornerRadius cornerRadius { - float topLeft; - float topRight; - float bottomLeft; - float bottomRight; + Clay_BorderWidth width { + uint16_t left; + uint16_t right; + uint16_t top; + uint16_t bottom; + uint16_t betweenChildren; }; } Clay_BorderElementConfig; ``` -**Usage** - -As with all config macros, `CLAY_BORDER()` accepts designated initializer syntax and provides default values for any unspecified struct members. - **Fields** -**`.left, .right, .top, .bottom`** - `Clay_Border` +**`.width`** - `Clay_BorderWidth` -`CLAY_BORDER({ .left = { 2, COLOR_RED }, .right = { 4, COLOR_YELLOW } /* etc */ })` +`CLAY({ .border = { .width = { .left = 2, .right = 10 } } })` -Indicates to the renderer that a border of `.color` should be draw at the specified edges of the bounding box, **overlapping the box contents by `.width`**. +Indicates to the renderer that a border of `.color` should be draw at the specified edges of the bounding box, **inset and overlapping the box contents by `.width`**. This means that border configuration does not affect layout, as the width of the border doesn't contribute to the total container width or layout position. Border containers with zero padding will be drawn over the top of child elements. ---- +Note: -**`.betweenChildren`** - `Clay_Border` +**`.width.betweenChildren`** -`CLAY_BORDER({ .betweenChildren = { 2, COLOR_RED } })` +`CLAY({ .border = { .width = { .betweenChildren = 2 } }, .color = COLOR_RED })` Configures the width and color of borders to be drawn between children. These borders will be vertical lines if the parent uses `.layoutDirection = CLAY_LEFT_TO_RIGHT` and horizontal lines if the parent uses `CLAY_TOP_TO_BOTTOM`. Unlike `.left, .top` etc, this option **will generate additional rectangle render commands representing the borders between children.** As a result, the renderer does not need to specifically implement rendering for these border elements. --- -**`.cornerRadius`** - `float` +**`.color`** - `Clay_Color` -`CLAY_BORDER({ .cornerRadius = 16 })` +`CLAY({ .border = { .color = { 255, 0, 0, 255 } } })` Defines the radius in pixels for the arc of border corners (`0` is square, `rectangle.width / 2` is circular). It is up to the renderer to decide how to interpolate between differing border widths and colors across shared corners. -Note that the `CLAY_CORNER_RADIUS(radius)` function-like macro is available to provide short hand for setting all four corner radii to the same value. e.g. `CLAY_BORDER(.cornerRadius = CLAY_CORNER_RADIUS(10))` - -**Convenience Macros** - -There are some common cases for border configuration that are repetitive, i.e. specifying the same border around all four edges. Some convenience macros are provided for these cases: - -- `CLAY_BORDER_CONFIG_OUTSIDE({ .width = 2, .color = COLOR_RED })` - Shorthand for configuring all 4 outside borders at once.` -- `CLAY_BORDER_CONFIG_OUTSIDE_RADIUS(width, color, radius)` - Shorthand for configuring all 4 outside borders at once, with the provided `.cornerRadius`. Note this is a function-like macro and does not take `.member = value` syntax. -- `CLAY_BORDER_CONFIG_ALL({ .width = 2, .color = COLOR_RED })` - Shorthand for configuring all 4 outside borders and `.betweenChildren` at once. -- `CLAY_BORDER_CONFIG_ALL_RADIUS(width, color, radius)` - Shorthand for configuring all 4 outside borders and `.betweenChildren` at once, with the provided `cornerRadius`. Note this is a function-like macro and does not take `.member = value` syntax. - **Examples** ```C // 300x300 container with a 1px red border around all the edges -CLAY( - CLAY_ID("OuterBorder"), - CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_FIXED(300)}), - CLAY_BORDER_CONFIG_OUTSIDE({ .color = COLOR_RED, .width = 1 }) -) { +CLAY({ + .id = CLAY_ID("OuterBorder"), + .layout = { .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_FIXED(300) } }, + .border = { .width = { 1, 1, 1, 1, 0 }, .color = COLOR_RED } +}) { // ... } // Container with a 3px yellow bottom border -CLAY( - CLAY_ID("OuterBorder"), - CLAY_BORDER({ .bottom = { .color = COLOR_YELLOW, .width = 3 } }) -) { +CLAY({ + .id = CLAY_ID("OuterBorder"), + .border = { .width = { .bottom = 3 }, .color = COLOR_YELLOW } +}) { // ... } // Container with a 5px curved border around the edges, and a 5px blue border between all children laid out top to bottom -CLAY( - CLAY_ID("OuterBorder"), - CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM }), - CLAY_BORDER_CONFIG_ALL_RADIUS(5, COLOR_BLUE, 5) -) { +CLAY({ + .id = CLAY_ID("OuterBorder"), + .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM }, + .border = { .width = { 5, 5, 5, 5, 5 }, .color = COLOR_BLUE } +}) { // Child // -- 5px blue border will be here -- // Child @@ -1439,18 +1352,15 @@ Rendering of borders and rounded corners is left up to the user. See the provide --- -### CLAY_FLOATING +### Clay_FloatingElementConfig + **Usage** -`CLAY(CLAY_FLOATING(...floating config)) {}` - -**Lifecycle** - -`Clay_BeginLayout()` -> `CLAY(` -> `CLAY_FLOATING()` -> `)` -> `Clay_EndLayout()` +`CLAY({ .floating = { ...floating config } }) {}` **Notes** -**FLOATING** defines an element that "floats" above other content. Typical use-cases include tooltips and modals. +**Floating Elements** defines an element that "floats" above other content. Typical use-cases include tooltips and modals. Floating containers: @@ -1458,13 +1368,13 @@ Floating containers: - Don't affect the width and height of their parent - Don't affect the positioning of sibling elements - Depending on their z-index can appear above or below other elements, partially or completely occluding them -- Apart from positioning, function just like standard `CLAY` elements - including expanding to fit their children, etc. +- Apart from positioning, function just like standard elements - including expanding to fit their children, etc. The easiest mental model to use when thinking about floating containers is that they are a completely separate UI hierarchy, attached to a specific x,y point on their "parent". Floating elements uses `Clay_FloatingElementConfig` to configure specific options. -**Struct Definition (Pseudocode)** +**Struct Definition (Pseudocode)** ```C Clay_FloatingElementConfig { @@ -1474,26 +1384,30 @@ Clay_FloatingElementConfig { Clay_Dimensions expand { float width, float height }; - uint16_t zIndex; uint32_t parentId; - Clay_FloatingAttachPoints attachment { + int16_t zIndex; + Clay_FloatingAttachPoints attachPoint { .element = CLAY_ATTACH_POINT_LEFT_TOP (default) | CLAY_ATTACH_POINT_LEFT_CENTER | CLAY_ATTACH_POINT_LEFT_BOTTOM | CLAY_ATTACH_POINT_CENTER_TOP | CLAY_ATTACH_POINT_CENTER_CENTER | CLAY_ATTACH_POINT_CENTER_BOTTOM | CLAY_ATTACH_POINT_RIGHT_TOP | CLAY_ATTACH_POINT_RIGHT_CENTER | CLAY_ATTACH_POINT_RIGHT_BOTTOM .parent = CLAY_ATTACH_POINT_LEFT_TOP (default) | CLAY_ATTACH_POINT_LEFT_CENTER | CLAY_ATTACH_POINT_LEFT_BOTTOM | CLAY_ATTACH_POINT_CENTER_TOP | CLAY_ATTACH_POINT_CENTER_CENTER | CLAY_ATTACH_POINT_CENTER_BOTTOM | CLAY_ATTACH_POINT_RIGHT_TOP | CLAY_ATTACH_POINT_RIGHT_CENTER | CLAY_ATTACH_POINT_RIGHT_BOTTOM }; - Clay_PointerCaptureMode captureMode { + Clay_FloatingAttachToElement attachTo { CLAY_POINTER_CAPTURE_MODE_CAPTURE (default), CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH }; + Clay_FloatingAttachToElement attachTo { + CLAY_ATTACH_TO_NONE (default), + CLAY_ATTACH_TO_PARENT, + CLAY_ATTACH_TO_ELEMENT_WITH_ID, + CLAY_ATTACH_TO_ROOT, + }; }; ``` -As with all config macros, `CLAY_FLOATING()` accepts designated initializer syntax and provides default values for any unspecified struct members. - **Fields** **`.offset`** - `Clay_Vector2` -`CLAY_FLOATING({ .offset = { -24, -24 } })` +`CLAY({ .floating = { .offset = { -24, -24 } } })` Used to apply a position offset to the floating container _after_ all other layout has been calculated. @@ -1501,7 +1415,7 @@ Used to apply a position offset to the floating container _after_ all other layo **`.expand`** - `Clay_Dimensions` -`CLAY_FLOATING({ .expand = { 16, 16 } })` +`CLAY({ .floating = { .expand = { 16, 16 } } })` Used to expand the width and height of the floating container _before_ laying out child elements. @@ -1509,7 +1423,7 @@ Used to expand the width and height of the floating container _before_ laying ou **`.zIndex`** - `float` -`CLAY_FLOATING({ .zIndex = 1 })` +`CLAY({ .floating = { .zIndex = 1 } })` All floating elements (as well as their entire child hierarchies) will be sorted by `.zIndex` order before being converted to render commands. If render commands are drawn in order, elements with higher `.zIndex` values will be drawn on top. @@ -1517,41 +1431,41 @@ All floating elements (as well as their entire child hierarchies) will be sorted **`.parentId`** - `uint32_t` -`CLAY_FLOATING({ .parentId = Clay_GetElementId("HeaderButton").id })` +`CLAY({ .floating = { .parentId = Clay_GetElementId("HeaderButton").id } })` By default, floating containers will "attach" to the parent element that they are declared inside. However, there are cases where this limitation could cause significant performance or ergonomics problems. `.parentId` allows you to specify a `CLAY_ID().id` to attach the floating container to. The parent element with the matching id can be declared anywhere in the hierarchy, it doesn't need to be declared before or after the floating container in particular. Consider the following case: ```C // Load an image somewhere in your code -CLAY(CLAY_IDI("SidebarButton", 1), &CLAY_LAYOUT_DEFAULT) { +CLAY({ .id = CLAY_IDI("SidebarButton", 1) }) { // .. some button contents if (tooltip.attachedButtonIndex == 1) { - CLAY_FLOATING(/* floating config... */) + CLAY({ /* floating config... */ }) } } -CLAY(CLAY_IDI("SidebarButton", 2), &CLAY_LAYOUT_DEFAULT) { +CLAY({ .id = CLAY_IDI("SidebarButton", 2) }) { // .. some button contents if (tooltip.attachedButtonIndex == 2) { - CLAY_FLOATING(/* floating config... */) + CLAY({ /* floating config... */ }) } } -CLAY(CLAY_IDI("SidebarButton", 3), &CLAY_LAYOUT_DEFAULT) { +CLAY({ .id = CLAY_IDI("SidebarButton", 3) }) { // .. some button contents if (tooltip.attachedButtonIndex == 3) { - CLAY_FLOATING(/* floating config... */) + CLAY({ /* floating config... */ }) } } -CLAY(CLAY_IDI("SidebarButton", 4), &CLAY_LAYOUT_DEFAULT) { +CLAY({ .id = CLAY_IDI("SidebarButton", 4) }) { // .. some button contents if (tooltip.attachedButtonIndex == 4) { - CLAY_FLOATING(/* floating config... */) + CLAY({ /* floating config... */ }) } } -CLAY(CLAY_IDI("SidebarButton", 5), &CLAY_LAYOUT_DEFAULT) { +CLAY({ .id = CLAY_IDI("SidebarButton", 5) }) { // .. some button contents if (tooltip.attachedButtonIndex == 5) { - CLAY_FLOATING(/* floating config... */) + CLAY({ /* floating config... */ }) } } ``` @@ -1560,24 +1474,24 @@ The definition of the above UI is significantly polluted by the need to conditio ```C // Load an image somewhere in your code -CLAY(CLAY_IDI("SidebarButton", 1), &CLAY_LAYOUT_DEFAULT) { +CLAY({ .id = CLAY_IDI("SidebarButton", 1) }) { // .. some button contents } -CLAY(CLAY_IDI("SidebarButton", 2), &CLAY_LAYOUT_DEFAULT) { +CLAY({ .id = CLAY_IDI("SidebarButton", 2) }) { // .. some button contents } -CLAY(CLAY_IDI("SidebarButton", 3), &CLAY_LAYOUT_DEFAULT) { +CLAY({ .id = CLAY_IDI("SidebarButton", 3) }) { // .. some button contents } -CLAY(CLAY_IDI("SidebarButton", 4), &CLAY_LAYOUT_DEFAULT) { +CLAY({ .id = CLAY_IDI("SidebarButton", 4) }) { // .. some button contents } -CLAY(CLAY_IDI("SidebarButton", 5), &CLAY_LAYOUT_DEFAULT) { +CLAY({ .id = CLAY_IDI("SidebarButton", 5) }) { // .. some button contents } // Any other point in the hierarchy -CLAY_FLOATING(CLAY_ID("OptionTooltip"), &CLAY_LAYOUT_DEFAULT, CLAY_FLOATING(.parentId = CLAY_IDI("SidebarButton", tooltip.attachedButtonIndex).id)) { +CLAY({ .id = CLAY_ID("OptionTooltip"), .floating = { .attachTo = CLAY_ATTACH_TO_ELEMENT_ID, .parentId = CLAY_IDI("SidebarButton", tooltip.attachedButtonIndex).id }) { // Tooltip contents... } ``` @@ -1586,7 +1500,7 @@ CLAY_FLOATING(CLAY_ID("OptionTooltip"), &CLAY_LAYOUT_DEFAULT, CLAY_FLOATING(.par **`.attachment`** - `Clay_FloatingAttachPoints` -`CLAY_FLOATING(.attachment = { .element = CLAY_ATTACH_POINT_LEFT_CENTER, .parent = CLAY_ATTACH_POINT_RIGHT_TOP });` +`CLAY({ .floating = { .attachment = { .element = CLAY_ATTACH_POINT_LEFT_CENTER, .parent = CLAY_ATTACH_POINT_RIGHT_TOP } } }) {}` In terms of positioning the floating container, `.attachment` specifies @@ -1601,13 +1515,13 @@ For example: "Attach the LEFT_CENTER of the floating container to the RIGHT_TOP of the parent" -`CLAY_FLOATING({ .attachment = { .element = CLAY_ATTACH_POINT_LEFT_CENTER, .parent = CLAY_ATTACH_POINT_RIGHT_TOP } });` +`CLAY({ .floating = { .attachment = { .element = CLAY_ATTACH_POINT_LEFT_CENTER, .parent = CLAY_ATTACH_POINT_RIGHT_TOP } } });` ![Screenshot 2024-08-23 at 11 53 24 AM](https://github.com/user-attachments/assets/ebe75e0d-1904-46b0-982d-418f929d1516) **`.pointerCaptureMode`** - `Clay_PointerCaptureMode` -`CLAY_FLOATING({ .pointerCaptureMode = CLAY_POINTER_CAPTURE_MODE_CAPTURE })` +`CLAY({ .floating = { .pointerCaptureMode = CLAY_POINTER_CAPTURE_MODE_CAPTURE } })` Controls whether pointer events like hover and click should pass through to content underneath this floating element, or whether the pointer should be "captured" by this floating element. Defaults to `CLAY_POINTER_CAPTURE_MODE_CAPTURE`. @@ -1615,101 +1529,81 @@ Controls whether pointer events like hover and click should pass through to cont ```C // Horizontal container with three option buttons -CLAY(CLAY_ID("OptionsList"), CLAY_LAYOUT(.childGap = 16)) { - CLAY_RECTANGLE(CLAY_IDI("Option", 1), CLAY_LAYOUT(.padding = CLAY_PADDING_ALL(16)), CLAY_RECTANGLE(.color = COLOR_BLUE)) { - CLAY_TEXT(CLAY_IDI("OptionText", 1), CLAY_STRING("Option 1"), CLAY_TEXT_CONFIG()); +CLAY({ .id = CLAY_ID("OptionsList"), .layout = { childGap = 16 } }) { + CLAY({ .id = CLAY_IDI("Option", 1), .layout = { padding = CLAY_PADDING_ALL(16)), .backgroundColor = COLOR_BLUE } }) { + CLAY_TEXT(CLAY_STRING("Option 1"), CLAY_TEXT_CONFIG()); } - CLAY_RECTANGLE(CLAY_IDI("Option", 2), CLAY_LAYOUT(.padding = CLAY_PADDING_ALL(16)), CLAY_RECTANGLE(.color = COLOR_BLUE)) { - CLAY_TEXT(CLAY_IDI("OptionText", 2), CLAY_STRING("Option 2"), CLAY_TEXT_CONFIG()); + CLAY({ .id = CLAY_IDI("Option", 2), .layout = { padding = CLAY_PADDING_ALL(16)), .backgroundColor = COLOR_BLUE } }) { + CLAY_TEXT(CLAY_STRING("Option 2"), CLAY_TEXT_CONFIG()); // Floating tooltip will attach above the "Option 2" container and not affect widths or positions of other elements - CLAY_FLOATING(CLAY_ID("OptionTooltip"), &CLAY_LAYOUT_DEFAULT, CLAY_FLOATING({ .zIndex = 1, .attachment = { .element = CLAY_ATTACH_POINT_CENTER_BOTTOM, .parent = CLAY_ATTACH_POINT_CENTER_TOP } })) { - CLAY_TEXT(CLAY_IDI("OptionTooltipText", 1), CLAY_STRING("Most popular!"), CLAY_TEXT_CONFIG()); + CLAY({ .id = CLAY_ID("OptionTooltip"), .floating = { .zIndex = 1, .attachment = { .element = CLAY_ATTACH_POINT_CENTER_BOTTOM, .parent = CLAY_ATTACH_POINT_CENTER_TOP } } }) { + CLAY_TEXT(CLAY_STRING("Most popular!"), CLAY_TEXT_CONFIG()); } } - CLAY_RECTANGLE(CLAY_IDI("Option", 3), CLAY_LAYOUT(.padding = CLAY_PADDING_ALL(16)), CLAY_RECTANGLE(.color = COLOR_BLUE)) { - CLAY_TEXT(CLAY_IDI("OptionText", 3), CLAY_STRING("Option 3"), CLAY_TEXT_CONFIG()); + CLAY({ .id = CLAY_IDI("Option", 3), .layout = { padding = CLAY_PADDING_ALL(16)), .backgroundColor = COLOR_BLUE } }) { + CLAY_TEXT(CLAY_STRING("Option 3"), CLAY_TEXT_CONFIG()); } } // Floating containers can also be declared elsewhere in a layout, to avoid branching or polluting other UI for (int i = 0; i < 1000; i++) { - CLAY(CLAY_IDI("Option", i + 1), &CLAY_LAYOUT_DEFAULT) { + CLAY({ .id = CLAY_IDI("Option", i + 1) }) { // ... } } // Note the use of "parentId". // Floating tooltip will attach above the "Option 2" container and not affect widths or positions of other elements -CLAY_FLOATING(CLAY_ID("OptionTooltip"), &CLAY_LAYOUT_DEFAULT, CLAY_FLOATING({ .parentId = CLAY_IDI("Option", 2).id, .zIndex = 1, .attachment = { .element = CLAY_ATTACH_POINT_CENTER_BOTTOM, .parent = CLAY_ATTACH_POINT_TOP_CENTER } })) { - CLAY_TEXT(CLAY_IDI("OptionTooltipText", 1), CLAY_STRING("Most popular!"), CLAY_TEXT_CONFIG()); +CLAY({ .id = CLAY_ID("OptionTooltip"), .floating = { .parentId = CLAY_IDI("Option", 2).id, .zIndex = 1, .attachment = { .element = CLAY_ATTACH_POINT_CENTER_BOTTOM, .parent = CLAY_ATTACH_POINT_TOP_CENTER } } }) { + CLAY_TEXT(CLAY_STRING("Most popular!"), CLAY_TEXT_CONFIG()); } ``` -When using `.parentId`, the floating container can be declared anywhere after `BeginLayout` and before `EndLayout`. The target element matching the `.parentId` doesn't need to exist when `CLAY_FLOATING` is called. +When using `.parentId`, the floating container can be declared anywhere after `BeginLayout` and before `EndLayout`. The target element matching the `.parentId` doesn't need to exist when `Clay_FloatingElementConfig` is used. **Rendering** -`CLAY_FLOATING` elements will not generate any render commands. +`Clay_FloatingElementConfig` will not generate any specific render commands. --- -### CLAY_CUSTOM_ELEMENT +### Clay_CustomElementConfig + **Usage** -`CLAY_CUSTOM_ELEMENT(Clay_ElementId id, Clay_LayoutConfig *layoutConfig, Clay_CustomElementConfig *customConfig);` - -**Lifecycle** - -`Clay_BeginLayout()` -> `CLAY_CUSTOM_ELEMENT()` -> `Clay_EndLayout()` +`CLAY({ .custom = { .customData = &something } }) {}` **Notes** -**CUSTOM_ELEMENT** allows the user to pass custom data to the renderer. +**Clay_CustomElementConfig** allows the user to pass custom data to the renderer. **Struct Definition (Pseudocode)** ```C typedef struct { - #ifndef CLAY_EXTEND_CONFIG_CUSTOM - void * customData; // Note: This field will be replaced if #define CLAY_EXTEND_CONFIG_CUSTOM is specified - #else CLAY_EXTEND_CONFIG_CUSTOM - // Contents of CLAY_EXTEND_CONFIG_CUSTOM will be pasted here - #endif + void * customData; } Clay_CustomElementConfig; ``` -As with all config macros, `CLAY_CUSTOM_ELEMENT_CONFIG()` accepts designated initializer syntax and provides default values for any unspecified struct members. - -**Extension** - -The underlying `Clay_ImageCustomConfig` can be extended with new members by using: -```C -#define CLAY_EXTEND_CONFIG_CUSTOM float newField; -#include "clay.h" // Define your extension before including clay.h -``` - **Fields** `.customData` - `void *` -`CLAY_CUSTOM_CONFIG(.customData = &myCustomData)` +`CLAY({ .custom = { .customData = &myCustomData } })` -`.customData` is a generic void pointer that can be used to pass through custom data to the renderer. **Note:** this field is generally not recommended for usage due to the lack of type safety, see `#define CLAY_EXTEND_CONFIG_CUSTOM` in [Preprocessor Directives]() for an alternative. +`.customData` is a generic void pointer that can be used to pass through custom data to the renderer. **Examples** ```C -// Extend CLAY_CUSTOM_ELEMENT_CONFIG with your custom data -#define CLAY_EXTEND_CONFIG_CUSTOM struct t_CustomElementData customData; -// Extensions need to happen _before_ the clay include #include "clay.h" -enum CustomElementType { +typedef enum { CUSTOM_ELEMENT_TYPE_MODEL, CUSTOM_ELEMENT_TYPE_VIDEO -}; +} CustomElementType; // A rough example of how you could handle laying out 3d models in your UI -typedef struct t_CustomElementData { +typedef struct { CustomElementType type; union { Model model; @@ -1720,10 +1614,22 @@ typedef struct t_CustomElementData { Model myModel = Load3DModel(filePath); CustomElement modelElement = (CustomElement) { .type = CUSTOM_ELEMENT_TYPE_MODEL, .model = myModel } + +typedef struct { + void* memory; + uintptr_t offset; +} Arena; + +// During init +Arena frameArena = (Arena) { .memory = malloc(1024) }; + // ... -CLAY(id, style) { - // This config is type safe and contains the CustomElementData struct - CLAY_CUSTOM_ELEMENT(id, layout, CLAY_CUSTOM_ELEMENT_CONFIG(.customData = { .type = CUSTOM_ELEMENT_TYPE_MODEL, .model = myModel })) {} +CLAY(0) { + // Custom elements only take a single pointer, so we need to store the data somewhere + CustomElementData *modelData = (CustomElementData *)(frameArena.memory + frameArena.offset); + *modelData = (CustomElementData) { .type = CUSTOM_ELEMENT_TYPE_MODEL, .model = myModel }; + frameArena.offset += sizeof(CustomElementData); + CLAY({ .custom = { .customData = modelData } }) {} } // Later during your rendering @@ -1731,7 +1637,7 @@ switch (renderCommand->commandType) { // ... case CLAY_RENDER_COMMAND_TYPE_CUSTOM: { // Your extended struct is passed through - CustomElementData *data = renderCommand->elementConfig.customElementConfig->customData; + CustomElementData *customElement = renderCommand->config.customElementConfig->customData; if (!customElement) continue; switch (customElement->type) { case CUSTOM_ELEMENT_TYPE_MODEL: { @@ -1753,8 +1659,6 @@ switch (renderCommand->commandType) { Element is subject to [culling](#visibility-culling). Otherwise, a single `Clay_RenderCommand` with `commandType = CLAY_RENDER_COMMAND_TYPE_CUSTOM` will be created. -## Data Structures & Definitions - ### Clay_String ```C @@ -1844,7 +1748,6 @@ Represents the total capacity of the allocated memory in `.internalArray`. Represents the total number of `Clay_RenderCommand` elements stored consecutively at the address `.internalArray`. - --- **`.internalArray`** - `Clay_RenderCommand` @@ -1856,12 +1759,12 @@ An array of [Clay_RenderCommand](#clay_rendercommand)s representing the calculat ### Clay_RenderCommand ```C -typedef struct -{ +typedef struct { Clay_BoundingBox boundingBox; - Clay_ElementConfigUnion config; - Clay_String text; + Clay_RenderData renderData; + uintptr_t userData; uint32_t id; + int16_t zIndex; Clay_RenderCommandType commandType; } Clay_RenderCommand; ``` @@ -1895,32 +1798,94 @@ A rectangle representing the bounding box of this render command, with `.x` and --- -**`.config`** - `Clay_ElementConfigUnion` - -A C union containing various pointers to config data, with the type dependent on `.commandType`. Possible values include: - -- `config.rectangleElementConfig` - Used when `.commandType == CLAY_RENDER_COMMAND_TYPE_RECTANGLE`. See [CLAY_RECTANGLE](#clay_rectangle) for details. -- `config.textElementConfig` - Used when `.commandType == CLAY_RENDER_COMMAND_TYPE_TEXT`. See [CLAY_TEXT](#clay_text) for details. -- `config.imageElementConfig` - Used when `.commandType == CLAY_RENDER_COMMAND_TYPE_IMAGE`. See [CLAY_IMAGE](#clay_image) for details. -- `config.borderElementConfig` - Used when `.commandType == CLAY_RENDER_COMMAND_TYPE_BORDER`. See [CLAY_BORDER](#clay_border) for details. -- `config.customElementConfig` - Used when `.commandType == CLAY_RENDER_COMMAND_TYPE_CUSTOM`. See [CLAY_CUSTOM](#clay_custom_element) for details. -- `config.floatingElementConfig` - Not used and will always be NULL. -- `config.scrollElementConfig` - Not used and will always be NULL. - ---- - -**`.text`** - `Clay_String` - -Only used if `.commandType == CLAY_RENDER_COMMAND_TYPE_TEXT`. A `Clay_String` containing a string slice (char *chars, int length) representing text to be rendered. **Note: This string is not guaranteed to be null terminated.** Clay saves significant performance overhead by using slices when wrapping text instead of having to clone new null terminated strings. If your renderer does not support **ptr, length** style strings (e.g. Raylib), you will need to clone this to a new C string before rendering. - ---- - **`.id`** - `uint32_t` The id that was originally used with the element macro that created this render command. See [CLAY_ID](#clay_id) for details. --- +**`.zIndex`** - `int16_t` + +The z index of the element, based on what was passed to the root floating configuration that this element is a child of. +Higher z indexes should be rendered _on top_ of lower z indexes. + +--- + +**`.renderData`** - `Clay_RenderData` + +```C +typedef union { + Clay_RectangleRenderData rectangle; + Clay_TextRenderData text; + Clay_ImageRenderData image; + Clay_CustomRenderData custom; + Clay_BorderRenderData border; +} Clay_RenderData; +``` + +A C union containing various structs, with the type dependent on `.commandType`. Possible values include: + +- `config.rectangle` - Used when `.commandType == CLAY_RENDER_COMMAND_TYPE_RECTANGLE`. +- `config.text` - Used when `.commandType == CLAY_RENDER_COMMAND_TYPE_TEXT`. See [Clay_Text](#clay_text) for details. +- `config.image` - Used when `.commandType == CLAY_RENDER_COMMAND_TYPE_IMAGE`. See [Clay_Image](#clay_imageelementconfig) for details. +- `config.border` - Used when `.commandType == CLAY_RENDER_COMMAND_TYPE_BORDER`. See [Clay_Border](#clay_borderelementconfig) for details. +- `config.custom` - Used when `.commandType == CLAY_RENDER_COMMAND_TYPE_CUSTOM`. See [Clay_Custom](#clay_customelementconfig) for details. + +**Union Structs** + +```C +typedef struct { + Clay_StringSlice stringContents; + Clay_Color textColor; + uint16_t fontId; + uint16_t fontSize; + uint16_t letterSpacing; + uint16_t lineHeight; +} Clay_TextRenderData; +``` + +```C +typedef struct { + Clay_Color backgroundColor; + Clay_CornerRadius cornerRadius; +} Clay_RectangleRenderData; +``` + +```C +typedef struct { + Clay_Color backgroundColor; + Clay_CornerRadius cornerRadius; + Clay_Dimensions sourceDimensions; + void* imageData; +} Clay_ImageRenderData; +``` + +```C +typedef struct { + Clay_Color backgroundColor; + Clay_CornerRadius cornerRadius; + void* customData; +} Clay_CustomRenderData; +``` + +```C +typedef struct { + Clay_Color color; + Clay_CornerRadius cornerRadius; + Clay_BorderWidth width; +} Clay_BorderRenderData; +``` + +```C +typedef union { + Clay_RectangleRenderData rectangle; + Clay_TextRenderData text; + Clay_ImageRenderData image; + Clay_CustomRenderData custom; + Clay_BorderRenderData border; +} Clay_RenderData; +``` + ### Clay_ScrollContainerData ```C diff --git a/bindings/odin/build-clay-lib.sh b/bindings/odin/build-clay-lib.sh index 770943f..d05badf 100755 --- a/bindings/odin/build-clay-lib.sh +++ b/bindings/odin/build-clay-lib.sh @@ -1,12 +1,12 @@ cp ../../clay.h clay.c; # Intel Mac -clang -c -DCLAY_IMPLEMENTATION -o clay.o -static -target x86_64-apple-darwin clay.c -fPIC && ar r clay-odin/macos/clay.a clay.o; +clang -c -DCLAY_IMPLEMENTATION -o clay.o -ffreestanding -static -target x86_64-apple-darwin clay.c -fPIC && ar r clay-odin/macos/clay.a clay.o; # ARM Mac clang -c -DCLAY_IMPLEMENTATION -g -o clay.o -static clay.c -fPIC && ar r clay-odin/macos-arm64/clay.a clay.o; # x64 Windows -clang -c -DCLAY_IMPLEMENTATION -o clay-odin/windows/clay.lib -target x86_64-pc-windows-msvc -fuse-ld=llvm-lib -static clay.c; +clang -c -DCLAY_IMPLEMENTATION -o clay-odin/windows/clay.lib -ffreestanding -target x86_64-pc-windows-msvc -fuse-ld=llvm-lib -static clay.c; # Linux -clang -c -DCLAY_IMPLEMENTATION -o clay.o -static -target x86_64-unknown-linux-gnu clay.c -fPIC && ar r clay-odin/linux/clay.a clay.o; +clang -c -DCLAY_IMPLEMENTATION -o clay.o -ffreestanding -static -target x86_64-unknown-linux-gnu clay.c -fPIC && ar r clay-odin/linux/clay.a clay.o; # WASM clang -c -DCLAY_IMPLEMENTATION -o clay-odin/wasm/clay.o -target wasm32 -nostdlib -static clay.c; rm clay.o; diff --git a/bindings/odin/clay-odin/clay.odin b/bindings/odin/clay-odin/clay.odin index b84ebe8..08a3543 100644 --- a/bindings/odin/clay-odin/clay.odin +++ b/bindings/odin/clay-odin/clay.odin @@ -101,7 +101,6 @@ RenderCommandType :: enum EnumBackingType { RectangleElementConfig :: struct { color: Color, - cornerRadius: CornerRadius, } TextWrapMode :: enum EnumBackingType { @@ -129,13 +128,17 @@ CustomElementConfig :: struct { customData: rawptr, } +BorderWidth :: struct { + left: u16, + right: u16, + top: u16, + bottom: u16, + betweenChildren: u16, +} + BorderElementConfig :: struct { - left: BorderData, - right: BorderData, - top: BorderData, - bottom: BorderData, - betweenChildren: BorderData, - cornerRadius: CornerRadius, + color: Color, + width: BorderWidth, } ScrollElementConfig :: struct { @@ -144,15 +147,15 @@ ScrollElementConfig :: struct { } FloatingAttachPointType :: enum EnumBackingType { - LEFT_TOP, - LEFT_CENTER, - LEFT_BOTTOM, - CENTER_TOP, - CENTER_CENTER, - CENTER_BOTTOM, - RIGHT_TOP, - RIGHT_CENTER, - RIGHT_BOTTOM, + LeftTop, + LeftCenter, + LeftBottom, + CenterTop, + CenterCenter, + CenterBottom, + RightTop, + RightCenter, + RightBottom, } FloatingAttachPoints :: struct { @@ -161,34 +164,74 @@ FloatingAttachPoints :: struct { } PointerCaptureMode :: enum EnumBackingType { - CAPTURE, - PASSTHROUGH, + Capture, + Passthrough, +} + +FloatingAttachToElement :: enum EnumBackingType { + None, + Parent, + ElementWithId, + Root, } FloatingElementConfig :: struct { offset: Vector2, expand: Dimensions, - zIndex: u16, parentId: u32, + zIndex: i32, attachment: FloatingAttachPoints, pointerCaptureMode: PointerCaptureMode, + attachTo: FloatingAttachToElement } -ElementConfigUnion :: struct #raw_union { - rectangleElementConfig: ^RectangleElementConfig, - textElementConfig: ^TextElementConfig, - imageElementConfig: ^ImageElementConfig, - customElementConfig: ^CustomElementConfig, - borderElementConfig: ^BorderElementConfig, +TextRenderData :: struct { + stringContents: StringSlice, + textColor: Color, + fontId: u16, + fontSize: u16, + letterSpacing: u16, + lineHeight: u16, +} + +RectangleRenderData :: struct { + backgroundColor: Color, + cornerRadius: CornerRadius, +} + +ImageRenderData :: struct { + backgroundColor: Color, + cornerRadius: CornerRadius, + sourceDimensions: Dimensions, + imageData: rawptr, +} + +CustomRenderData :: struct { + backgroundColor: Color, + cornerRadius: CornerRadius, + customData: rawptr, +} + +BorderRenderData :: struct { + color: Color, + cornerRadius: CornerRadius, + width: BorderWidth, +} + +RenderCommandData :: struct #raw_union { + rectangle: RectangleRenderData, + text: TextRenderData, + image: ImageRenderData, + custom: CustomRenderData, + border: BorderRenderData, } RenderCommand :: struct { - boundingBox: BoundingBox, - config: ElementConfigUnion, - text: StringSlice, - zIndex: i32, - id: u32, - commandType: RenderCommandType, + boundingBox: BoundingBox, + renderData: RenderCommandData, + zIndex: i32, + id: u32, + commandType: RenderCommandType, } ScrollContainerData :: struct { @@ -273,10 +316,16 @@ ClayArray :: struct($type: typeid) { internalArray: [^]type, } -TypedConfig :: struct { - type: ElementConfigType, - config: rawptr, - id: ElementId, +ElementDeclaration :: struct { + id: ElementId, + layout: LayoutConfig, + backgroundColor: Color, + cornerRadius: CornerRadius, + image: ImageElementConfig, + floating: FloatingElementConfig, + custom: CustomElementConfig, + scroll: ScrollElementConfig, + border: BorderElementConfig, } ErrorType :: enum { @@ -321,51 +370,27 @@ foreign Clay { @(link_prefix = "Clay_", default_calling_convention = "c", private) foreign Clay { _OpenElement :: proc() --- + _ConfigureOpenElement :: proc(config: ElementDeclaration) --- _CloseElement :: proc() --- - _ElementPostConfiguration :: proc() --- _OpenTextElement :: proc(text: String, textConfig: ^TextElementConfig) --- - _AttachId :: proc(id: ElementId) --- - _AttachLayoutConfig :: proc(layoutConfig: ^LayoutConfig) --- - _AttachElementConfig :: proc(config: rawptr, type: ElementConfigType) --- - _StoreLayoutConfig :: proc(config: LayoutConfig) -> ^LayoutConfig --- - _StoreRectangleElementConfig :: proc(config: RectangleElementConfig) -> ^RectangleElementConfig --- _StoreTextElementConfig :: proc(config: TextElementConfig) -> ^TextElementConfig --- - _StoreImageElementConfig :: proc(config: ImageElementConfig) -> ^ImageElementConfig --- - _StoreFloatingElementConfig :: proc(config: FloatingElementConfig) -> ^FloatingElementConfig --- - _StoreCustomElementConfig :: proc(config: CustomElementConfig) -> ^CustomElementConfig --- - _StoreScrollElementConfig :: proc(config: ScrollElementConfig) -> ^ScrollElementConfig --- - _StoreBorderElementConfig :: proc(config: BorderElementConfig) -> ^BorderElementConfig --- _HashString :: proc(toHash: String, index: u32, seed: u32) -> ElementId --- _GetOpenLayoutElementId :: proc() -> u32 --- } -@(require_results, deferred_none = _CloseElement) -UI :: proc(configs: ..TypedConfig) -> bool { +ClayOpenElement :: struct { + configure: proc (config: ElementDeclaration) -> bool +} + +ConfigureOpenElement :: proc(config: ElementDeclaration) -> bool { + _ConfigureOpenElement(config) + return true; +} + +@(deferred_none = _CloseElement) +UI :: proc() -> ClayOpenElement { _OpenElement() - for config in configs { - #partial switch (config.type) { - case ElementConfigType.Id: - _AttachId(config.id) - case ElementConfigType.Layout: - _AttachLayoutConfig(cast(^LayoutConfig)config.config) - case: - _AttachElementConfig(config.config, config.type) - } - } - _ElementPostConfiguration() - return true -} - -Layout :: proc(config: LayoutConfig) -> TypedConfig { - return {type = ElementConfigType.Layout, config = _StoreLayoutConfig(config) } -} - -PaddingAll :: proc (padding: u16) -> Padding { - return { padding, padding, padding, padding } -} - -Rectangle :: proc(config: RectangleElementConfig) -> TypedConfig { - return {type = ElementConfigType.Rectangle, config = _StoreRectangleElementConfig(config)} + return { configure = ConfigureOpenElement } } Text :: proc(text: string, config: ^TextElementConfig) { @@ -376,44 +401,8 @@ TextConfig :: proc(config: TextElementConfig) -> ^TextElementConfig { return _StoreTextElementConfig(config) } -Image :: proc(config: ImageElementConfig) -> TypedConfig { - return {type = ElementConfigType.Image, config = _StoreImageElementConfig(config)} -} - -Floating :: proc(config: FloatingElementConfig) -> TypedConfig { - return {type = ElementConfigType.Floating, config = _StoreFloatingElementConfig(config)} -} - -Custom :: proc(config: CustomElementConfig) -> TypedConfig { - return {type = ElementConfigType.Custom, config = _StoreCustomElementConfig(config)} -} - -Scroll :: proc(config: ScrollElementConfig) -> TypedConfig { - return {type = ElementConfigType.Scroll, config = _StoreScrollElementConfig(config)} -} - -Border :: proc(config: BorderElementConfig) -> TypedConfig { - return {type = ElementConfigType.Border, config = _StoreBorderElementConfig(config)} -} - -BorderOutside :: proc(outsideBorders: BorderData) -> TypedConfig { - return { type = ElementConfigType.Border, config = _StoreBorderElementConfig((BorderElementConfig){left = outsideBorders, right = outsideBorders, top = outsideBorders, bottom = outsideBorders}) } -} - -BorderOutsideRadius :: proc(outsideBorders: BorderData, radius: f32) -> TypedConfig { - return { type = ElementConfigType.Border, config = _StoreBorderElementConfig( - (BorderElementConfig){left = outsideBorders, right = outsideBorders, top = outsideBorders, bottom = outsideBorders, cornerRadius = {radius, radius, radius, radius}}, - ) } -} - -BorderAll :: proc(allBorders: BorderData) -> TypedConfig { - return { type = ElementConfigType.Border, config = _StoreBorderElementConfig((BorderElementConfig){left = allBorders, right = allBorders, top = allBorders, bottom = allBorders, betweenChildren = allBorders}) } -} - -BorderAllRadius :: proc(allBorders: BorderData, radius: f32) -> TypedConfig { - return { type = ElementConfigType.Border, config = _StoreBorderElementConfig( - (BorderElementConfig){left = allBorders, right = allBorders, top = allBorders, bottom = allBorders, cornerRadius = {radius, radius, radius, radius}}, - ) } +PaddingAll :: proc(allPadding: u16) -> Padding { + return { left = allPadding, right = allPadding, top = allPadding, bottom = allPadding } } CornerRadiusAll :: proc(radius: f32) -> CornerRadius { @@ -440,6 +429,6 @@ MakeString :: proc(label: string) -> String { return String{chars = raw_data(label), length = cast(c.int)len(label)} } -ID :: proc(label: string, index: u32 = 0) -> TypedConfig { - return { type = ElementConfigType.Id, id = _HashString(MakeString(label), index, 0) } +ID :: proc(label: string, index: u32 = 0) -> ElementId { + return _HashString(MakeString(label), index, 0) } diff --git a/bindings/odin/clay-odin/linux/clay.a b/bindings/odin/clay-odin/linux/clay.a index 02437d899937e81975486a48dac7bdcb84341a00..5c7230166b3ceb0768b457d743ce170707422e46 100644 GIT binary patch literal 167596 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 G|NjH0%} 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

?&=K?nEHFr8mwu+AH!%HbE_{5q7&fpu8zpmS2= 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⪼oav=xMyKT-?PE#vgYonwMO0>3!mTo<+A^P<4I3& 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

j6hV5a%So5wIF#9|z=aD4g`;s0ftMHtDRn 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 literal 166144 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%0A`n2xY(K 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 diff --git a/bindings/odin/clay-odin/wasm/clay.o b/bindings/odin/clay-odin/wasm/clay.o index bf4f8db00c57986c10c7ce8f51b16d4e3e6f1d81..a1240fb9eec47a97becea05814507c0e3c791f4f 100644 GIT binary patch literal 253760 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 z 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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..5d376fb 100644 --- a/bindings/odin/examples/clay-official-website/clay-official-website.odin +++ b/bindings/odin/examples/clay-official-website/clay-official-website.odin @@ -57,46 +57,52 @@ headerTextConfig := clay.TextElementConfig { textColor = {61, 26, 5, 255}, } +border2pxRed := clay.BorderElementConfig { + width = { 2, 2, 2, 2, 0 }, + color = COLOR_RED +} + 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 = border2pxRed, + 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 = { COLOR_RED, { left = 2, right = 2 } }, + }) { + 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 +114,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 +150,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 } }, backgroundColor = COLOR_RED, 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 +171,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 = { width = { betweenChildren = 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 = { width = { betweenChildren = 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 +209,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 = border2pxRed, + }) { 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 +255,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 +271,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 = { COLOR_LIGHT, {2, 2, 2, 2, 2} }, + }) { + 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) }, + backgroundColor = 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) }, + backgroundColor = 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 +296,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 }, + backgroundColor = 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, + }, + backgroundColor = 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) }, + backgroundColor = COLOR_RED, + 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 = border2pxRed }) { + if clay.UI().configure({ + id = clay.ID("RendererButtonInactiveInner", index), + layout = { sizing = { width = clay.SizingFixed(300) }, padding = clay.PaddingAll(16) }, + backgroundColor = COLOR_LIGHT, + 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 +361,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 = { COLOR_RED, { left = 2, right = 2 } }, + }) { 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, + }, + backgroundColor = COLOR_LIGHT, + }) { RendererPage({fontSize = 48, fontId = FONT_ID_TITLE_48, textColor = COLOR_RED}, clay.SizingGrow({})) } } @@ -416,47 +414,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({ }) } }, + backgroundColor = 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"), backgroundColor = {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"), backgroundColor = {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 = border2pxRed, + backgroundColor = clay.PointerOver(clay.GetElementId(clay.MakeString("LinkGithubOuter"))) ? COLOR_LIGHT_HOVER : COLOR_LIGHT, + 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) } }, backgroundColor = COLOR_TOP_BORDER_5 } ) {} + if clay.UI().configure({ id = clay.ID("TopBorder2"), layout = { sizing = { clay.SizingGrow({ }), clay.SizingFixed(4) } }, backgroundColor = COLOR_TOP_BORDER_4 } ) {} + if clay.UI().configure({ id = clay.ID("TopBorder3"), layout = { sizing = { clay.SizingGrow({ }), clay.SizingFixed(4) } }, backgroundColor = COLOR_TOP_BORDER_3 } ) {} + if clay.UI().configure({ id = clay.ID("TopBorder4"), layout = { sizing = { clay.SizingGrow({ }), clay.SizingFixed(4) } }, backgroundColor = COLOR_TOP_BORDER_2 } ) {} + if clay.UI().configure({ id = clay.ID("TopBorder5"), layout = { sizing = { clay.SizingGrow({ }), clay.SizingFixed(4) } }, backgroundColor = 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 }, + backgroundColor = COLOR_LIGHT, + border = { COLOR_RED, { betweenChildren = 2} }, + }) { 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..7a6408c 100644 --- a/bindings/odin/examples/clay-official-website/clay_renderer_raylib.odin +++ b/bindings/odin/examples/clay-official-website/clay_renderer_raylib.odin @@ -56,22 +56,24 @@ clayRaylibRender :: proc(renderCommands: ^clay.ClayArray(clay.RenderCommand), al case clay.RenderCommandType.None: {} case clay.RenderCommandType.Text: + config := renderCommand.renderData.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(config.stringContents.chars[:config.stringContents.length]) cloned := strings.clone_to_cstring(text, allocator) - fontToUse: raylib.Font = raylibFonts[renderCommand.config.textElementConfig.fontId].font + fontToUse: raylib.Font = raylibFonts[config.fontId].font raylib.DrawTextEx( fontToUse, cloned, raylib.Vector2{boundingBox.x, boundingBox.y}, - cast(f32)renderCommand.config.textElementConfig.fontSize, - cast(f32)renderCommand.config.textElementConfig.letterSpacing, - clayColorToRaylibColor(renderCommand.config.textElementConfig.textColor), + cast(f32)config.fontSize, + cast(f32)config.letterSpacing, + clayColorToRaylibColor(config.textColor), ) case clay.RenderCommandType.Image: + config := renderCommand.renderData.image // TODO image handling - imageTexture := cast(^raylib.Texture2D)renderCommand.config.imageElementConfig.imageData - raylib.DrawTextureEx(imageTexture^, raylib.Vector2{boundingBox.x, boundingBox.y}, 0, boundingBox.width / cast(f32)imageTexture.width, raylib.WHITE) + imageTexture := cast(^raylib.Texture2D)config.imageData + raylib.DrawTextureEx(imageTexture^, raylib.Vector2{boundingBox.x, boundingBox.y}, 0, boundingBox.width / cast(f32)imageTexture.width, clayColorToRaylibColor(config.backgroundColor)) case clay.RenderCommandType.ScissorStart: raylib.BeginScissorMode( cast(i32)math.round(boundingBox.x), @@ -82,86 +84,86 @@ clayRaylibRender :: proc(renderCommands: ^clay.ClayArray(clay.RenderCommand), al case clay.RenderCommandType.ScissorEnd: raylib.EndScissorMode() case clay.RenderCommandType.Rectangle: - config: ^clay.RectangleElementConfig = renderCommand.config.rectangleElementConfig + config := renderCommand.renderData.rectangle if (config.cornerRadius.topLeft > 0) { radius: f32 = (config.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)) + raylib.DrawRectangleRounded(raylib.Rectangle{boundingBox.x, boundingBox.y, boundingBox.width, boundingBox.height}, radius, 8, clayColorToRaylibColor(config.backgroundColor)) } else { - raylib.DrawRectangle(cast(i32)boundingBox.x, cast(i32)boundingBox.y, cast(i32)boundingBox.width, cast(i32)boundingBox.height, clayColorToRaylibColor(config.color)) + raylib.DrawRectangle(cast(i32)boundingBox.x, cast(i32)boundingBox.y, cast(i32)boundingBox.width, cast(i32)boundingBox.height, clayColorToRaylibColor(config.backgroundColor)) } case clay.RenderCommandType.Border: - config := renderCommand.config.borderElementConfig + config := renderCommand.renderData.border // Left border - if (config.left.width > 0) { + if (config.width.left > 0) { raylib.DrawRectangle( cast(i32)math.round(boundingBox.x), cast(i32)math.round(boundingBox.y + config.cornerRadius.topLeft), - cast(i32)config.left.width, + cast(i32)config.width.left, cast(i32)math.round(boundingBox.height - config.cornerRadius.topLeft - config.cornerRadius.bottomLeft), - clayColorToRaylibColor(config.left.color), + clayColorToRaylibColor(config.color), ) } // Right border - if (config.right.width > 0) { + if (config.width.right > 0) { raylib.DrawRectangle( - cast(i32)math.round(boundingBox.x + boundingBox.width - cast(f32)config.right.width), + cast(i32)math.round(boundingBox.x + boundingBox.width - cast(f32)config.width.right), cast(i32)math.round(boundingBox.y + config.cornerRadius.topRight), - cast(i32)config.right.width, + cast(i32)config.width.right, cast(i32)math.round(boundingBox.height - config.cornerRadius.topRight - config.cornerRadius.bottomRight), - clayColorToRaylibColor(config.right.color), + clayColorToRaylibColor(config.color), ) } // Top border - if (config.top.width > 0) { + if (config.width.top > 0) { raylib.DrawRectangle( cast(i32)math.round(boundingBox.x + config.cornerRadius.topLeft), cast(i32)math.round(boundingBox.y), cast(i32)math.round(boundingBox.width - config.cornerRadius.topLeft - config.cornerRadius.topRight), - cast(i32)config.top.width, - clayColorToRaylibColor(config.top.color), + cast(i32)config.width.top, + clayColorToRaylibColor(config.color), ) } // Bottom border - if (config.bottom.width > 0) { + if (config.width.bottom > 0) { raylib.DrawRectangle( cast(i32)math.round(boundingBox.x + config.cornerRadius.bottomLeft), - cast(i32)math.round(boundingBox.y + boundingBox.height - cast(f32)config.bottom.width), + cast(i32)math.round(boundingBox.y + boundingBox.height - cast(f32)config.width.bottom), cast(i32)math.round(boundingBox.width - config.cornerRadius.bottomLeft - config.cornerRadius.bottomRight), - cast(i32)config.bottom.width, - clayColorToRaylibColor(config.bottom.color), + cast(i32)config.width.bottom, + clayColorToRaylibColor(config.color), ) } if (config.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), + math.round(config.cornerRadius.topLeft - cast(f32)config.width.top), config.cornerRadius.topLeft, 180, 270, 10, - clayColorToRaylibColor(config.top.color), + clayColorToRaylibColor(config.color), ) } if (config.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), + math.round(config.cornerRadius.topRight - cast(f32)config.width.top), config.cornerRadius.topRight, 270, 360, 10, - clayColorToRaylibColor(config.top.color), + clayColorToRaylibColor(config.color), ) } if (config.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), + math.round(config.cornerRadius.bottomLeft - cast(f32)config.width.top), config.cornerRadius.bottomLeft, 90, 180, 10, - clayColorToRaylibColor(config.bottom.color), + clayColorToRaylibColor(config.color), ) } if (config.cornerRadius.bottomRight > 0) { @@ -170,12 +172,12 @@ clayRaylibRender :: proc(renderCommands: ^clay.ClayArray(clay.RenderCommand), al math.round(boundingBox.x + boundingBox.width - config.cornerRadius.bottomRight), math.round(boundingBox.y + boundingBox.height - config.cornerRadius.bottomRight), }, - math.round(config.cornerRadius.bottomRight - cast(f32)config.bottom.width), + math.round(config.cornerRadius.bottomRight - cast(f32)config.width.bottom), config.cornerRadius.bottomRight, 0.1, 90, 10, - clayColorToRaylibColor(config.bottom.color), + clayColorToRaylibColor(config.color), ) } case clay.RenderCommandType.Custom: diff --git a/clay.h b/clay.h index cb7f91a..8a6bc96 100644 --- a/clay.h +++ b/clay.h @@ -14,6 +14,13 @@ #include #include +// SIMD includes on supported platforms +#if defined(__x86_64__) || defined(_M_X64) || defined(_M_AMD64) +#include +#elif __aarch64__ +#include +#endif + // ----------------------------------------- // HEADER DECLARATIONS --------------------- // ----------------------------------------- @@ -44,29 +51,11 @@ #define CLAY__MAX(x, y) (((x) > (y)) ? (x) : (y)) #define CLAY__MIN(x, y) (((x) < (y)) ? (x) : (y)) -#define CLAY_LAYOUT(...) Clay__AttachLayoutConfig(Clay__StoreLayoutConfig(CLAY__CONFIG_WRAPPER(Clay_LayoutConfig, __VA_ARGS__))) - -#define CLAY_RECTANGLE(...) Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .rectangleElementConfig = Clay__StoreRectangleElementConfig(CLAY__CONFIG_WRAPPER(Clay_RectangleElementConfig, __VA_ARGS__)) }, CLAY__ELEMENT_CONFIG_TYPE_RECTANGLE) - #define CLAY_TEXT_CONFIG(...) Clay__StoreTextElementConfig(CLAY__CONFIG_WRAPPER(Clay_TextElementConfig, __VA_ARGS__)) -#define CLAY_IMAGE(...) Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .imageElementConfig = Clay__StoreImageElementConfig(CLAY__CONFIG_WRAPPER(Clay_ImageElementConfig, __VA_ARGS__)) }, CLAY__ELEMENT_CONFIG_TYPE_IMAGE) +#define CLAY_BORDER_OUTSIDE(widthValue) {widthValue, widthValue, widthValue, widthValue, 0} -#define CLAY_FLOATING(...) Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .floatingElementConfig = Clay__StoreFloatingElementConfig(CLAY__CONFIG_WRAPPER(Clay_FloatingElementConfig, __VA_ARGS__)) }, CLAY__ELEMENT_CONFIG_TYPE_FLOATING_CONTAINER) - -#define CLAY_CUSTOM_ELEMENT(...) Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .customElementConfig = Clay__StoreCustomElementConfig(CLAY__CONFIG_WRAPPER(Clay_CustomElementConfig, __VA_ARGS__)) }, CLAY__ELEMENT_CONFIG_TYPE_CUSTOM) - -#define CLAY_SCROLL(...) Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .scrollElementConfig = Clay__StoreScrollElementConfig(CLAY__CONFIG_WRAPPER(Clay_ScrollElementConfig, __VA_ARGS__)) }, CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER) - -#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_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) - -#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_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 }, .betweenChildren = { width, color }, .cornerRadius = CLAY_CORNER_RADIUS(radius)}) }, CLAY__ELEMENT_CONFIG_TYPE_BORDER_CONTAINER) +#define CLAY_BORDER_ALL(widthValue) {widthValue, widthValue, widthValue, widthValue, widthValue} #define CLAY_CORNER_RADIUS(radius) (CLAY__INIT(Clay_CornerRadius) { radius, radius, radius, radius }) @@ -80,13 +69,13 @@ #define CLAY_SIZING_PERCENT(percentOfParent) (CLAY__INIT(Clay_SizingAxis) { .size = { .percent = (percentOfParent) }, .type = CLAY__SIZING_TYPE_PERCENT }) -#define CLAY_ID(label) Clay__AttachId(Clay__HashString(CLAY_STRING(label), 0, 0)) +#define CLAY_ID(label) CLAY_IDI(label, 0) -#define CLAY_IDI(label, index) Clay__AttachId(Clay__HashString(CLAY_STRING(label), index, 0)) +#define CLAY_IDI(label, index) Clay__HashString(CLAY_STRING(label), index, 0) #define CLAY_ID_LOCAL(label) CLAY_IDI_LOCAL(label, 0) -#define CLAY_IDI_LOCAL(label, index) Clay__AttachId(Clay__HashString(CLAY_STRING(label), index, Clay__GetParentElementId())) +#define CLAY_IDI_LOCAL(label, index) Clay__HashString(CLAY_STRING(label), index, Clay__GetParentElementId()) #define CLAY__STRING_LENGTH(s) ((sizeof(s) / sizeof((s)[0])) - sizeof((s)[0])) @@ -126,7 +115,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__ConfigureOpenElement(CLAY__CONFIG_WRAPPER(Clay_ElementDeclaration, __VA_ARGS__)), 0); \ CLAY__ELEMENT_DEFINITION_LATCH < 1; \ ++CLAY__ELEMENT_DEFINITION_LATCH, Clay__CloseElement() \ ) @@ -218,14 +207,14 @@ typedef struct { } Clay_CornerRadius; typedef CLAY_PACKED_ENUM { - CLAY__ELEMENT_CONFIG_TYPE_NONE = 0, - CLAY__ELEMENT_CONFIG_TYPE_RECTANGLE = 1, - CLAY__ELEMENT_CONFIG_TYPE_BORDER_CONTAINER = 2, - CLAY__ELEMENT_CONFIG_TYPE_FLOATING_CONTAINER = 4, - CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER = 8, - CLAY__ELEMENT_CONFIG_TYPE_IMAGE = 16, - CLAY__ELEMENT_CONFIG_TYPE_TEXT = 32, - CLAY__ELEMENT_CONFIG_TYPE_CUSTOM = 64, + CLAY__ELEMENT_CONFIG_TYPE_NONE, + CLAY__ELEMENT_CONFIG_TYPE_BORDER, + CLAY__ELEMENT_CONFIG_TYPE_FLOATING, + CLAY__ELEMENT_CONFIG_TYPE_SCROLL, + CLAY__ELEMENT_CONFIG_TYPE_IMAGE, + CLAY__ELEMENT_CONFIG_TYPE_TEXT, + CLAY__ELEMENT_CONFIG_TYPE_CUSTOM, + CLAY__ELEMENT_CONFIG_TYPE_SHARED, } Clay__ElementConfigType; // Element Configs --------------------------- @@ -298,20 +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; - Clay_CornerRadius cornerRadius; - #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, @@ -325,20 +302,14 @@ typedef struct { uint16_t lineHeight; Clay_TextElementConfigWrapMode wrapMode; bool hashStringContents; - #ifdef CLAY_EXTEND_CONFIG_TEXT - CLAY_EXTEND_CONFIG_TEXT - #endif } Clay_TextElementConfig; CLAY__WRAPPER_STRUCT(Clay_TextElementConfig); // Image typedef struct { - void *imageData; + void* imageData; Clay_Dimensions sourceDimensions; - #ifdef CLAY_EXTEND_CONFIG_IMAGE - CLAY_EXTEND_CONFIG_IMAGE - #endif } Clay_ImageElementConfig; CLAY__WRAPPER_STRUCT(Clay_ImageElementConfig); @@ -361,30 +332,34 @@ 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, } Clay_PointerCaptureMode; +typedef CLAY_PACKED_ENUM { + CLAY_ATTACH_TO_NONE, + CLAY_ATTACH_TO_PARENT, + CLAY_ATTACH_TO_ELEMENT_WITH_ID, + CLAY_ATTACH_TO_ROOT, +} Clay_FloatingAttachToElement; + typedef struct { Clay_Vector2 offset; Clay_Dimensions expand; - uint16_t zIndex; uint32_t parentId; - Clay_FloatingAttachPoints attachment; + int16_t zIndex; + Clay_FloatingAttachPoints attachPoints; Clay_PointerCaptureMode pointerCaptureMode; + Clay_FloatingAttachToElement attachTo; } Clay_FloatingElementConfig; CLAY__WRAPPER_STRUCT(Clay_FloatingElementConfig); // Custom typedef struct { - #ifndef CLAY_EXTEND_CONFIG_CUSTOM - void *customData; - #else - CLAY_EXTEND_CONFIG_CUSTOM - #endif + void* customData; } Clay_CustomElementConfig; CLAY__WRAPPER_STRUCT(Clay_CustomElementConfig); @@ -397,40 +372,71 @@ typedef struct { CLAY__WRAPPER_STRUCT(Clay_ScrollElementConfig); +// Shared +typedef struct { + Clay_Color backgroundColor; + Clay_CornerRadius cornerRadius; + void* userData; +} Clay_SharedElementConfig; + +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_CornerRadius cornerRadius; - #ifdef CLAY_EXTEND_CONFIG_BORDER - CLAY_EXTEND_CONFIG_BORDER - #endif + Clay_Color color; + Clay_BorderWidth width; } Clay_BorderElementConfig; 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_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 { @@ -464,10 +470,11 @@ typedef CLAY_PACKED_ENUM { typedef struct { Clay_BoundingBox boundingBox; - Clay_ElementConfigUnion config; - Clay_StringSlice text; // TODO I wish there was a way to avoid having to have this on every render command - int32_t zIndex; + Clay_RenderData renderData; + // A pointer passed through from the element declaration + void *userData; uint32_t id; + int16_t zIndex; Clay_RenderCommandType commandType; } Clay_RenderCommand; @@ -489,6 +496,22 @@ typedef struct { Clay_PointerDataInteractionState state; } Clay_PointerData; +typedef struct { + Clay_ElementId id; + Clay_LayoutConfig layout; + Clay_Color backgroundColor; + Clay_CornerRadius cornerRadius; + Clay_ImageElementConfig image; + Clay_FloatingElementConfig floating; + Clay_CustomElementConfig custom; + Clay_ScrollElementConfig scroll; + Clay_BorderElementConfig border; + // A pointer that will be transparently passed through to resulting render commands. + void *userData; +} Clay_ElementDeclaration; + +CLAY__WRAPPER_STRUCT(Clay_ElementDeclaration); + typedef CLAY_PACKED_ENUM { CLAY_ERROR_TYPE_TEXT_MEASUREMENT_FUNCTION_NOT_PROVIDED, CLAY_ERROR_TYPE_ARENA_CAPACITY_EXCEEDED, @@ -502,12 +525,12 @@ typedef CLAY_PACKED_ENUM { typedef struct { Clay_ErrorType errorType; Clay_String errorText; - uintptr_t userData; + void *userData; } Clay_ErrorData; typedef struct { void (*errorHandlerFunction)(Clay_ErrorData errorText); - uintptr_t userData; + void *userData; } Clay_ErrorHandler; // Function Forward Declarations --------------------------------- @@ -529,8 +552,9 @@ bool Clay_Hovered(void); void Clay_OnHover(void (*onHoverFunction)(Clay_ElementId elementId, Clay_PointerData pointerData, intptr_t userData), intptr_t userData); bool Clay_PointerOver(Clay_ElementId elementId); Clay_ScrollContainerData Clay_GetScrollContainerData(Clay_ElementId id); -void Clay_SetMeasureTextFunction(Clay_Dimensions (*measureTextFunction)(Clay_StringSlice text, Clay_TextElementConfig *config, uintptr_t userData), uintptr_t userData); -void Clay_SetQueryScrollOffsetFunction(Clay_Vector2 (*queryScrollOffsetFunction)(uint32_t elementId, uintptr_t userData), uintptr_t userData); +Clay_TextElementConfig * Clay__StoreTextElementConfig(Clay_TextElementConfig config); +void Clay_SetMeasureTextFunction(Clay_Dimensions (*measureTextFunction)(Clay_StringSlice text, Clay_TextElementConfig *config, void *userData), void *userData); +void Clay_SetQueryScrollOffsetFunction(Clay_Vector2 (*queryScrollOffsetFunction)(uint32_t elementId, void *userData), void *userData); Clay_RenderCommand * Clay_RenderCommandArray_Get(Clay_RenderCommandArray* array, int32_t index); void Clay_SetDebugModeEnabled(bool enabled); bool Clay_IsDebugModeEnabled(void); @@ -543,19 +567,10 @@ void Clay_ResetMeasureTextCache(void); // Internal API functions required by macros void Clay__OpenElement(void); +void Clay__ConfigureOpenElement(const Clay_ElementDeclaration config); void Clay__CloseElement(void); Clay_LayoutConfig * Clay__StoreLayoutConfig(Clay_LayoutConfig config); -void Clay__ElementPostConfiguration(void); -void Clay__AttachId(Clay_ElementId id); -void Clay__AttachLayoutConfig(Clay_LayoutConfig *config); -void Clay__AttachElementConfig(Clay_ElementConfigUnion config, Clay__ElementConfigType type); -Clay_RectangleElementConfig * Clay__StoreRectangleElementConfig(Clay_RectangleElementConfig config); -Clay_TextElementConfig * Clay__StoreTextElementConfig(Clay_TextElementConfig config); -Clay_ImageElementConfig * Clay__StoreImageElementConfig(Clay_ImageElementConfig config); -Clay_FloatingElementConfig * Clay__StoreFloatingElementConfig(Clay_FloatingElementConfig config); -Clay_CustomElementConfig * Clay__StoreCustomElementConfig(Clay_CustomElementConfig config); -Clay_ScrollElementConfig * Clay__StoreScrollElementConfig(Clay_ScrollElementConfig config); -Clay_BorderElementConfig * Clay__StoreBorderElementConfig(Clay_BorderElementConfig config); +Clay_ElementId Clay__AttachId(Clay_ElementId id); 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); @@ -585,6 +600,10 @@ 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; +Clay_BorderWidth Clay__BorderWidth_DEFAULT = CLAY__DEFAULT_STRUCT; + #define CLAY__ARRAY_DEFINE_FUNCTIONS(typeName, arrayName) \ \ typedef struct \ @@ -687,9 +706,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) @@ -697,8 +714,26 @@ CLAY__ARRAY_DEFINE(Clay_CustomElementConfig, Clay__CustomElementConfigArray) CLAY__ARRAY_DEFINE(Clay_ScrollElementConfig, Clay__ScrollElementConfigArray) CLAY__ARRAY_DEFINE(Clay_BorderElementConfig, Clay__BorderElementConfigArray) 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; @@ -729,7 +764,6 @@ typedef struct { Clay_Dimensions minDimensions; Clay_LayoutConfig *layoutConfig; Clay__ElementConfigArraySlice elementConfigs; - uint32_t configsEnabled; uint32_t id; } Clay_LayoutElement; @@ -805,7 +839,7 @@ typedef struct { int32_t layoutElementIndex; uint32_t parentId; // This can be zero in the case of the root layout tree uint32_t clipElementId; // This can be zero if there is no clip element - int32_t zIndex; + int16_t zIndex; Clay_Vector2 pointerOffset; // Only used when scroll containers are managed externally } Clay__LayoutElementTreeRoot; @@ -829,8 +863,8 @@ struct Clay_Context { uint32_t debugSelectedElementId; uint32_t generation; uintptr_t arenaResetOffset; - uintptr_t mesureTextUserData; - uintptr_t queryScrollOffsetUserData; + void *measureTextUserData; + void *queryScrollOffsetUserData; Clay_Arena internalArena; // Layout Elements / Render Commands Clay_LayoutElementArray layoutElements; @@ -844,15 +878,14 @@ struct Clay_Context { Clay__int32_tArray layoutElementClipElementIds; // Configs Clay__LayoutConfigArray layoutConfigs; - Clay__ElementConfigArray elementConfigBuffer; Clay__ElementConfigArray elementConfigs; - Clay__RectangleElementConfigArray rectangleElementConfigs; Clay__TextElementConfigArray textElementConfigs; Clay__ImageElementConfigArray imageElementConfigs; Clay__FloatingElementConfigArray floatingElementConfigs; Clay__ScrollElementConfigArray scrollElementConfigs; Clay__CustomElementConfigArray customElementConfigs; Clay__BorderElementConfigArray borderElementConfigs; + Clay__SharedElementConfigArray sharedElementConfigs; // Misc Data Structures Clay__StringArray layoutElementIdStrings; Clay__WrappedTextLineArray wrappedTextLines; @@ -895,11 +928,11 @@ Clay_String Clay__WriteStringToCharBuffer(Clay__charArray *buffer, Clay_String s } #ifdef CLAY_WASM - __attribute__((import_module("clay"), import_name("measureTextFunction"))) Clay_Dimensions Clay__MeasureText(Clay_StringSlice text, Clay_TextElementConfig *config, uintptr_t userData); - __attribute__((import_module("clay"), import_name("queryScrollOffsetFunction"))) Clay_Vector2 Clay__QueryScrollOffset(uint32_t elementId, uintptr_t userData); + __attribute__((import_module("clay"), import_name("measureTextFunction"))) Clay_Dimensions Clay__MeasureText(Clay_StringSlice text, Clay_TextElementConfig *config, void *userData); + __attribute__((import_module("clay"), import_name("queryScrollOffsetFunction"))) Clay_Vector2 Clay__QueryScrollOffset(uint32_t elementId, void *userData); #else - Clay_Dimensions (*Clay__MeasureText)(Clay_StringSlice text, Clay_TextElementConfig *config, uintptr_t userData); - Clay_Vector2 (*Clay__QueryScrollOffset)(uint32_t elementId, uintptr_t userData); + Clay_Dimensions (*Clay__MeasureText)(Clay_StringSlice text, Clay_TextElementConfig *config, void *userData); + Clay_Vector2 (*Clay__QueryScrollOffset)(uint32_t elementId, void *userData); #endif Clay_LayoutElement* Clay__GetOpenLayoutElement(void) { @@ -912,8 +945,23 @@ 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_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); } +Clay_CustomElementConfig * Clay__StoreCustomElementConfig(Clay_CustomElementConfig config) { return Clay_GetCurrentContext()->booleanWarnings.maxElementsExceeded ? &Clay_CustomElementConfig_DEFAULT : Clay__CustomElementConfigArray_Add(&Clay_GetCurrentContext()->customElementConfigs, config); } +Clay_ScrollElementConfig * Clay__StoreScrollElementConfig(Clay_ScrollElementConfig config) { return Clay_GetCurrentContext()->booleanWarnings.maxElementsExceeded ? &Clay_ScrollElementConfig_DEFAULT : Clay__ScrollElementConfigArray_Add(&Clay_GetCurrentContext()->scrollElementConfigs, config); } +Clay_BorderElementConfig * Clay__StoreBorderElementConfig(Clay_BorderElementConfig config) { return Clay_GetCurrentContext()->booleanWarnings.maxElementsExceeded ? &Clay_BorderElementConfig_DEFAULT : Clay__BorderElementConfigArray_Add(&Clay_GetCurrentContext()->borderElementConfigs, config); } +Clay_SharedElementConfig * Clay__StoreSharedElementConfig(Clay_SharedElementConfig config) { return Clay_GetCurrentContext()->booleanWarnings.maxElementsExceeded ? &Clay_SharedElementConfig_DEFAULT : Clay__SharedElementConfigArray_Add(&Clay_GetCurrentContext()->sharedElementConfigs, config); } + +Clay_ElementConfig Clay__AttachElementConfig(Clay_ElementConfigUnion config, Clay__ElementConfigType type) { + Clay_Context* context = Clay_GetCurrentContext(); + if (context->booleanWarnings.maxElementsExceeded) { + return CLAY__INIT(Clay_ElementConfig) CLAY__DEFAULT_STRUCT; + } + Clay_LayoutElement *openLayoutElement = Clay__GetOpenLayoutElement(); + openLayoutElement->elementConfigs.length++; + return *Clay__ElementConfigArray_Add(&context->elementConfigs, CLAY__INIT(Clay_ElementConfig) { .type = type, .config = config }); } Clay_ElementConfigUnion Clay__FindElementConfigWithType(Clay_LayoutElement *element, Clay__ElementConfigType type) { @@ -961,29 +1009,6 @@ Clay_ElementId Clay__HashString(Clay_String key, const uint32_t offset, const ui return CLAY__INIT(Clay_ElementId) { .id = hash + 1, .offset = offset, .baseId = base + 1, .stringId = key }; // Reserve the hash result of zero as "null id" } -Clay_ElementId Clay__Rehash(Clay_ElementId elementId, uint32_t number) { - uint32_t id = elementId.baseId; - id += number; - id += (id << 10); - id ^= (id >> 6); - - id += (id << 3); - id ^= (id >> 11); - id += (id << 15); - return CLAY__INIT(Clay_ElementId) { .id = id, .offset = number, .baseId = elementId.baseId, .stringId = elementId.stringId }; -} - -uint32_t Clay__RehashWithNumber(uint32_t id, uint32_t number) { - id += number; - id += (id << 10); - id ^= (id >> 6); - - id += (id << 3); - id ^= (id >> 11); - id += (id << 15); - return id; -} - uint32_t Clay__HashTextWithConfig(Clay_String *text, Clay_TextElementConfig *config) { uint32_t hash = 0; uintptr_t pointerAsNumber = (uintptr_t)text->chars; @@ -1123,7 +1148,7 @@ Clay__MeasureTextCacheItem *Clay__MeasureTextCached(Clay_String *text, Clay_Text float lineWidth = 0; float measuredWidth = 0; float measuredHeight = 0; - float spaceWidth = Clay__MeasureText(CLAY__INIT(Clay_StringSlice) { .length = 1, .chars = CLAY__SPACECHAR.chars, .baseChars = CLAY__SPACECHAR.chars }, config, context->mesureTextUserData).width; + float spaceWidth = Clay__MeasureText(CLAY__INIT(Clay_StringSlice) { .length = 1, .chars = CLAY__SPACECHAR.chars, .baseChars = CLAY__SPACECHAR.chars }, config, context->measureTextUserData).width; Clay__MeasuredWord tempWord = { .next = -1 }; Clay__MeasuredWord *previousWord = &tempWord; while (end < text->length) { @@ -1140,7 +1165,7 @@ Clay__MeasureTextCacheItem *Clay__MeasureTextCached(Clay_String *text, Clay_Text char current = text->chars[end]; if (current == ' ' || current == '\n') { int32_t length = end - start; - Clay_Dimensions dimensions = Clay__MeasureText(CLAY__INIT(Clay_StringSlice) { .length = length, .chars = &text->chars[start], .baseChars = text->chars }, config, context->mesureTextUserData); + Clay_Dimensions dimensions = Clay__MeasureText(CLAY__INIT(Clay_StringSlice) { .length = length, .chars = &text->chars[start], .baseChars = text->chars }, config, context->measureTextUserData); measuredHeight = CLAY__MAX(measuredHeight, dimensions.height); if (current == ' ') { dimensions.width += spaceWidth; @@ -1162,7 +1187,7 @@ Clay__MeasureTextCacheItem *Clay__MeasureTextCached(Clay_String *text, Clay_Text end++; } if (end - start > 0) { - Clay_Dimensions dimensions = Clay__MeasureText(CLAY__INIT(Clay_StringSlice) { .length = end - start, .chars = &text->chars[start], .baseChars = text->chars }, config, context->mesureTextUserData); + Clay_Dimensions dimensions = Clay__MeasureText(CLAY__INIT(Clay_StringSlice) { .length = end - start, .chars = &text->chars[start], .baseChars = text->chars }, config, context->measureTextUserData); Clay__AddMeasuredWord(CLAY__INIT(Clay__MeasuredWord) { .startOffset = start, .length = end - start, .width = dimensions.width, .next = -1 }, previousWord); lineWidth += dimensions.width; measuredHeight = CLAY__MAX(measuredHeight, dimensions.height); @@ -1250,95 +1275,13 @@ void Clay__GenerateIdForAnonymousElement(Clay_LayoutElement *openLayoutElement) Clay__StringArray_Add(&context->layoutElementIdStrings, elementId.stringId); } -void Clay__ElementPostConfiguration(void) { - Clay_Context* context = Clay_GetCurrentContext(); - if (context->booleanWarnings.maxElementsExceeded) { - return; - } - Clay_LayoutElement *openLayoutElement = Clay__GetOpenLayoutElement(); - // ID - if (openLayoutElement->id == 0) { - Clay__GenerateIdForAnonymousElement(openLayoutElement); - } - // Layout Config - if (!openLayoutElement->layoutConfig) { - openLayoutElement->layoutConfig = &CLAY_LAYOUT_DEFAULT; - } - - // Loop through element configs and handle special cases - openLayoutElement->elementConfigs.internalArray = &context->elementConfigs.internalArray[context->elementConfigs.length]; - for (int32_t elementConfigIndex = 0; elementConfigIndex < openLayoutElement->elementConfigs.length; elementConfigIndex++) { - Clay_ElementConfig *config = Clay__ElementConfigArray_Add(&context->elementConfigs, *Clay__ElementConfigArray_Get(&context->elementConfigBuffer, context->elementConfigBuffer.length - openLayoutElement->elementConfigs.length + elementConfigIndex)); - openLayoutElement->configsEnabled |= config->type; - switch (config->type) { - case CLAY__ELEMENT_CONFIG_TYPE_RECTANGLE: - case CLAY__ELEMENT_CONFIG_TYPE_BORDER_CONTAINER: break; - case CLAY__ELEMENT_CONFIG_TYPE_FLOATING_CONTAINER: { - Clay_FloatingElementConfig *floatingConfig = config->config.floatingElementConfig; - // This looks dodgy but because of the auto generated root element the depth of the tree will always be at least 2 here - Clay_LayoutElement *hierarchicalParent = Clay_LayoutElementArray_Get(&context->layoutElements, Clay__int32_tArray_GetValue(&context->openLayoutElementStack, context->openLayoutElementStack.length - 2)); - if (!hierarchicalParent) { - break; - } - uint32_t clipElementId = 0; - if (floatingConfig->parentId == 0) { - // If no parent id was specified, attach to the elements direct hierarchical parent - Clay_FloatingElementConfig newConfig = *floatingConfig; - newConfig.parentId = hierarchicalParent->id; - floatingConfig = Clay__FloatingElementConfigArray_Add(&context->floatingElementConfigs, newConfig); - config->config.floatingElementConfig = floatingConfig; - if (context->openClipElementStack.length > 0) { - clipElementId = Clay__int32_tArray_GetValue(&context->openClipElementStack, (int)context->openClipElementStack.length - 1); - } - } else { - Clay_LayoutElementHashMapItem *parentItem = Clay__GetHashMapItem(floatingConfig->parentId); - if (!parentItem) { - context->errorHandler.errorHandlerFunction(CLAY__INIT(Clay_ErrorData) { - .errorType = CLAY_ERROR_TYPE_FLOATING_CONTAINER_PARENT_NOT_FOUND, - .errorText = CLAY_STRING("A floating element was declared with a parentId, but no element with that ID was found."), - .userData = context->errorHandler.userData }); - } else { - clipElementId = Clay__int32_tArray_GetValue(&context->layoutElementClipElementIds, parentItem->layoutElement - context->layoutElements.internalArray); - } - } - Clay__LayoutElementTreeRootArray_Add(&context->layoutElementTreeRoots, CLAY__INIT(Clay__LayoutElementTreeRoot) { - .layoutElementIndex = Clay__int32_tArray_GetValue(&context->openLayoutElementStack, context->openLayoutElementStack.length - 1), - .parentId = floatingConfig->parentId, - .clipElementId = clipElementId, - .zIndex = floatingConfig->zIndex, - }); - break; - } - case CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER: { - Clay__int32_tArray_Add(&context->openClipElementStack, (int)openLayoutElement->id); - // Retrieve or create cached data to track scroll position across frames - Clay__ScrollContainerDataInternal *scrollOffset = CLAY__NULL; - for (int32_t i = 0; i < context->scrollContainerDatas.length; i++) { - Clay__ScrollContainerDataInternal *mapping = Clay__ScrollContainerDataInternalArray_Get(&context->scrollContainerDatas, i); - if (openLayoutElement->id == mapping->elementId) { - scrollOffset = mapping; - scrollOffset->layoutElement = openLayoutElement; - scrollOffset->openThisFrame = true; - } - } - if (!scrollOffset) { - scrollOffset = Clay__ScrollContainerDataInternalArray_Add(&context->scrollContainerDatas, CLAY__INIT(Clay__ScrollContainerDataInternal){.layoutElement = openLayoutElement, .scrollOrigin = {-1,-1}, .elementId = openLayoutElement->id, .openThisFrame = true}); - } - if (context->externalScrollHandlingEnabled) { - scrollOffset->scrollPosition = Clay__QueryScrollOffset(scrollOffset->elementId, context->queryScrollOffsetUserData); - } - break; - } - case CLAY__ELEMENT_CONFIG_TYPE_CUSTOM: break; - case CLAY__ELEMENT_CONFIG_TYPE_IMAGE: { - Clay__int32_tArray_Add(&context->imageElementPointers, context->layoutElements.length - 1); - break; - } - case CLAY__ELEMENT_CONFIG_TYPE_TEXT: - default: break; +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; } } - context->elementConfigBuffer.length -= openLayoutElement->elementConfigs.length; + return false; } void Clay__CloseElement(void) { @@ -1350,11 +1293,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_CONTAINER)) { - Clay_ScrollElementConfig *scrollConfig = Clay__FindElementConfigWithType(openLayoutElement, CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER).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 @@ -1424,7 +1370,7 @@ void Clay__CloseElement(void) { openLayoutElement->dimensions.height = 0; } - bool elementIsFloating = Clay__ElementHasConfig(openLayoutElement, CLAY__ELEMENT_CONFIG_TYPE_FLOATING_CONTAINER); + bool elementIsFloating = Clay__ElementHasConfig(openLayoutElement, CLAY__ELEMENT_CONFIG_TYPE_FLOATING); // Close the currently open element int32_t closingElementIndex = Clay__int32_tArray_RemoveSwapback(&context->openLayoutElementStack, (int)context->openLayoutElementStack.length - 1); @@ -1436,6 +1382,71 @@ void Clay__CloseElement(void) { } } +bool Clay__MemCmp(const char *s1, const char *s2, int32_t length); +#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); + __m128i v2 = _mm_loadu_si128((const __m128i *)s2); + + if (_mm_movemask_epi8(_mm_cmpeq_epi8(v1, v2)) != 0xFFFFFFFF) { // If any byte differs + return false; + } + + s1 += 16; + s2 += 16; + length -= 16; + } + + // Handle remaining bytes + while (length--) { + if (*s1 != *s2) { + return false; + } + s1++; + s2++; + } + + return true; + } +#elif defined(__aarch64__) + bool Clay__MemCmp(const char *s1, const char *s2, int32_t length) { + while (length >= 16) { + uint8x16_t v1 = vld1q_u8((const uint8_t *)s1); + uint8x16_t v2 = vld1q_u8((const uint8_t *)s2); + + // Compare vectors + if (vminvq_u32(vceqq_u8(v1, v2)) != 0xFFFFFFFF) { // If there's a difference + return false; + } + + s1 += 16; + s2 += 16; + length -= 16; + } + + // Handle remaining bytes + while (length--) { + if (*s1 != *s2) { + return false; + } + s1++; + s2++; + } + + return true; + } +#else + bool Clay__MemCmp(const char *s1, const char *s2, int32_t length) { + for (int32_t i = 0; i < length; i++) { + if (s1[i] != s2[i]) { + return false; + } + } + return true; + } +#endif + void Clay__OpenElement(void) { Clay_Context* context = Clay_GetCurrentContext(); if (context->layoutElements.length == context->layoutElements.capacity - 1 || context->booleanWarnings.maxElementsExceeded) { @@ -1459,28 +1470,129 @@ void Clay__OpenTextElement(Clay_String text, Clay_TextElementConfig *textConfig) return; } Clay_LayoutElement *parentElement = Clay__GetOpenLayoutElement(); - parentElement->childrenOrTextContent.children.length++; - Clay__OpenElement(); - Clay_LayoutElement * openLayoutElement = Clay__GetOpenLayoutElement(); + Clay_LayoutElement layoutElement = CLAY__DEFAULT_STRUCT; + Clay_LayoutElement *textElement = Clay_LayoutElementArray_Add(&context->layoutElements, layoutElement); + if (context->openClipElementStack.length > 0) { + Clay__int32_tArray_Set(&context->layoutElementClipElementIds, context->layoutElements.length - 1, Clay__int32_tArray_GetValue(&context->openClipElementStack, (int)context->openClipElementStack.length - 1)); + } else { + Clay__int32_tArray_Set(&context->layoutElementClipElementIds, context->layoutElements.length - 1, 0); + } + Clay__int32_tArray_Add(&context->layoutElementChildrenBuffer, context->layoutElements.length - 1); Clay__MeasureTextCacheItem *textMeasured = Clay__MeasureTextCached(&text, textConfig); - Clay_ElementId elementId = Clay__HashString(CLAY_STRING("Text"), parentElement->childrenOrTextContent.children.length, parentElement->id); - openLayoutElement->id = elementId.id; - Clay__AddHashMapItem(elementId, openLayoutElement); + Clay_ElementId elementId = Clay__HashNumber(parentElement->childrenOrTextContent.children.length, parentElement->id); + textElement->id = elementId.id; + Clay__AddHashMapItem(elementId, textElement); Clay__StringArray_Add(&context->layoutElementIdStrings, elementId.stringId); Clay_Dimensions textDimensions = { .width = textMeasured->unwrappedDimensions.width, .height = textConfig->lineHeight > 0 ? (float)textConfig->lineHeight : textMeasured->unwrappedDimensions.height }; - openLayoutElement->dimensions = textDimensions; - openLayoutElement->minDimensions = CLAY__INIT(Clay_Dimensions) { .width = textMeasured->unwrappedDimensions.height, .height = textDimensions.height }; // TODO not sure this is the best way to decide min width for text - openLayoutElement->childrenOrTextContent.textElementData = Clay__TextElementDataArray_Add(&context->textElementData, CLAY__INIT(Clay__TextElementData) { .text = text, .preferredDimensions = textMeasured->unwrappedDimensions, .elementIndex = context->layoutElements.length - 1 }); - openLayoutElement->elementConfigs = CLAY__INIT(Clay__ElementConfigArraySlice) { - .length = 1, - .internalArray = Clay__ElementConfigArray_Add(&context->elementConfigs, CLAY__INIT(Clay_ElementConfig) { .type = CLAY__ELEMENT_CONFIG_TYPE_TEXT, .config = { .textElementConfig = textConfig }}) + textElement->dimensions = textDimensions; + textElement->minDimensions = CLAY__INIT(Clay_Dimensions) { .width = textMeasured->unwrappedDimensions.height, .height = textDimensions.height }; // TODO not sure this is the best way to decide min width for text + textElement->childrenOrTextContent.textElementData = Clay__TextElementDataArray_Add(&context->textElementData, CLAY__INIT(Clay__TextElementData) { .text = text, .preferredDimensions = textMeasured->unwrappedDimensions, .elementIndex = context->layoutElements.length - 1 }); + textElement->elementConfigs = CLAY__INIT(Clay__ElementConfigArraySlice) { + .length = 1, + .internalArray = Clay__ElementConfigArray_Add(&context->elementConfigs, CLAY__INIT(Clay_ElementConfig) { .type = CLAY__ELEMENT_CONFIG_TYPE_TEXT, .config = { .textElementConfig = textConfig }}) }; - openLayoutElement->configsEnabled |= CLAY__ELEMENT_CONFIG_TYPE_TEXT; - openLayoutElement->layoutConfig = &CLAY_LAYOUT_DEFAULT; - // Close the currently open element - Clay__int32_tArray_RemoveSwapback(&context->openLayoutElementStack, (int)context->openLayoutElementStack.length - 1); + textElement->layoutConfig = &CLAY_LAYOUT_DEFAULT; + parentElement->childrenOrTextContent.children.length++; +} + +void Clay__ConfigureOpenElement(const Clay_ElementDeclaration declaration) { + Clay_Context* context = Clay_GetCurrentContext(); + Clay_LayoutElement *openLayoutElement = Clay__GetOpenLayoutElement(); + openLayoutElement->layoutConfig = Clay__StoreLayoutConfig(declaration.layout); + if (declaration.id.id != 0) { + Clay__AttachId(declaration.id); + } else if (openLayoutElement->id == 0) { + Clay__GenerateIdForAnonymousElement(openLayoutElement); + } + + openLayoutElement->elementConfigs.internalArray = &context->elementConfigs.internalArray[context->elementConfigs.length]; + Clay_SharedElementConfig *sharedConfig = NULL; + if (declaration.backgroundColor.a > 0) { + 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__INIT(Clay_SharedElementConfig) { .cornerRadius = declaration.cornerRadius }); + Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .sharedElementConfig = sharedConfig }, CLAY__ELEMENT_CONFIG_TYPE_SHARED); + } + } + if (declaration.userData != 0) { + if (sharedConfig) { + sharedConfig->userData = declaration.userData; + } else { + sharedConfig = Clay__StoreSharedElementConfig(CLAY__INIT(Clay_SharedElementConfig) { .userData = declaration.userData }); + Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .sharedElementConfig = sharedConfig }, CLAY__ELEMENT_CONFIG_TYPE_SHARED); + } + } + if (declaration.image.imageData) { + Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .imageElementConfig = Clay__StoreImageElementConfig(declaration.image) }, CLAY__ELEMENT_CONFIG_TYPE_IMAGE); + Clay__int32_tArray_Add(&context->imageElementPointers, context->layoutElements.length - 1); + } + if (declaration.floating.attachTo != CLAY_ATTACH_TO_NONE) { + Clay_FloatingElementConfig floatingConfig = declaration.floating; + // This looks dodgy but because of the auto generated root element the depth of the tree will always be at least 2 here + Clay_LayoutElement *hierarchicalParent = Clay_LayoutElementArray_Get(&context->layoutElements, Clay__int32_tArray_GetValue(&context->openLayoutElementStack, context->openLayoutElementStack.length - 2)); + if (hierarchicalParent) { + uint32_t clipElementId = 0; + if (declaration.floating.attachTo == CLAY_ATTACH_TO_PARENT) { + // Attach to the element's direct hierarchical parent + floatingConfig.parentId = hierarchicalParent->id; + if (context->openClipElementStack.length > 0) { + clipElementId = Clay__int32_tArray_GetValue(&context->openClipElementStack, (int)context->openClipElementStack.length - 1); + } + } else if (declaration.floating.attachTo == CLAY_ATTACH_TO_ELEMENT_WITH_ID) { + Clay_LayoutElementHashMapItem *parentItem = Clay__GetHashMapItem(floatingConfig.parentId); + if (!parentItem) { + context->errorHandler.errorHandlerFunction(CLAY__INIT(Clay_ErrorData) { + .errorType = CLAY_ERROR_TYPE_FLOATING_CONTAINER_PARENT_NOT_FOUND, + .errorText = CLAY_STRING("A floating element was declared with a parentId, but no element with that ID was found."), + .userData = context->errorHandler.userData }); + } else { + clipElementId = Clay__int32_tArray_GetValue(&context->layoutElementClipElementIds, parentItem->layoutElement - context->layoutElements.internalArray); + } + } else if (declaration.floating.attachTo == CLAY_ATTACH_TO_ROOT) { + floatingConfig.parentId = Clay__HashString(CLAY_STRING("Clay__RootContainer"), 0, 0).id; + } + Clay__LayoutElementTreeRootArray_Add(&context->layoutElementTreeRoots, CLAY__INIT(Clay__LayoutElementTreeRoot) { + .layoutElementIndex = Clay__int32_tArray_GetValue(&context->openLayoutElementStack, context->openLayoutElementStack.length - 1), + .parentId = floatingConfig.parentId, + .clipElementId = clipElementId, + .zIndex = floatingConfig.zIndex, + }); + Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .floatingElementConfig = Clay__StoreFloatingElementConfig(declaration.floating) }, CLAY__ELEMENT_CONFIG_TYPE_FLOATING); + } + } + if (declaration.custom.customData) { + Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .customElementConfig = Clay__StoreCustomElementConfig(declaration.custom) }, CLAY__ELEMENT_CONFIG_TYPE_CUSTOM); + } + if (declaration.scroll.horizontal | declaration.scroll.vertical) { + 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); + // Retrieve or create cached data to track scroll position across frames + Clay__ScrollContainerDataInternal *scrollOffset = CLAY__NULL; + for (int32_t i = 0; i < context->scrollContainerDatas.length; i++) { + Clay__ScrollContainerDataInternal *mapping = Clay__ScrollContainerDataInternalArray_Get(&context->scrollContainerDatas, i); + if (openLayoutElement->id == mapping->elementId) { + scrollOffset = mapping; + scrollOffset->layoutElement = openLayoutElement; + scrollOffset->openThisFrame = true; + } + } + if (!scrollOffset) { + scrollOffset = Clay__ScrollContainerDataInternalArray_Add(&context->scrollContainerDatas, CLAY__INIT(Clay__ScrollContainerDataInternal){.layoutElement = openLayoutElement, .scrollOrigin = {-1,-1}, .elementId = openLayoutElement->id, .openThisFrame = true}); + } + if (context->externalScrollHandlingEnabled) { + scrollOffset->scrollPosition = Clay__QueryScrollOffset(scrollOffset->elementId, context->queryScrollOffsetUserData); + } + } + if (!Clay__MemCmp((char *)(&declaration.border.width), (char *)(&Clay__BorderWidth_DEFAULT), sizeof(Clay_BorderWidth))) { + Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .borderElementConfig = Clay__StoreBorderElementConfig(declaration.border) }, CLAY__ELEMENT_CONFIG_TYPE_BORDER); + } } void Clay__InitializeEphemeralMemory(Clay_Context* context) { @@ -1494,15 +1606,14 @@ void Clay__InitializeEphemeralMemory(Clay_Context* context) { context->warnings = Clay__WarningArray_Allocate_Arena(100, arena); context->layoutConfigs = Clay__LayoutConfigArray_Allocate_Arena(maxElementCount, arena); - context->elementConfigBuffer = Clay__ElementConfigArray_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); context->scrollElementConfigs = Clay__ScrollElementConfigArray_Allocate_Arena(maxElementCount, arena); context->customElementConfigs = Clay__CustomElementConfigArray_Allocate_Arena(maxElementCount, arena); context->borderElementConfigs = Clay__BorderElementConfigArray_Allocate_Arena(maxElementCount, arena); + context->sharedElementConfigs = Clay__SharedElementConfigArray_Allocate_Arena(maxElementCount, arena); context->layoutElementIdStrings = Clay__StringArray_Allocate_Arena(maxElementCount, arena); context->wrappedTextLines = Clay__WrappedTextLineArray_Allocate_Arena(maxElementCount, arena); @@ -1526,7 +1637,7 @@ void Clay__InitializePersistentMemory(Clay_Context* context) { int32_t maxElementCount = context->maxElementCount; int32_t maxMeasureTextCacheWordCount = context->maxMeasureTextCacheWordCount; Clay_Arena *arena = &context->internalArena; - + 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); @@ -1540,7 +1651,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; @@ -1551,9 +1661,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)); @@ -1605,10 +1712,10 @@ void Clay__SizeContainersAlongAxis(bool xAxis) { Clay__int32_tArray_Add(&bfsBuffer, (int32_t)root->layoutElementIndex); // Size floating containers to their parents - if (Clay__ElementHasConfig(rootElement, CLAY__ELEMENT_CONFIG_TYPE_FLOATING_CONTAINER)) { - Clay_FloatingElementConfig *floatingElementConfig = Clay__FindElementConfigWithType(rootElement, CLAY__ELEMENT_CONFIG_TYPE_FLOATING_CONTAINER).floatingElementConfig; + if (Clay__ElementHasConfig(rootElement, CLAY__ELEMENT_CONFIG_TYPE_FLOATING)) { + Clay_FloatingElementConfig *floatingElementConfig = Clay__FindElementConfigWithType(rootElement, CLAY__ELEMENT_CONFIG_TYPE_FLOATING).floatingElementConfig; Clay_LayoutElementHashMapItem *parentItem = Clay__GetHashMapItem(floatingElementConfig->parentId); - if (parentItem) { + if (parentItem && parentItem != &Clay_LayoutElementHashMapItem_DEFAULT) { Clay_LayoutElement *parentLayoutElement = parentItem->layoutElement; if (rootElement->layoutConfig->sizing.width.type == CLAY__SIZING_TYPE_GROW) { rootElement->dimensions.width = parentLayoutElement->dimensions.width; @@ -1644,7 +1751,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); } @@ -1682,8 +1793,8 @@ void Clay__SizeContainersAlongAxis(bool xAxis) { // The content is too large, compress the children as much as possible if (sizeToDistribute < 0) { // If the parent can scroll in the axis direction in this direction, don't compress children, just leave them alone - if (Clay__ElementHasConfig(parent, CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER)) { - Clay_ScrollElementConfig *scrollElementConfig = Clay__FindElementConfigWithType(parent, CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER).scrollElementConfig; + Clay_ScrollElementConfig *scrollElementConfig = Clay__FindElementConfigWithType(parent, CLAY__ELEMENT_CONFIG_TYPE_SCROLL).scrollElementConfig; + if (scrollElementConfig) { if (((xAxis && scrollElementConfig->horizontal) || (!xAxis && scrollElementConfig->vertical))) { continue; } @@ -1724,8 +1835,8 @@ void Clay__SizeContainersAlongAxis(bool xAxis) { // If we're laying out the children of a scroll panel, grow containers expand to the height of the inner content, not the outer container float maxSize = parentSize - parentPadding; - if (Clay__ElementHasConfig(parent, CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER)) { - Clay_ScrollElementConfig *scrollElementConfig = Clay__FindElementConfigWithType(parent, CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER).scrollElementConfig; + if (Clay__ElementHasConfig(parent, CLAY__ELEMENT_CONFIG_TYPE_SCROLL)) { + Clay_ScrollElementConfig *scrollElementConfig = Clay__FindElementConfigWithType(parent, CLAY__ELEMENT_CONFIG_TYPE_SCROLL).scrollElementConfig; if (((xAxis && scrollElementConfig->horizontal) || (!xAxis && scrollElementConfig->vertical))) { maxSize = CLAY__MAX(maxSize, innerContentSize); } @@ -1939,13 +2050,13 @@ void Clay__CalculateFinalLayout(void) { Clay_Vector2 rootPosition = CLAY__DEFAULT_STRUCT; Clay_LayoutElementHashMapItem *parentHashMapItem = Clay__GetHashMapItem(root->parentId); // Position root floating containers - if (Clay__ElementHasConfig(rootElement, CLAY__ELEMENT_CONFIG_TYPE_FLOATING_CONTAINER) && parentHashMapItem) { - Clay_FloatingElementConfig *config = Clay__FindElementConfigWithType(rootElement, CLAY__ELEMENT_CONFIG_TYPE_FLOATING_CONTAINER).floatingElementConfig; + if (Clay__ElementHasConfig(rootElement, CLAY__ELEMENT_CONFIG_TYPE_FLOATING) && parentHashMapItem) { + Clay_FloatingElementConfig *config = Clay__FindElementConfigWithType(rootElement, CLAY__ELEMENT_CONFIG_TYPE_FLOATING).floatingElementConfig; Clay_Dimensions rootDimensions = rootElement->dimensions; Clay_BoundingBox parentBoundingBox = parentHashMapItem->boundingBox; // Set X position Clay_Vector2 targetAttachPosition = CLAY__DEFAULT_STRUCT; - switch (config->attachment.parent) { + switch (config->attachPoints.parent) { case CLAY_ATTACH_POINT_LEFT_TOP: case CLAY_ATTACH_POINT_LEFT_CENTER: case CLAY_ATTACH_POINT_LEFT_BOTTOM: targetAttachPosition.x = parentBoundingBox.x; break; @@ -1956,7 +2067,7 @@ void Clay__CalculateFinalLayout(void) { case CLAY_ATTACH_POINT_RIGHT_CENTER: case CLAY_ATTACH_POINT_RIGHT_BOTTOM: targetAttachPosition.x = parentBoundingBox.x + parentBoundingBox.width; break; } - switch (config->attachment.element) { + switch (config->attachPoints.element) { case CLAY_ATTACH_POINT_LEFT_TOP: case CLAY_ATTACH_POINT_LEFT_CENTER: case CLAY_ATTACH_POINT_LEFT_BOTTOM: break; @@ -1967,7 +2078,7 @@ void Clay__CalculateFinalLayout(void) { case CLAY_ATTACH_POINT_RIGHT_CENTER: case CLAY_ATTACH_POINT_RIGHT_BOTTOM: targetAttachPosition.x -= rootDimensions.width; break; } - switch (config->attachment.parent) { // I know I could merge the x and y switch statements, but this is easier to read + switch (config->attachPoints.parent) { // I know I could merge the x and y switch statements, but this is easier to read case CLAY_ATTACH_POINT_LEFT_TOP: case CLAY_ATTACH_POINT_RIGHT_TOP: case CLAY_ATTACH_POINT_CENTER_TOP: targetAttachPosition.y = parentBoundingBox.y; break; @@ -1978,7 +2089,7 @@ void Clay__CalculateFinalLayout(void) { case CLAY_ATTACH_POINT_CENTER_BOTTOM: case CLAY_ATTACH_POINT_RIGHT_BOTTOM: targetAttachPosition.y = parentBoundingBox.y + parentBoundingBox.height; break; } - switch (config->attachment.element) { + switch (config->attachPoints.element) { case CLAY_ATTACH_POINT_LEFT_TOP: case CLAY_ATTACH_POINT_RIGHT_TOP: case CLAY_ATTACH_POINT_CENTER_TOP: break; @@ -1998,7 +2109,7 @@ void Clay__CalculateFinalLayout(void) { if (clipHashMapItem) { // Floating elements that are attached to scrolling contents won't be correctly positioned if external scroll handling is enabled, fix here if (context->externalScrollHandlingEnabled) { - Clay_ScrollElementConfig *scrollConfig = Clay__FindElementConfigWithType(clipHashMapItem->layoutElement, CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER).scrollElementConfig; + Clay_ScrollElementConfig *scrollConfig = Clay__FindElementConfigWithType(clipHashMapItem->layoutElement, CLAY__ELEMENT_CONFIG_TYPE_SCROLL).scrollElementConfig; for (int32_t i = 0; i < context->scrollContainerDatas.length; i++) { Clay__ScrollContainerDataInternal *mapping = Clay__ScrollContainerDataInternalArray_Get(&context->scrollContainerDatas, i); if (mapping->layoutElement == clipHashMapItem->layoutElement) { @@ -2015,9 +2126,9 @@ void Clay__CalculateFinalLayout(void) { } Clay__AddRenderCommand(CLAY__INIT(Clay_RenderCommand) { .boundingBox = clipHashMapItem->boundingBox, - .config = { .scrollElementConfig = Clay__StoreScrollElementConfig(CLAY__INIT(Clay_ScrollElementConfig)CLAY__DEFAULT_STRUCT) }, + .userData = 0, + .id = Clay__HashNumber(rootElement->id, rootElement->childrenOrTextContent.children.length + 10).id, // TODO need a better strategy for managing derived ids .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, }); } @@ -2036,8 +2147,8 @@ void Clay__CalculateFinalLayout(void) { context->treeNodeVisited.internalArray[dfsBuffer.length - 1] = true; Clay_BoundingBox currentElementBoundingBox = { currentElementTreeNode->position.x, currentElementTreeNode->position.y, currentElement->dimensions.width, currentElement->dimensions.height }; - if (Clay__ElementHasConfig(currentElement, CLAY__ELEMENT_CONFIG_TYPE_FLOATING_CONTAINER)) { - Clay_FloatingElementConfig *floatingElementConfig = Clay__FindElementConfigWithType(currentElement, CLAY__ELEMENT_CONFIG_TYPE_FLOATING_CONTAINER).floatingElementConfig; + if (Clay__ElementHasConfig(currentElement, CLAY__ELEMENT_CONFIG_TYPE_FLOATING)) { + Clay_FloatingElementConfig *floatingElementConfig = Clay__FindElementConfigWithType(currentElement, CLAY__ELEMENT_CONFIG_TYPE_FLOATING).floatingElementConfig; Clay_Dimensions expand = floatingElementConfig->expand; currentElementBoundingBox.x -= expand.width; currentElementBoundingBox.width += expand.width * 2; @@ -2047,8 +2158,8 @@ void Clay__CalculateFinalLayout(void) { Clay__ScrollContainerDataInternal *scrollContainerData = CLAY__NULL; // Apply scroll offsets to container - if (Clay__ElementHasConfig(currentElement, CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER)) { - Clay_ScrollElementConfig *scrollConfig = Clay__FindElementConfigWithType(currentElement, CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER).scrollElementConfig; + if (Clay__ElementHasConfig(currentElement, CLAY__ELEMENT_CONFIG_TYPE_SCROLL)) { + Clay_ScrollElementConfig *scrollConfig = Clay__FindElementConfigWithType(currentElement, CLAY__ELEMENT_CONFIG_TYPE_SCROLL).scrollElementConfig; // This linear scan could theoretically be slow under very strange conditions, but I can't imagine a real UI with more than a few 10's of scroll containers for (int32_t i = 0; i < context->scrollContainerDatas.length; i++) { @@ -2086,7 +2197,7 @@ void Clay__CalculateFinalLayout(void) { int32_t next = sortedConfigIndexes[i + 1]; Clay__ElementConfigType currentType = Clay__ElementConfigArraySlice_Get(¤tElement->elementConfigs, current)->type; Clay__ElementConfigType nextType = Clay__ElementConfigArraySlice_Get(¤tElement->elementConfigs, next)->type; - if (nextType == CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER || currentType == CLAY__ELEMENT_CONFIG_TYPE_BORDER_CONTAINER) { + if (nextType == CLAY__ELEMENT_CONFIG_TYPE_SCROLL || currentType == CLAY__ELEMENT_CONFIG_TYPE_BORDER) { sortedConfigIndexes[i] = next; sortedConfigIndexes[i + 1] = current; } @@ -2094,12 +2205,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, .id = currentElement->id, }; @@ -2107,26 +2226,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_BORDER_CONTAINER: { + 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_CONTAINER: { - renderCommand.commandType = CLAY_RENDER_COMMAND_TYPE_NONE; - shouldRender = false; - break; - } - case CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER: { + 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__INIT(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: { @@ -2141,17 +2261,24 @@ void Clay__CalculateFinalLayout(void) { float lineHeightOffset = (finalLineHeight - naturalLineHeight) / 2; float yPosition = lineHeightOffset; for (int32_t lineIndex = 0; lineIndex < currentElement->childrenOrTextContent.textElementData->wrappedLines.length; ++lineIndex) { - Clay__WrappedTextLine wrappedLine = currentElement->childrenOrTextContent.textElementData->wrappedLines.internalArray[lineIndex]; // todo range check - if (wrappedLine.line.length == 0) { + Clay__WrappedTextLine *wrappedLine = Clay__WrappedTextLineArraySlice_Get(¤tElement->childrenOrTextContent.textElementData->wrappedLines, lineIndex); + if (wrappedLine->line.length == 0) { yPosition += finalLineHeight; continue; } Clay__AddRenderCommand(CLAY__INIT(Clay_RenderCommand) { - .boundingBox = { currentElementBoundingBox.x, currentElementBoundingBox.y + yPosition, wrappedLine.dimensions.width, wrappedLine.dimensions.height }, // TODO width - .config = configUnion, - .text = CLAY__INIT(Clay_StringSlice) { .length = wrappedLine.line.length, .chars = wrappedLine.line.chars, .baseChars = currentElement->childrenOrTextContent.textElementData->text.chars }, - .zIndex = root->zIndex, + .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, + }}, + .userData = sharedConfig->userData, .id = Clay__HashNumber(lineIndex, currentElement->id).id, + .zIndex = root->zIndex, .commandType = CLAY_RENDER_COMMAND_TYPE_TEXT, }); yPosition += finalLineHeight; @@ -2164,6 +2291,14 @@ void Clay__CalculateFinalLayout(void) { } case CLAY__ELEMENT_CONFIG_TYPE_CUSTOM: { renderCommand.commandType = CLAY_RENDER_COMMAND_TYPE_CUSTOM; + renderCommand.renderData = CLAY__INIT(Clay_RenderData) { + .custom = { + .backgroundColor = sharedConfig->backgroundColor, + .cornerRadius = sharedConfig->cornerRadius, + .customData = elementConfig->config.customElementConfig->customData, + } + }; + emitRectangle = false; break; } default: break; @@ -2178,6 +2313,20 @@ void Clay__CalculateFinalLayout(void) { } } + if (emitRectangle) { + Clay__AddRenderCommand(CLAY__INIT(Clay_RenderCommand) { + .boundingBox = currentElementBoundingBox, + .renderData = { .rectangle = { + .backgroundColor = sharedConfig->backgroundColor, + .cornerRadius = sharedConfig->cornerRadius, + }}, + .userData = sharedConfig->userData, + .id = currentElement->id, + .zIndex = root->zIndex, + .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}; @@ -2219,9 +2368,9 @@ void Clay__CalculateFinalLayout(void) { else { // DFS is returning upwards backwards bool closeScrollElement = false; - if (Clay__ElementHasConfig(currentElement, CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER)) { + Clay_ScrollElementConfig *scrollConfig = Clay__FindElementConfigWithType(currentElement, CLAY__ELEMENT_CONFIG_TYPE_SCROLL).scrollElementConfig; + if (scrollConfig) { closeScrollElement = true; - Clay_ScrollElementConfig *scrollConfig = Clay__FindElementConfigWithType(currentElement, CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER).scrollElementConfig; for (int32_t i = 0; i < context->scrollContainerDatas.length; i++) { Clay__ScrollContainerDataInternal *mapping = Clay__ScrollContainerDataInternalArray_Get(&context->scrollContainerDatas, i); if (mapping->layoutElement == currentElement) { @@ -2235,22 +2384,26 @@ void Clay__CalculateFinalLayout(void) { } } - if (Clay__ElementHasConfig(currentElement, CLAY__ELEMENT_CONFIG_TYPE_BORDER_CONTAINER)) { + if (Clay__ElementHasConfig(currentElement, CLAY__ELEMENT_CONFIG_TYPE_BORDER)) { Clay_LayoutElementHashMapItem *currentElementData = Clay__GetHashMapItem(currentElement->id); Clay_BoundingBox currentElementBoundingBox = currentElementData->boundingBox; // 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 if (!Clay__ElementIsOffscreen(¤tElementBoundingBox)) { - Clay_BorderElementConfig *borderConfig = Clay__FindElementConfigWithType(currentElement, CLAY__ELEMENT_CONFIG_TYPE_BORDER_CONTAINER).borderElementConfig; + Clay_SharedElementConfig *sharedConfig = Clay__ElementHasConfig(currentElement, CLAY__ELEMENT_CONFIG_TYPE_SHARED) ? Clay__FindElementConfigWithType(currentElement, CLAY__ELEMENT_CONFIG_TYPE_SHARED).sharedElementConfig : &Clay_SharedElementConfig_DEFAULT; + Clay_BorderElementConfig *borderConfig = Clay__FindElementConfigWithType(currentElement, CLAY__ELEMENT_CONFIG_TYPE_BORDER).borderElementConfig; Clay_RenderCommand renderCommand = { .boundingBox = currentElementBoundingBox, - .config = { .borderElementConfig = borderConfig }, - .id = Clay__RehashWithNumber(currentElement->id, 4), + .renderData = { .border = { + .color = borderConfig->color, + .cornerRadius = sharedConfig->cornerRadius, + .width = borderConfig->width + }}, + .id = Clay__HashNumber(currentElement->id, currentElement->childrenOrTextContent.children.length).id, .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) { @@ -2258,9 +2411,11 @@ 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 }, - .id = Clay__RehashWithNumber(currentElement->id, 5 + i), + .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__HashNumber(currentElement->id, currentElement->childrenOrTextContent.children.length + 1 + i).id, .commandType = CLAY_RENDER_COMMAND_TYPE_RECTANGLE, }); } @@ -2271,9 +2426,11 @@ 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 }, - .id = Clay__RehashWithNumber(currentElement->id, 5 + i), + .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__HashNumber(currentElement->id, currentElement->childrenOrTextContent.children.length + 1 + i).id, .commandType = CLAY_RENDER_COMMAND_TYPE_RECTANGLE, }); } @@ -2286,7 +2443,7 @@ void Clay__CalculateFinalLayout(void) { // This exists because the scissor needs to end _after_ borders between elements if (closeScrollElement) { Clay__AddRenderCommand(CLAY__INIT(Clay_RenderCommand) { - .id = Clay__RehashWithNumber(currentElement->id, 11), + .id = Clay__HashNumber(currentElement->id, rootElement->childrenOrTextContent.children.length + 11).id, .commandType = CLAY_RENDER_COMMAND_TYPE_SCISSOR_END, }); } @@ -2344,47 +2501,23 @@ void Clay__CalculateFinalLayout(void) { } if (root->clipElementId) { - Clay__AddRenderCommand(CLAY__INIT(Clay_RenderCommand) { .id = Clay__RehashWithNumber(rootElement->id, 11), .commandType = CLAY_RENDER_COMMAND_TYPE_SCISSOR_END }); + Clay__AddRenderCommand(CLAY__INIT(Clay_RenderCommand) { .id = Clay__HashNumber(rootElement->id, rootElement->childrenOrTextContent.children.length + 11).id, .commandType = CLAY_RENDER_COMMAND_TYPE_SCISSOR_END }); } } } -void Clay__AttachId(Clay_ElementId elementId) { +Clay_ElementId Clay__AttachId(Clay_ElementId elementId) { Clay_Context* context = Clay_GetCurrentContext(); if (context->booleanWarnings.maxElementsExceeded) { - return; + return Clay_ElementId_DEFAULT; } Clay_LayoutElement *openLayoutElement = Clay__GetOpenLayoutElement(); openLayoutElement->id = elementId.id; Clay__AddHashMapItem(elementId, openLayoutElement); Clay__StringArray_Add(&context->layoutElementIdStrings, elementId.stringId); + return elementId; } -void Clay__AttachLayoutConfig(Clay_LayoutConfig *config) { - Clay_Context* context = Clay_GetCurrentContext(); - if (context->booleanWarnings.maxElementsExceeded) { - return; - } - Clay__GetOpenLayoutElement()->layoutConfig = config; -} -void Clay__AttachElementConfig(Clay_ElementConfigUnion config, Clay__ElementConfigType type) { - Clay_Context* context = Clay_GetCurrentContext(); - if (context->booleanWarnings.maxElementsExceeded) { - return; - } - Clay_LayoutElement *openLayoutElement = Clay__GetOpenLayoutElement(); - openLayoutElement->elementConfigs.length++; - Clay__ElementConfigArray_Add(&context->elementConfigBuffer, CLAY__INIT(Clay_ElementConfig) { .type = type, .config = config }); -} -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); } -Clay_CustomElementConfig * Clay__StoreCustomElementConfig(Clay_CustomElementConfig config) { return Clay_GetCurrentContext()->booleanWarnings.maxElementsExceeded ? &Clay_CustomElementConfig_DEFAULT : Clay__CustomElementConfigArray_Add(&Clay_GetCurrentContext()->customElementConfigs, config); } -Clay_ScrollElementConfig * Clay__StoreScrollElementConfig(Clay_ScrollElementConfig config) { return Clay_GetCurrentContext()->booleanWarnings.maxElementsExceeded ? &Clay_ScrollElementConfig_DEFAULT : Clay__ScrollElementConfigArray_Add(&Clay_GetCurrentContext()->scrollElementConfigs, config); } -Clay_BorderElementConfig * Clay__StoreBorderElementConfig(Clay_BorderElementConfig config) { return Clay_GetCurrentContext()->booleanWarnings.maxElementsExceeded ? &Clay_BorderElementConfig_DEFAULT : Clay__BorderElementConfigArray_Add(&Clay_GetCurrentContext()->borderElementConfigs, config); } - #pragma region DebugTools Clay_Color CLAY__DEBUGVIEW_COLOR_1 = {58, 56, 52, 255}; Clay_Color CLAY__DEBUGVIEW_COLOR_2 = {62, 60, 58, 255}; @@ -2404,12 +2537,12 @@ 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_CONTAINER: return CLAY__INIT(Clay__DebugElementConfigTypeLabelConfig) { CLAY_STRING("Floating"), {250,105,0,255} }; - case CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER: return CLAY__INIT(Clay__DebugElementConfigTypeLabelConfig) { CLAY_STRING("Scroll"), {242,196,90,255} }; - case CLAY__ELEMENT_CONFIG_TYPE_BORDER_CONTAINER: return CLAY__INIT(Clay__DebugElementConfigTypeLabelConfig) { CLAY_STRING("Border"), {108,91,123, 255} }; + case CLAY__ELEMENT_CONFIG_TYPE_FLOATING: return CLAY__INIT(Clay__DebugElementConfigTypeLabelConfig) { CLAY_STRING("Floating"), {250,105,0,255} }; + case CLAY__ELEMENT_CONFIG_TYPE_SCROLL: return CLAY__INIT(Clay__DebugElementConfigTypeLabelConfig) {CLAY_STRING("Scroll"), {242, 196, 90, 255} }; + case CLAY__ELEMENT_CONFIG_TYPE_BORDER: return CLAY__INIT(Clay__DebugElementConfigTypeLabelConfig) {CLAY_STRING("Border"), {108, 91, 123, 255} }; case CLAY__ELEMENT_CONFIG_TYPE_CUSTOM: return CLAY__INIT(Clay__DebugElementConfigTypeLabelConfig) { CLAY_STRING("Custom"), {11,72,107,255} }; default: break; } @@ -2436,8 +2569,8 @@ Clay__RenderDebugLayoutData Clay__RenderDebugLayoutElementsList(int32_t initialR Clay__int32_tArray_Add(&dfsBuffer, (int32_t)root->layoutElementIndex); context->treeNodeVisited.internalArray[0] = false; if (rootIndex > 0) { - CLAY(CLAY_IDI("Clay__DebugView_EmptyRowOuter", rootIndex), CLAY_LAYOUT({ .sizing = {.width = CLAY_SIZING_GROW(0)}, .padding = {CLAY__DEBUGVIEW_INDENT_WIDTH / 2, 0} })) { - CLAY(CLAY_IDI("Clay__DebugView_EmptyRow", rootIndex), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED((float)CLAY__DEBUGVIEW_ROW_HEIGHT) }}), CLAY_BORDER({ .top = { .width = 1, .color = CLAY__DEBUGVIEW_COLOR_3 } })) {} + 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 = { .color = CLAY__DEBUGVIEW_COLOR_3, .width = { .top = 1 } } }) {} } layoutData.rowCount++; } @@ -2467,29 +2600,31 @@ Clay__RenderDebugLayoutData Clay__RenderDebugLayoutElementsList(int32_t initialR if (context->debugSelectedElementId == currentElement->id) { layoutData.selectedElementRowIndex = layoutData.rowCount; } - CLAY(CLAY_IDI("Clay__DebugView_ElementOuter", currentElement->id), Clay__AttachLayoutConfig(&Clay__DebugView_ScrollViewItemLayoutConfig)) { + CLAY({ .id = CLAY_IDI("Clay__DebugView_ElementOuter", currentElement->id), .layout = Clay__DebugView_ScrollViewItemLayoutConfig }) { // Collapse icon / button if (!(Clay__ElementHasConfig(currentElement, CLAY__ELEMENT_CONFIG_TYPE_TEXT) || currentElement->childrenOrTextContent.children.length == 0)) { - CLAY(CLAY_IDI("Clay__DebugView_CollapseElement", currentElement->id), - CLAY_LAYOUT({ .sizing = {CLAY_SIZING_FIXED(16), CLAY_SIZING_FIXED(16)}, .childAlignment = { CLAY_ALIGN_X_CENTER, CLAY_ALIGN_Y_CENTER} }), - CLAY_BORDER_OUTSIDE_RADIUS(1, CLAY__DEBUGVIEW_COLOR_3, 4) - ) { + 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} }, + .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(CLAY_LAYOUT({ .sizing = {CLAY_SIZING_FIXED(16), CLAY_SIZING_FIXED(16)}, .childAlignment = { CLAY_ALIGN_X_CENTER, CLAY_ALIGN_Y_CENTER } })) { - CLAY(CLAY_LAYOUT({ .sizing = {CLAY_SIZING_FIXED(8), CLAY_SIZING_FIXED(8)} }), CLAY_RECTANGLE({ .color = CLAY__DEBUGVIEW_COLOR_3, .cornerRadius = CLAY_CORNER_RADIUS(2) })) {} + 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)} }, .backgroundColor = CLAY__DEBUGVIEW_COLOR_3, .cornerRadius = CLAY_CORNER_RADIUS(2) }) {} } } // Collisions and offscreen info if (currentElementData) { if (currentElementData->debugData->collision) { - CLAY(CLAY_LAYOUT({ .padding = { 8, 8, 2, 2 } }), CLAY_BORDER_OUTSIDE_RADIUS(1, (CLAY__INIT(Clay_Color){177, 147, 8, 255}), 4)) { + 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(CLAY_LAYOUT({ .padding = { 8, 8, 2, 2 } }), CLAY_BORDER_OUTSIDE_RADIUS(1, CLAY__DEBUGVIEW_COLOR_3, 4)) { + 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 })); } } @@ -2503,7 +2638,7 @@ Clay__RenderDebugLayoutData Clay__RenderDebugLayoutElementsList(int32_t initialR Clay__DebugElementConfigTypeLabelConfig config = Clay__DebugGetElementConfigTypeLabel(elementConfig->type); Clay_Color backgroundColor = config.color; backgroundColor.a = 90; - CLAY(CLAY_LAYOUT({ .padding = { 8, 8, 2, 2 } }), CLAY_RECTANGLE({ .color = backgroundColor, .cornerRadius = CLAY_CORNER_RADIUS(4) }), CLAY_BORDER_OUTSIDE_RADIUS(1, config.color, 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 })); } } @@ -2514,8 +2649,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(CLAY_LAYOUT({ .sizing = { .height = CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT)}, .childAlignment = { .y = CLAY_ALIGN_Y_CENTER } }), CLAY_RECTANGLE(CLAY__DEFAULT_STRUCT)) { - CLAY(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) { @@ -2525,15 +2660,11 @@ Clay__RenderDebugLayoutData Clay__RenderDebugLayoutElementsList(int32_t initialR } } else if (currentElement->childrenOrTextContent.children.length > 0) { Clay__OpenElement(); - CLAY_LAYOUT({ .padding = { 8 } }); - Clay__ElementPostConfiguration(); + Clay__ConfigureOpenElement(CLAY__INIT(Clay_ElementDeclaration) { .layout = { .padding = { 8 } } }); Clay__OpenElement(); - CLAY_BORDER({ .left = { .width = 1, .color = CLAY__DEBUGVIEW_COLOR_3 }}); - Clay__ElementPostConfiguration(); - CLAY(CLAY_LAYOUT({ .sizing = {CLAY_SIZING_FIXED( CLAY__DEBUGVIEW_INDENT_WIDTH), CLAY__DEFAULT_STRUCT}, .childAlignment = { .x = CLAY_ALIGN_X_RIGHT } })) {} + 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_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM }); - Clay__ElementPostConfiguration(); + Clay__ConfigureOpenElement(CLAY__INIT(Clay_ElementDeclaration) { .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM } }); } layoutData.rowCount++; @@ -2559,8 +2690,8 @@ Clay__RenderDebugLayoutData Clay__RenderDebugLayoutElementsList(int32_t initialR } if (highlightedElementId) { - CLAY(CLAY_ID("Clay__DebugView_ElementHighlight"), CLAY_LAYOUT({ .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }), CLAY_FLOATING({ .zIndex = 65535, .parentId = highlightedElementId })) { - CLAY(CLAY_ID("Clay__DebugView_ElementHighlightRectangle"), CLAY_LAYOUT({ .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }), CLAY_RECTANGLE({.color = Clay__debugViewHighlightColor })) {} + CLAY({ .id = CLAY_ID("Clay__DebugView_ElementHighlight"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .floating = { .parentId = highlightedElementId, .zIndex = 32767, .pointerCaptureMode = CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH, .attachTo = CLAY_ATTACH_TO_ELEMENT_WITH_ID } }) { + CLAY({ .id = CLAY_ID("Clay__DebugView_ElementHighlightRectangle"), .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .backgroundColor = Clay__debugViewHighlightColor }) {} } } return layoutData; @@ -2595,17 +2726,17 @@ void Clay__RenderDebugViewElementConfigHeader(Clay_String elementId, Clay__Eleme Clay__DebugElementConfigTypeLabelConfig config = Clay__DebugGetElementConfigTypeLabel(type); Clay_Color backgroundColor = config.color; backgroundColor.a = 90; - CLAY(CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0)}, .padding = CLAY_PADDING_ALL(CLAY__DEBUGVIEW_OUTER_PADDING), .childAlignment = { .y = CLAY_ALIGN_Y_CENTER } })) { - CLAY(CLAY_LAYOUT({ .padding = { 8, 8, 2, 2 } }), CLAY_RECTANGLE({ .color = backgroundColor, .cornerRadius = CLAY_CORNER_RADIUS(4) }), CLAY_BORDER_OUTSIDE_RADIUS(1, config.color, 4)) { + 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 } }, .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(CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(0) } })) {} + CLAY({ .layout = { .sizing = { .width = CLAY_SIZING_GROW(0) } } }) {} CLAY_TEXT(elementId, CLAY_TEXT_CONFIG({ .textColor = CLAY__DEBUGVIEW_COLOR_3, .fontSize = 16, .wrapMode = CLAY_TEXT_WRAP_NONE })); } } void Clay__RenderDebugViewColor(Clay_Color color, Clay_TextElementConfig *textConfig) { - CLAY(CLAY_LAYOUT({ .childAlignment = {.y = CLAY_ALIGN_Y_CENTER} })) { + CLAY({ .layout = { .childAlignment = {.y = CLAY_ALIGN_Y_CENTER} } }) { CLAY_TEXT(CLAY_STRING("{ r: "), textConfig); CLAY_TEXT(Clay__IntToString(color.r), textConfig); CLAY_TEXT(CLAY_STRING(", g: "), textConfig); @@ -2615,15 +2746,13 @@ 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(CLAY_LAYOUT({ .sizing = { CLAY_SIZING_FIXED(10), CLAY__DEFAULT_STRUCT } })) {} - CLAY(CLAY_LAYOUT({ .sizing = { CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8)} }), CLAY_BORDER_OUTSIDE_RADIUS(1, CLAY__DEBUGVIEW_COLOR_4, 4)) { - CLAY(CLAY_LAYOUT({ .sizing = { CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT - 8)} }), CLAY_RECTANGLE({ .color = color, .cornerRadius = CLAY_CORNER_RADIUS(4) })) {} - } + 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)} }, .backgroundColor = color, .cornerRadius = CLAY_CORNER_RADIUS(4), .border = { .color = CLAY__DEBUGVIEW_COLOR_4, .width = { 1, 1, 1, 1 } } }) {} } } void Clay__RenderDebugViewCornerRadius(Clay_CornerRadius cornerRadius, Clay_TextElementConfig *textConfig) { - CLAY(CLAY_LAYOUT({ .childAlignment = {.y = CLAY_ALIGN_Y_CENTER} })) { + CLAY({ .layout = { .childAlignment = {.y = CLAY_ALIGN_Y_CENTER} } }) { CLAY_TEXT(CLAY_STRING("{ topLeft: "), textConfig); CLAY_TEXT(Clay__IntToString(cornerRadius.topLeft), textConfig); CLAY_TEXT(CLAY_STRING(", topRight: "), textConfig); @@ -2636,17 +2765,6 @@ void Clay__RenderDebugViewCornerRadius(Clay_CornerRadius cornerRadius, Clay_Text } } -void Clay__RenderDebugViewBorder(int32_t index, Clay_Border border, Clay_TextElementConfig *textConfig) { - (void) index; - CLAY(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; @@ -2693,35 +2811,37 @@ void Clay__RenderDebugView(void) { highlightedRow = -1; } Clay__RenderDebugLayoutData layoutData = CLAY__DEFAULT_STRUCT; - CLAY(CLAY_ID("Clay__DebugView"), - CLAY_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 }}), - CLAY_LAYOUT({ .sizing = { CLAY_SIZING_FIXED((float)Clay__debugViewWidth) , CLAY_SIZING_FIXED(context->layoutDimensions.height) }, .layoutDirection = CLAY_TOP_TO_BOTTOM }), - CLAY_BORDER({ .bottom = { .width = 1, .color = CLAY__DEBUGVIEW_COLOR_3 }}) - ) { - CLAY(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} }), CLAY_RECTANGLE({ .color = CLAY__DEBUGVIEW_COLOR_2 })) { + 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 = 32765, .attachPoints = { .element = CLAY_ATTACH_POINT_LEFT_CENTER, .parent = CLAY_ATTACH_POINT_RIGHT_CENTER }, .attachTo = CLAY_ATTACH_TO_ROOT }, + .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} }, .backgroundColor = CLAY__DEBUGVIEW_COLOR_2 }) { CLAY_TEXT(CLAY_STRING("Clay Debug Tools"), infoTextConfig); - CLAY(CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0) } })) {} + CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0) } } }) {} // Close button - CLAY(CLAY_BORDER_OUTSIDE_RADIUS(1, (CLAY__INIT(Clay_Color){217,91,67,255}), 4), - 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} }), - CLAY_RECTANGLE({ .color = {217,91,67,80} }), - Clay_OnHover(HandleDebugViewCloseButtonInteraction, 0) - ) { + 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} }, + .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(CLAY_LAYOUT({ .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(1)} }), CLAY_RECTANGLE({ .color = CLAY__DEBUGVIEW_COLOR_3 })) {} - CLAY(Clay__AttachId(scrollId), CLAY_LAYOUT({ .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }), CLAY_SCROLL({ .horizontal = true, .vertical = true })) { - CLAY(CLAY_LAYOUT({ .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)}, .layoutDirection = CLAY_TOP_TO_BOTTOM }), CLAY_RECTANGLE({ .color = ((initialElementsLength + initialRootsLength) & 1) == 0 ? CLAY__DEBUGVIEW_COLOR_2 : CLAY__DEBUGVIEW_COLOR_1 })) { + 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 }, .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(Clay__AttachId(panelContentsId), CLAY_LAYOUT({ .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }), CLAY_FLOATING({ .zIndex = 65001, .pointerCaptureMode = CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH })) { - CLAY(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 })) { + CLAY({ .id = panelContentsId, .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0)} }, .floating = { .zIndex = 32766, .pointerCaptureMode = CLAY_POINTER_CAPTURE_MODE_PASSTHROUGH, .attachTo = CLAY_ATTACH_TO_PARENT } }) { + 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); } } float contentWidth = Clay__GetHashMapItem(panelContentsId.id)->layoutElement->dimensions.width; - CLAY(CLAY_LAYOUT({ .sizing = {CLAY_SIZING_FIXED(contentWidth), CLAY__DEFAULT_STRUCT}, .layoutDirection = CLAY_TOP_TO_BOTTOM })) {} + CLAY({ .layout = { .sizing = {CLAY_SIZING_FIXED(contentWidth) }, .layoutDirection = CLAY_TOP_TO_BOTTOM } }) {} for (int32_t i = 0; i < layoutData.rowCount; i++) { Clay_Color rowColor = (i & 1) == 0 ? CLAY__DEBUGVIEW_COLOR_2 : CLAY__DEBUGVIEW_COLOR_1; if (i == layoutData.selectedElementRowIndex) { @@ -2732,22 +2852,22 @@ void Clay__RenderDebugView(void) { rowColor.g *= 1.25f; rowColor.b *= 1.25f; } - CLAY(CLAY_LAYOUT({ .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(CLAY__DEBUGVIEW_ROW_HEIGHT)}, .layoutDirection = CLAY_TOP_TO_BOTTOM }), CLAY_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(CLAY_LAYOUT({ .sizing = {.width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(1)} }), CLAY_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( - CLAY_SCROLL({ .vertical = true }), - CLAY_LAYOUT({ .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(300)}, .layoutDirection = CLAY_TOP_TO_BOTTOM }), - CLAY_RECTANGLE({ .color = CLAY__DEBUGVIEW_COLOR_2 }), - CLAY_BORDER({ .betweenChildren = { .width = 1, .color = CLAY__DEBUGVIEW_COLOR_3 }}) - ) { - CLAY(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({ + .layout = { .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(300)}, .layoutDirection = CLAY_TOP_TO_BOTTOM }, + .backgroundColor = CLAY__DEBUGVIEW_COLOR_2 , + .scroll = { .vertical = true }, + .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); - CLAY(CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0) } })) {} + CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0) } } }) {} if (selectedItem->elementId.stringId.length != 0) { CLAY_TEXT(selectedItem->elementId.stringId, infoTitleConfig); if (selectedItem->elementId.offset != 0) { @@ -2759,10 +2879,10 @@ void Clay__RenderDebugView(void) { } Clay_Padding attributeConfigPadding = {CLAY__DEBUGVIEW_OUTER_PADDING, CLAY__DEBUGVIEW_OUTER_PADDING, 8, 8}; // Clay_LayoutConfig debug info - CLAY(CLAY_LAYOUT({ .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM })) { + CLAY({ .layout = { .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM } }) { // .boundingBox CLAY_TEXT(CLAY_STRING("Bounding Box"), infoTitleConfig); - CLAY(CLAY_LAYOUT(CLAY__DEFAULT_STRUCT)) { + CLAY({{0}}) { CLAY_TEXT(CLAY_STRING("{ x: "), infoTextConfig); CLAY_TEXT(Clay__IntToString(selectedItem->boundingBox.x), infoTextConfig); CLAY_TEXT(CLAY_STRING(", y: "), infoTextConfig); @@ -2779,17 +2899,17 @@ 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_LAYOUT(CLAY__DEFAULT_STRUCT)) { + CLAY({{0}}) { CLAY_TEXT(CLAY_STRING("width: "), infoTextConfig); Clay__RenderDebugLayoutSizing(layoutConfig->sizing.width, infoTextConfig); } - CLAY(CLAY_LAYOUT(CLAY__DEFAULT_STRUCT)) { + CLAY({{0}}) { CLAY_TEXT(CLAY_STRING("height: "), infoTextConfig); Clay__RenderDebugLayoutSizing(layoutConfig->sizing.height, infoTextConfig); } // .padding CLAY_TEXT(CLAY_STRING("Padding"), infoTitleConfig); - CLAY(CLAY_ID("Clay__DebugViewElementInfoPadding")) { + CLAY({ .id = CLAY_ID("Clay__DebugViewElementInfoPadding") }) { CLAY_TEXT(CLAY_STRING("{ left: "), infoTextConfig); CLAY_TEXT(Clay__IntToString(layoutConfig->padding.left), infoTextConfig); CLAY_TEXT(CLAY_STRING(", right: "), infoTextConfig); @@ -2805,7 +2925,7 @@ void Clay__RenderDebugView(void) { CLAY_TEXT(Clay__IntToString(layoutConfig->childGap), infoTextConfig); // .childAlignment CLAY_TEXT(CLAY_STRING("Child Alignment"), infoTitleConfig); - CLAY(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) { @@ -2829,21 +2949,18 @@ void Clay__RenderDebugView(void) { Clay_ElementConfig *elementConfig = Clay__ElementConfigArraySlice_Get(&selectedItem->layoutElement->elementConfigs, elementConfigIndex); Clay__RenderDebugViewElementConfigHeader(selectedItem->elementId.stringId, elementConfig->type); switch (elementConfig->type) { - case CLAY__ELEMENT_CONFIG_TYPE_RECTANGLE: { - Clay_RectangleElementConfig *rectangleConfig = elementConfig->config.rectangleElementConfig; - CLAY(CLAY_LAYOUT({ .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM })) { - // .color - CLAY_TEXT(CLAY_STRING("Color"), infoTitleConfig); - Clay__RenderDebugViewColor(rectangleConfig->color, infoTextConfig); + case CLAY__ELEMENT_CONFIG_TYPE_SHARED: { + Clay_SharedElementConfig *sharedConfig = elementConfig->config.sharedElementConfig; + CLAY({ .layout = { .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM }}) { // .cornerRadius - CLAY_TEXT(CLAY_STRING("Corner Radius"), infoTitleConfig); - Clay__RenderDebugViewCornerRadius(rectangleConfig->cornerRadius, infoTextConfig); + CLAY_TEXT(CLAY_STRING("Color"), infoTitleConfig); + Clay__RenderDebugViewCornerRadius(sharedConfig->cornerRadius, infoTextConfig); } break; } case CLAY__ELEMENT_CONFIG_TYPE_TEXT: { Clay_TextElementConfig *textConfig = elementConfig->config.textElementConfig; - CLAY(CLAY_LAYOUT({ .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM })) { + CLAY({ .layout = { .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM } }) { // .fontSize CLAY_TEXT(CLAY_STRING("Font Size"), infoTitleConfig); CLAY_TEXT(Clay__IntToString(textConfig->fontSize), infoTextConfig); @@ -2873,10 +2990,10 @@ void Clay__RenderDebugView(void) { } case CLAY__ELEMENT_CONFIG_TYPE_IMAGE: { Clay_ImageElementConfig *imageConfig = elementConfig->config.imageElementConfig; - CLAY(CLAY_ID("Clay__DebugViewElementInfoImageBody"), CLAY_LAYOUT({ .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM })) { + CLAY({ .id = CLAY_ID("Clay__DebugViewElementInfoImageBody"), .layout = { .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM } }) { // .sourceDimensions CLAY_TEXT(CLAY_STRING("Source Dimensions"), infoTitleConfig); - CLAY(CLAY_ID("Clay__DebugViewElementInfoImageDimensions")) { + CLAY({ .id = CLAY_ID("Clay__DebugViewElementInfoImageDimensions") }) { CLAY_TEXT(CLAY_STRING("{ width: "), infoTextConfig); CLAY_TEXT(Clay__IntToString(imageConfig->sourceDimensions.width), infoTextConfig); CLAY_TEXT(CLAY_STRING(", height: "), infoTextConfig); @@ -2885,13 +3002,13 @@ void Clay__RenderDebugView(void) { } // Image Preview CLAY_TEXT(CLAY_STRING("Preview"), infoTitleConfig); - CLAY(CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0, imageConfig->sourceDimensions.width) }}), Clay__AttachElementConfig(CLAY__INIT(Clay_ElementConfigUnion) { .imageElementConfig = imageConfig }, CLAY__ELEMENT_CONFIG_TYPE_IMAGE)) {} + CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0, imageConfig->sourceDimensions.width) }}, .image = *imageConfig }) {} } break; } - case CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER: { + case CLAY__ELEMENT_CONFIG_TYPE_SCROLL: { Clay_ScrollElementConfig *scrollConfig = elementConfig->config.scrollElementConfig; - CLAY(CLAY_LAYOUT({ .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM })) { + CLAY({ .layout = { .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM } }) { // .vertical CLAY_TEXT(CLAY_STRING("Vertical"), infoTitleConfig); CLAY_TEXT(scrollConfig->vertical ? CLAY_STRING("true") : CLAY_STRING("false") , infoTextConfig); @@ -2901,12 +3018,12 @@ void Clay__RenderDebugView(void) { } break; } - case CLAY__ELEMENT_CONFIG_TYPE_FLOATING_CONTAINER: { + case CLAY__ELEMENT_CONFIG_TYPE_FLOATING: { Clay_FloatingElementConfig *floatingConfig = elementConfig->config.floatingElementConfig; - CLAY(CLAY_LAYOUT({ .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM })) { + CLAY({ .layout = { .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM } }) { // .offset CLAY_TEXT(CLAY_STRING("Offset"), infoTitleConfig); - CLAY(CLAY_LAYOUT(CLAY__DEFAULT_STRUCT)) { + CLAY({{0}}) { CLAY_TEXT(CLAY_STRING("{ x: "), infoTextConfig); CLAY_TEXT(Clay__IntToString(floatingConfig->offset.x), infoTextConfig); CLAY_TEXT(CLAY_STRING(", y: "), infoTextConfig); @@ -2915,7 +3032,7 @@ void Clay__RenderDebugView(void) { } // .expand CLAY_TEXT(CLAY_STRING("Expand"), infoTitleConfig); - CLAY(CLAY_LAYOUT(CLAY__DEFAULT_STRUCT)) { + CLAY({{0}}) { CLAY_TEXT(CLAY_STRING("{ width: "), infoTextConfig); CLAY_TEXT(Clay__IntToString(floatingConfig->expand.width), infoTextConfig); CLAY_TEXT(CLAY_STRING(", height: "), infoTextConfig); @@ -2932,27 +3049,24 @@ void Clay__RenderDebugView(void) { } break; } - case CLAY__ELEMENT_CONFIG_TYPE_BORDER_CONTAINER: { + case CLAY__ELEMENT_CONFIG_TYPE_BORDER: { Clay_BorderElementConfig *borderConfig = elementConfig->config.borderElementConfig; - CLAY(CLAY_ID("Clay__DebugViewElementInfoBorderBody"), CLAY_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); - // .cornerRadius - CLAY_TEXT(CLAY_STRING("Corner Radius"), infoTitleConfig); - Clay__RenderDebugViewCornerRadius(borderConfig->cornerRadius, infoTextConfig); + CLAY({ .id = CLAY_ID("Clay__DebugViewElementInfoBorderBody"), .layout = { .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM } }) { + 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); + } + // .textColor + CLAY_TEXT(CLAY_STRING("Border Color"), infoTitleConfig); + Clay__RenderDebugViewColor(borderConfig->color, infoTextConfig); } break; } @@ -2962,16 +3076,16 @@ void Clay__RenderDebugView(void) { } } } else { - CLAY(CLAY_ID("Clay__DebugViewWarningsScrollPane"), CLAY_LAYOUT({ .sizing = {CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(300)}, .childGap = 6, .layoutDirection = CLAY_TOP_TO_BOTTOM }), CLAY_SCROLL({ .horizontal = true, .vertical = true }), CLAY_RECTANGLE({ .color = CLAY__DEBUGVIEW_COLOR_2 })) { + 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(CLAY_ID("Clay__DebugViewWarningItemHeader"), CLAY_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({ .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(CLAY_ID("Clay__DebugViewWarningsTopBorder"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(1)} }), CLAY_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]; - CLAY(CLAY_IDI("Clay__DebugViewWarningItem", i), CLAY_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({ .id = CLAY_IDI("Clay__DebugViewWarningItem", i), .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(warning.baseMessage, warningConfig); if (warning.dynamicMessage.length > 0) { CLAY_TEXT(warning.dynamicMessage, warningConfig); @@ -3090,12 +3204,12 @@ Clay_Arena Clay_CreateArenaWithCapacityAndMemory(uint32_t capacity, void *offset } #ifndef CLAY_WASM -void Clay_SetMeasureTextFunction(Clay_Dimensions (*measureTextFunction)(Clay_StringSlice text, Clay_TextElementConfig *config, uintptr_t userData), uintptr_t userData) { +void Clay_SetMeasureTextFunction(Clay_Dimensions (*measureTextFunction)(Clay_StringSlice text, Clay_TextElementConfig *config, void *userData), void *userData) { Clay_Context* context = Clay_GetCurrentContext(); Clay__MeasureText = measureTextFunction; - context->mesureTextUserData = userData; + context->measureTextUserData = userData; } -void Clay_SetQueryScrollOffsetFunction(Clay_Vector2 (*queryScrollOffsetFunction)(uint32_t elementId, uintptr_t userData), uintptr_t userData) { +void Clay_SetQueryScrollOffsetFunction(Clay_Vector2 (*queryScrollOffsetFunction)(uint32_t elementId, void *userData), void *userData) { Clay_Context* context = Clay_GetCurrentContext(); Clay__QueryScrollOffset = queryScrollOffsetFunction; context->queryScrollOffsetUserData = userData; @@ -3155,8 +3269,8 @@ void Clay_SetPointerState(Clay_Vector2 position, bool isPointerDown) { } Clay_LayoutElement *rootElement = Clay_LayoutElementArray_Get(&context->layoutElements, root->layoutElementIndex); - if (found && Clay__ElementHasConfig(rootElement, CLAY__ELEMENT_CONFIG_TYPE_FLOATING_CONTAINER) && - Clay__FindElementConfigWithType(rootElement, CLAY__ELEMENT_CONFIG_TYPE_FLOATING_CONTAINER).floatingElementConfig->pointerCaptureMode == CLAY_POINTER_CAPTURE_MODE_CAPTURE) { + if (found && Clay__ElementHasConfig(rootElement, CLAY__ELEMENT_CONFIG_TYPE_FLOATING) && + Clay__FindElementConfigWithType(rootElement, CLAY__ELEMENT_CONFIG_TYPE_FLOATING).floatingElementConfig->pointerCaptureMode == CLAY_POINTER_CAPTURE_MODE_CAPTURE) { break; } } @@ -3277,7 +3391,7 @@ void Clay_UpdateScrollContainers(bool enableDragScrolling, Clay_Vector2 scrollDe if (highestPriorityElementIndex > -1 && highestPriorityScrollData) { Clay_LayoutElement *scrollElement = highestPriorityScrollData->layoutElement; - Clay_ScrollElementConfig *scrollConfig = Clay__FindElementConfigWithType(scrollElement, CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER).scrollElementConfig; + Clay_ScrollElementConfig *scrollConfig = Clay__FindElementConfigWithType(scrollElement, CLAY__ELEMENT_CONFIG_TYPE_SCROLL).scrollElementConfig; bool canScrollVertically = scrollConfig->vertical && highestPriorityScrollData->contentSize.height > scrollElement->dimensions.height; bool canScrollHorizontally = scrollConfig->horizontal && highestPriorityScrollData->contentSize.width > scrollElement->dimensions.width; // Handle wheel scroll @@ -3340,15 +3454,14 @@ void Clay_BeginLayout(void) { } context->booleanWarnings = CLAY__INIT(Clay_BooleanWarnings) CLAY__DEFAULT_STRUCT; Clay__OpenElement(); - CLAY_ID("Clay__RootContainer"); - CLAY_LAYOUT({ .sizing = {CLAY_SIZING_FIXED((rootDimensions.width)), CLAY_SIZING_FIXED(rootDimensions.height)} }); - Clay__ElementPostConfiguration(); + Clay__ConfigureOpenElement(CLAY__INIT(Clay_ElementDeclaration) { + .id = CLAY_ID("Clay__RootContainer"), + .layout = { .sizing = {CLAY_SIZING_FIXED((rootDimensions.width)), CLAY_SIZING_FIXED(rootDimensions.height)} } + }); Clay__int32_tArray_Add(&context->openLayoutElementStack, 0); 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(); @@ -3360,7 +3473,11 @@ Clay_RenderCommandArray Clay_EndLayout(void) { } if (context->booleanWarnings.maxElementsExceeded) { 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 }, .text = CLAY__INIT(Clay_StringSlice) { .length = message.length, .chars = message.chars, .baseChars = message.chars }, .commandType = CLAY_RENDER_COMMAND_TYPE_TEXT }); + Clay__AddRenderCommand(CLAY__INIT(Clay_RenderCommand ) { + .boundingBox = { context->layoutDimensions.width / 2 - 59 * 4, context->layoutDimensions.height / 2, 0, 0 }, + .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 { Clay__CalculateFinalLayout(); } @@ -3430,7 +3547,7 @@ Clay_ScrollContainerData Clay_GetScrollContainerData(Clay_ElementId id) { .scrollPosition = &scrollContainerData->scrollPosition, .scrollContainerDimensions = { scrollContainerData->boundingBox.width, scrollContainerData->boundingBox.height }, .contentDimensions = scrollContainerData->contentSize, - .config = *Clay__FindElementConfigWithType(scrollContainerData->layoutElement, CLAY__ELEMENT_CONFIG_TYPE_SCROLL_CONTAINER).scrollElementConfig, + .config = *Clay__FindElementConfigWithType(scrollContainerData->layoutElement, CLAY__ELEMENT_CONFIG_TYPE_SCROLL).scrollElementConfig, .found = true }; } @@ -3488,7 +3605,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; } } diff --git a/examples/SDL2-video-demo/CMakeLists.txt b/examples/SDL2-video-demo/CMakeLists.txt index ace8592..4dffd2b 100644 --- a/examples/SDL2-video-demo/CMakeLists.txt +++ b/examples/SDL2-video-demo/CMakeLists.txt @@ -45,10 +45,10 @@ target_link_libraries(SDL2_video_demo PUBLIC ) if(MSVC) - set(CMAKE_C_FLAGS_DEBUG "/D CLAY_DEBUG") + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") else() - set(CMAKE_C_FLAGS_DEBUG "-Wall -Werror -Wno-error=missing-braces -DCLAY_DEBUG") - set(CMAKE_C_FLAGS_RELEASE "-O3") + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") + set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") endif() add_custom_command( diff --git a/examples/SDL2-video-demo/main.c b/examples/SDL2-video-demo/main.c index e8c3413..4e03b12 100644 --- a/examples/SDL2-video-demo/main.c +++ b/examples/SDL2-video-demo/main.c @@ -9,278 +9,15 @@ #include #include #include - -const int FONT_ID_BODY_16 = 0; -Clay_Color COLOR_WHITE = { 255, 255, 255, 255}; +#include "../shared-layouts/clay-video-demo.c" SDL_Surface *sample_image; -void RenderHeaderButton(Clay_String text) { - CLAY( - CLAY_LAYOUT({ .padding = { 16, 16, 8, 8 }}), - CLAY_RECTANGLE({ - .color = { 140, 140, 140, 255 }, - .cornerRadius = 5 - }) - ) { - CLAY_TEXT(text, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 16, - .textColor = { 255, 255, 255, 255 } - })); - } -} - -void RenderDropdownMenuItem(Clay_String text) { - CLAY(CLAY_LAYOUT({ .padding = CLAY_PADDING_ALL(16)})) { - CLAY_TEXT(text, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 16, - .textColor = { 255, 255, 255, 255 } - })); - } -} - -typedef struct { - Clay_String title; - Clay_String contents; -} Document; - -typedef struct { - Document *documents; - uint32_t length; -} DocumentArray; - -DocumentArray documents = { - .documents = NULL, - .length = 5 -}; - -uint32_t selectedDocumentIndex = 0; - -void HandleSidebarInteraction( - Clay_ElementId elementId, - Clay_PointerData pointerData, - intptr_t userData -) { - // If this button was clicked - if (pointerData.state == CLAY_POINTER_DATA_PRESSED_THIS_FRAME) { - if (userData >= 0 && userData < documents.length) { - // Select the corresponding document - selectedDocumentIndex = userData; - } - } -} - -static Clay_RenderCommandArray CreateLayout() { - Clay_BeginLayout(); - Clay_Sizing layoutExpand = { - .width = CLAY_SIZING_GROW(0), - .height = CLAY_SIZING_GROW(0) - }; - - Clay_RectangleElementConfig contentBackgroundConfig = { - .color = { 90, 90, 90, 255 }, - .cornerRadius = 8 - }; - - Clay_BeginLayout(); - // Build UI here - CLAY( - CLAY_ID("OuterContainer"), - CLAY_RECTANGLE({ .color = { 43, 41, 51, 255 } }), - CLAY_LAYOUT({ - .layoutDirection = CLAY_TOP_TO_BOTTOM, - .sizing = layoutExpand, - .padding = CLAY_PADDING_ALL(16), - .childGap = 16 - }) - ) { - // Child elements go inside braces - CLAY( - CLAY_ID("HeaderBar"), - CLAY_RECTANGLE(contentBackgroundConfig), - CLAY_LAYOUT({ - .sizing = { - .height = CLAY_SIZING_FIXED(60), - .width = CLAY_SIZING_GROW(0) - }, - .padding = { 16 }, - .childGap = 16, - .childAlignment = { - .y = CLAY_ALIGN_Y_CENTER - } - }) - ) { - // Header buttons go here - CLAY( - CLAY_LAYOUT({ .padding = { 16, 16, 8, 8 }}), - CLAY_BORDER_ALL({ 2, COLOR_WHITE }) - ) { - CLAY( - CLAY_LAYOUT({ .padding = { 8, 8, 8, 8 }}), - CLAY_IMAGE({ sample_image, { 23, 42 } }) - ) {} - } - CLAY( - CLAY_ID("FileButton"), - CLAY_LAYOUT({ .padding = { 16, 16, 8, 8 }}), - CLAY_RECTANGLE({ - .color = { 140, 140, 140, 255 }, - .cornerRadius = 5 - }) - ) { - CLAY_TEXT(CLAY_STRING("File"), CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 16, - .textColor = { 255, 255, 255, 255 } - })); - - bool fileMenuVisible = - Clay_PointerOver(Clay_GetElementId(CLAY_STRING("FileButton"))) - || - Clay_PointerOver(Clay_GetElementId(CLAY_STRING("FileMenu"))); - - if (fileMenuVisible) { // Below has been changed slightly to fix the small bug where the menu would dismiss when mousing over the top gap - CLAY( - CLAY_ID("FileMenu"), - CLAY_FLOATING({ - .attachment = { - .parent = CLAY_ATTACH_POINT_LEFT_BOTTOM - }, - }), - CLAY_LAYOUT({ - .padding = {0, 8 } - }) - ) { - CLAY( - CLAY_LAYOUT({ - .layoutDirection = CLAY_TOP_TO_BOTTOM, - .sizing = { - .width = CLAY_SIZING_FIXED(200) - }, - }), - CLAY_RECTANGLE({ - .color = { 40, 40, 40, 255 }, - .cornerRadius = 8 - }) - ) { - // Render dropdown items here - RenderDropdownMenuItem(CLAY_STRING("New")); - RenderDropdownMenuItem(CLAY_STRING("Open")); - RenderDropdownMenuItem(CLAY_STRING("Close")); - } - } - } - } - RenderHeaderButton(CLAY_STRING("Edit")); - CLAY(CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0) }})) {} - RenderHeaderButton(CLAY_STRING("Upload")); - RenderHeaderButton(CLAY_STRING("Media")); - RenderHeaderButton(CLAY_STRING("Support")); - } - - CLAY( - CLAY_ID("LowerContent"), - CLAY_LAYOUT({ .sizing = layoutExpand, .childGap = 16 }) - ) { - CLAY( - CLAY_ID("Sidebar"), - CLAY_RECTANGLE(contentBackgroundConfig), - CLAY_LAYOUT({ - .layoutDirection = CLAY_TOP_TO_BOTTOM, - .padding = CLAY_PADDING_ALL(16), - .childGap = 8, - .sizing = { - .width = CLAY_SIZING_FIXED(250), - .height = CLAY_SIZING_GROW(0) - } - }) - ) { - for (int i = 0; i < documents.length; i++) { - Document document = documents.documents[i]; - Clay_LayoutConfig sidebarButtonLayout = { - .sizing = { .width = CLAY_SIZING_GROW(0) }, - .padding = CLAY_PADDING_ALL(16) - }; - - if (i == selectedDocumentIndex) { - CLAY( - CLAY_LAYOUT(sidebarButtonLayout), - CLAY_RECTANGLE({ - .color = { 120, 120, 120, 255 }, - .cornerRadius = 8, - }) - ) { - CLAY_TEXT(document.title, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 20, - .textColor = { 255, 255, 255, 255 } - })); - } - } else { - CLAY( - CLAY_LAYOUT(sidebarButtonLayout), - Clay_OnHover(HandleSidebarInteraction, i), - Clay_Hovered() - ? CLAY_RECTANGLE({ - .color = { 120, 120, 120, 120 }, - .cornerRadius = 8 - }) - : 0 - ) { - CLAY_TEXT(document.title, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 20, - .textColor = { 255, 255, 255, 255 } - })); - } - } - } - } - - CLAY( - CLAY_ID("MainContent"), - CLAY_RECTANGLE(contentBackgroundConfig), - CLAY_SCROLL({ .vertical = true }), - CLAY_LAYOUT({ - .layoutDirection = CLAY_TOP_TO_BOTTOM, - .childGap = 16, - .padding = CLAY_PADDING_ALL(16), - .sizing = layoutExpand - }) - ) { - Document selectedDocument = documents.documents[selectedDocumentIndex]; - CLAY_TEXT(selectedDocument.title, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 24, - .textColor = COLOR_WHITE - })); - CLAY_TEXT(selectedDocument.contents, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 24, - .textColor = COLOR_WHITE - })); - } - } - } - - return Clay_EndLayout(); -} - void HandleClayErrors(Clay_ErrorData errorData) { printf("%s", errorData.errorText.chars); } 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; @@ -323,11 +60,12 @@ int main(int argc, char *argv[]) { SDL_GetWindowSize(window, &windowWidth, &windowHeight); Clay_Initialize(clayMemory, (Clay_Dimensions) { (float)windowWidth, (float)windowHeight }, (Clay_ErrorHandler) { HandleClayErrors }); - Clay_SetMeasureTextFunction(SDL2_MeasureText, (uintptr_t)&fonts); + Clay_SetMeasureTextFunction(SDL2_MeasureText, &fonts); Uint64 NOW = SDL_GetPerformanceCounter(); Uint64 LAST = 0; double deltaTime = 0; + ClayVideoDemo_Data demoData = ClayVideoDemo_Initialize(); while (true) { Clay_Vector2 scrollDelta = {}; @@ -345,6 +83,7 @@ int main(int argc, char *argv[]) { LAST = NOW; NOW = SDL_GetPerformanceCounter(); deltaTime = (double)((NOW - LAST)*1000 / (double)SDL_GetPerformanceFrequency() ); + printf("%f\n", deltaTime); int mouseX = 0; int mouseY = 0; @@ -361,7 +100,7 @@ int main(int argc, char *argv[]) { SDL_GetWindowSize(window, &windowWidth, &windowHeight); Clay_SetLayoutDimensions((Clay_Dimensions) { (float)windowWidth, (float)windowHeight }); - Clay_RenderCommandArray renderCommands = CreateLayout(); + Clay_RenderCommandArray renderCommands = ClayVideoDemo_CreateLayout(&demoData); SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); SDL_RenderClear(renderer); diff --git a/examples/SDL3-simple-demo/CMakeLists.txt b/examples/SDL3-simple-demo/CMakeLists.txt index 4a86f0e..df467a9 100644 --- a/examples/SDL3-simple-demo/CMakeLists.txt +++ b/examples/SDL3-simple-demo/CMakeLists.txt @@ -4,8 +4,8 @@ cmake_minimum_required(VERSION 3.27) project(clay_examples_sdl3_simple_demo C) set(CMAKE_C_STANDARD 99) -set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g") -set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3") +set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") +set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") include(FetchContent) set(FETCHCONTENT_QUIET FALSE) diff --git a/examples/SDL3-simple-demo/main.c b/examples/SDL3-simple-demo/main.c index 2b89dbb..8d7be39 100644 --- a/examples/SDL3-simple-demo/main.c +++ b/examples/SDL3-simple-demo/main.c @@ -9,6 +9,7 @@ #include #include "../../renderers/SDL3/clay_renderer_SDL3.c" +#include "../shared-layouts/clay-video-demo.c" static const Uint32 FONT_ID = 0; @@ -19,9 +20,10 @@ static const Clay_Color COLOR_LIGHT = (Clay_Color) {224, 215, 210, 255}; typedef struct app_state { SDL_Window *window; SDL_Renderer *renderer; + ClayVideoDemo_Data demoData; } AppState; -static inline Clay_Dimensions SDL_MeasureText(Clay_StringSlice text, Clay_TextElementConfig *config, uintptr_t userData) +static inline Clay_Dimensions SDL_MeasureText(Clay_StringSlice text, Clay_TextElementConfig *config, void *userData) { TTF_Font *font = gFonts[config->fontId]; int width, height; @@ -33,75 +35,6 @@ static inline Clay_Dimensions SDL_MeasureText(Clay_StringSlice text, Clay_TextEl return (Clay_Dimensions) { (float) width, (float) height }; } -static void Label(const Clay_String text, const int cornerRadius) -{ - CLAY(CLAY_LAYOUT({ .padding = {8, 8} }), - CLAY_RECTANGLE({ - .color = Clay_Hovered() ? COLOR_BLUE : COLOR_ORANGE, - .cornerRadius = cornerRadius, - })) { - CLAY_TEXT(text, CLAY_TEXT_CONFIG({ - .textColor = { 255, 255, 255, 255 }, - .fontId = FONT_ID, - .fontSize = 24, - })); - } -} - -static void LabelBorder(const Clay_String text, const int cornerRadius, const int thickness) -{ - CLAY( - CLAY_LAYOUT({ - .padding = {16, 16, 8, 8 } }), - CLAY_BORDER_OUTSIDE_RADIUS( - thickness, - COLOR_BLUE, - cornerRadius) - ){ - CLAY_TEXT(text, CLAY_TEXT_CONFIG({ - .textColor = { 255, 255, 255, 255 }, - .fontId = FONT_ID, - .fontSize = 24, - })); - } -} - -static Clay_RenderCommandArray Clay_CreateLayout() -{ - Clay_BeginLayout(); - CLAY(CLAY_ID("MainContent"), - CLAY_LAYOUT({ - .sizing = { - .width = CLAY_SIZING_GROW(), - .height = CLAY_SIZING_GROW(), - }, - .childAlignment = { - .x = CLAY_ALIGN_X_CENTER, - .y = CLAY_ALIGN_Y_CENTER, - }, - .childGap = 10, - .padding = { 10, 10 }, - .layoutDirection = CLAY_TOP_TO_BOTTOM, - }), - CLAY_BORDER({ - .left = { 20, COLOR_BLUE }, - .right = { 20, COLOR_BLUE }, - .bottom = { 20, COLOR_BLUE } - }), - CLAY_RECTANGLE({ - .color = COLOR_LIGHT, - }) - ) { - Label(CLAY_STRING("Rounded - Button 1"), 10); - Label(CLAY_STRING("Straight - Button 2") , 0); - Label(CLAY_STRING("Rounded+ - Button 3") , 20); - LabelBorder(CLAY_STRING("Border - Button 4"), 0, 5); - LabelBorder(CLAY_STRING("RoundedBorder - Button 5"), 10, 5); - LabelBorder(CLAY_STRING("RoundedBorder - Button 6"), 40, 15); - } - return Clay_EndLayout(); -} - void HandleClayErrors(Clay_ErrorData errorData) { printf("%s", errorData.errorText.chars); } @@ -147,6 +80,8 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) Clay_Initialize(clayMemory, (Clay_Dimensions) { (float) width, (float) height }, (Clay_ErrorHandler) { HandleClayErrors }); Clay_SetMeasureTextFunction(SDL_MeasureText, 0); + state->demoData = ClayVideoDemo_Initialize(); + *appstate = state; return SDL_APP_CONTINUE; } @@ -180,7 +115,7 @@ SDL_AppResult SDL_AppIterate(void *appstate) { AppState *state = appstate; - Clay_RenderCommandArray render_commands = Clay_CreateLayout(); + Clay_RenderCommandArray render_commands = ClayVideoDemo_CreateLayout(&state->demoData); SDL_SetRenderDrawColor(state->renderer, 0, 0, 0, 255); SDL_RenderClear(state->renderer); diff --git a/examples/cairo-pdf-rendering/CMakeLists.txt b/examples/cairo-pdf-rendering/CMakeLists.txt index 1f321dd..bdfe4e7 100644 --- a/examples/cairo-pdf-rendering/CMakeLists.txt +++ b/examples/cairo-pdf-rendering/CMakeLists.txt @@ -4,7 +4,6 @@ set(CMAKE_C_STANDARD 99) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake") - add_executable(clay_examples_cairo_pdf_rendering main.c) find_package(Cairo REQUIRED) @@ -13,8 +12,8 @@ target_compile_options(clay_examples_cairo_pdf_rendering PUBLIC) target_include_directories(clay_examples_cairo_pdf_rendering PUBLIC . ${CAIRO_INCLUDE_DIRS}) target_link_libraries(clay_examples_cairo_pdf_rendering PUBLIC Cairo::Cairo) -set(CMAKE_C_FLAGS_DEBUG "-Wall -Werror -Wno-error=missing-braces") -set(CMAKE_C_FLAGS_RELEASE "-O3") +set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") +set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") add_custom_command( TARGET clay_examples_cairo_pdf_rendering POST_BUILD diff --git a/examples/cairo-pdf-rendering/main.c b/examples/cairo-pdf-rendering/main.c index f9fc793..b2374ac 100644 --- a/examples/cairo-pdf-rendering/main.c +++ b/examples/cairo-pdf-rendering/main.c @@ -31,78 +31,78 @@ // 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(CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_GROW(0) }, - .layoutDirection = CLAY_TOP_TO_BOTTOM }), - CLAY_RECTANGLE({ .color = BACKGROUND })) { - CLAY(CLAY_ID("PageMargins"), - CLAY_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})) { - + 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(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(CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(0) }, .childGap = 10 })) { - CLAY(CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(0) }}), CLAY_RECTANGLE({ - .color = ACCENT, - .cornerRadius = CLAY_CORNER_RADIUS(12), - })) { - CLAY(CLAY_LAYOUT({.padding = CLAY_PADDING_ALL(20), .childGap = 4, .layoutDirection = CLAY_TOP_TO_BOTTOM })) { + CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIT(0) }, .childGap = 10 }}) { + 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(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 - }), CLAY_RECTANGLE({ .color = ACCENT, .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(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 }}), CLAY_BORDER_OUTSIDE_RADIUS(2, PRIMARY, 10)) { - CLAY(CLAY_LAYOUT({ .sizing = { CLAY_SIZING_FIXED(32), CLAY_SIZING_FIXED(32) } }), CLAY_IMAGE({ .sourceDimensions = { 32, 32 }, .path = CLAY_STRING("resources/check.png") })); + 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 = { .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" }}); } } } - CLAY(CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(16) } })); + CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0), CLAY_SIZING_FIXED(16) } }}); - CLAY(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(CLAY_LAYOUT({ .padding = CLAY_PADDING_ALL(10) }), CLAY_RECTANGLE({ .color = ACCENT, .cornerRadius = CLAY_CORNER_RADIUS(10) })) { + 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({ .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 })); } } } @@ -136,11 +136,17 @@ int main(void) { uint64_t totalMemorySize = Clay_MinMemorySize(); Clay_Arena clayMemory = Clay_CreateArenaWithCapacityAndMemory(totalMemorySize, malloc(totalMemorySize)); - Clay_SetMeasureTextFunction(Clay_Cairo_MeasureText); // We initialize Clay with the same size Clay_Initialize(clayMemory, (Clay_Dimensions) { width, height }, (Clay_ErrorHandler) { HandleClayErrors }); + char** fonts = (char*[]) { + "Callistoga", + "Quicksand Semibold" + }; + + Clay_SetMeasureTextFunction(Clay_Cairo_MeasureText, (uintptr_t)fonts); + Clay_BeginLayout(); // Here you can now create the declarative clay layout. @@ -149,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/CMakeLists.txt b/examples/clay-official-website/CMakeLists.txt index 9702d21..503f90f 100644 --- a/examples/clay-official-website/CMakeLists.txt +++ b/examples/clay-official-website/CMakeLists.txt @@ -5,7 +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 .) - -set(CMAKE_C_FLAGS_RELEASE "-O3") \ No newline at end of file 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 34351388ce04eee0e03ef670770d280208667cec..91fa130e75d619678e4c0ff373494d615f218211 100755 GIT binary patch literal 111977 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 ec;7rjG0pi$b`}Hs7J={{IK$HWu>$ 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..19d9635 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,61 +37,80 @@ 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(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 })) {} +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(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 = { .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(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 })) { - 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")); + 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/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"); } } } } 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 })) { - 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")); + 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/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(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 = { .width = { .betweenChildren = 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} }, .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); 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 +120,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 = { .width = { .betweenChildren = 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} }, .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); 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 +138,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 = { .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(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}, .imageData = "/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}, .imageData = "/clay/images/declarative.png" } }) {} } } } @@ -165,20 +181,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 }, .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(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 = { .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(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) }, .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,20 +203,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 }, .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(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 = { .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(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) }, .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 })); } } @@ -217,36 +233,42 @@ 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_TEXT(text, CLAY_TEXT_CONFIG({ .disablePointerEvents = true, .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_LIGHT })); + CLAY({ + .layout = { .sizing = {CLAY_SIZING_FIXED(300) }, .padding = CLAY_PADDING_ALL(16) }, + .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({ .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_TEXT(text, CLAY_TEXT_CONFIG({ .disablePointerEvents = true, .fontSize = 28, .fontId = FONT_ID_BODY_36, .textColor = COLOR_RED })); + CLAY({ + .layout = { .sizing = {CLAY_SIZING_FIXED(300)}, .padding = CLAY_PADDING_ALL(16) }, + .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({ .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 = { .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(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 +282,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 }, .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(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 +305,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 }, .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(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}, .imageData = "/clay/images/debugger.png" } }) {} } } } @@ -310,45 +332,48 @@ 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) } }, .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(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_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(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_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(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_TEXT(CLAY_STRING("Discord"), CLAY_TEXT_CONFIG({ .disablePointerEvents = true, .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = {61, 26, 5, 255} })); + CLAY({ + .layout = { .padding = {16, 16, 6, 6} }, + .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({ .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_TEXT(CLAY_STRING("Github"), CLAY_TEXT_CONFIG({ .disablePointerEvents = true, .fontId = FONT_ID_BODY_24, .fontSize = 24, .textColor = {61, 26, 5, 255} })); + CLAY({ + .layout = { .padding = {16, 16, 6, 6} }, + .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({ .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, .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 = { .width = { .betweenChildren = 2 }, .color = COLOR_RED } + }) { if (mobileScreen) { LandingPageMobile(); FeatureBlocksMobile(); @@ -375,11 +400,13 @@ 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, .attachPoints = {.element = CLAY_ATTACH_POINT_RIGHT_TOP, .parent = CLAY_ATTACH_POINT_RIGHT_TOP }, .attachTo = CLAY_ATTACH_TO_PARENT }, + .layout = { .sizing = {CLAY_SIZING_FIXED(10), CLAY_SIZING_FIXED((scrollHeight / scrollData.contentDimensions.height) * scrollHeight)} }, + .backgroundColor = scrollbarColor, + .cornerRadius = CLAY_CORNER_RADIUS(5) + }) {} } return Clay_EndLayout(); } diff --git a/examples/cpp-project-example/CMakeLists.txt b/examples/cpp-project-example/CMakeLists.txt index 24422d7..4ddcf39 100644 --- a/examples/cpp-project-example/CMakeLists.txt +++ b/examples/cpp-project-example/CMakeLists.txt @@ -11,6 +11,6 @@ add_executable(clay_examples_cpp_project_example main.cpp) target_include_directories(clay_examples_cpp_project_example PUBLIC .) if(NOT MSVC) - set(CMAKE_CXX_FLAGS_DEBUG "-Werror -Wall") - set(CMAKE_CXX_FLAGS_RELEASE "-O3") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") endif() diff --git a/examples/cpp-project-example/main.cpp b/examples/cpp-project-example/main.cpp index 363e8ef..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(CLAY_RECTANGLE({ .color = {255,255,255,0} }), CLAY_LAYOUT(layoutElement)) { + CLAY({ .layout = layoutElement, .backgroundColor = {255,255,255,0} }) { CLAY_TEXT(CLAY_STRING(""), CLAY_TEXT_CONFIG({ .fontId = 0 })); } Clay_EndLayout(); diff --git a/examples/introducing-clay-video-demo/CMakeLists.txt b/examples/introducing-clay-video-demo/CMakeLists.txt index a59d678..48c5983 100644 --- a/examples/introducing-clay-video-demo/CMakeLists.txt +++ b/examples/introducing-clay-video-demo/CMakeLists.txt @@ -28,8 +28,8 @@ target_link_libraries(clay_examples_introducing_clay_video_demo PUBLIC raylib) if(MSVC) set(CMAKE_C_FLAGS_DEBUG "/D CLAY_DEBUG") else() - set(CMAKE_C_FLAGS_DEBUG "-Wall -Werror -Wno-error=missing-braces -DCLAY_DEBUG") - set(CMAKE_C_FLAGS_RELEASE "-O3") + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") + set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") endif() add_custom_command( diff --git a/examples/introducing-clay-video-demo/main.c b/examples/introducing-clay-video-demo/main.c index 7f3ae24..5456ebc 100644 --- a/examples/introducing-clay-video-demo/main.c +++ b/examples/introducing-clay-video-demo/main.c @@ -1,81 +1,14 @@ #define CLAY_IMPLEMENTATION #include "../../clay.h" #include "../../renderers/raylib/clay_renderer_raylib.c" - -const int FONT_ID_BODY_16 = 0; -Clay_Color COLOR_WHITE = { 255, 255, 255, 255}; - -void RenderHeaderButton(Clay_String text) { - CLAY( - CLAY_LAYOUT({ .padding = { 16, 16, 8, 8 }}), - CLAY_RECTANGLE({ - .color = { 140, 140, 140, 255 }, - .cornerRadius = 5 - }) - ) { - CLAY_TEXT(text, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 16, - .textColor = { 255, 255, 255, 255 } - })); - } -} - -void RenderDropdownMenuItem(Clay_String text) { - CLAY(CLAY_LAYOUT({ .padding = CLAY_PADDING_ALL(16)})) { - CLAY_TEXT(text, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 16, - .textColor = { 255, 255, 255, 255 } - })); - } -} - -typedef struct { - Clay_String title; - Clay_String contents; -} Document; - -typedef struct { - Document *documents; - uint32_t length; -} DocumentArray; - -DocumentArray documents = { - .documents = NULL, // TODO figure out if it's possible to const init this list - .length = 5 -}; - -uint32_t selectedDocumentIndex = 0; - -void HandleSidebarInteraction( - Clay_ElementId elementId, - Clay_PointerData pointerData, - intptr_t userData -) { - // If this button was clicked - if (pointerData.state == CLAY_POINTER_DATA_PRESSED_THIS_FRAME) { - if (userData >= 0 && userData < documents.length) { - // Select the corresponding document - selectedDocumentIndex = userData; - } - } -} +#include "../shared-layouts/clay-video-demo.c" // This function is new since the video was published void HandleClayErrors(Clay_ErrorData errorData) { printf("%s", errorData.errorText.chars); } - int main(void) { - 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") }, - }; Clay_Raylib_Initialize(1024, 768, "Introducing Clay Demo", FLAG_WINDOW_RESIZABLE | FLAG_WINDOW_HIGHDPI | FLAG_MSAA_4X_HINT | FLAG_VSYNC_HINT); // Extra parameters to this function are new since the video was published uint64_t clayRequiredMemory = Clay_MinMemorySize(); @@ -84,18 +17,18 @@ int main(void) { .width = GetScreenWidth(), .height = GetScreenHeight() }, (Clay_ErrorHandler) { HandleClayErrors }); // This final argument is new since the video was published - Clay_SetMeasureTextFunction(Raylib_MeasureText, 0); - Raylib_fonts[FONT_ID_BODY_16] = (Raylib_Font) { - .font = LoadFontEx("resources/Roboto-Regular.ttf", 48, 0, 400), - .fontId = FONT_ID_BODY_16 - }; - SetTextureFilter(Raylib_fonts[FONT_ID_BODY_16].font.texture, TEXTURE_FILTER_BILINEAR); + Font fonts[1]; + fonts[FONT_ID_BODY_16] = LoadFontEx("resources/Roboto-Regular.ttf", 48, 0, 400); + SetTextureFilter(fonts[FONT_ID_BODY_16].texture, TEXTURE_FILTER_BILINEAR); + Clay_SetMeasureTextFunction(Raylib_MeasureText, fonts); + + ClayVideoDemo_Data data = ClayVideoDemo_Initialize(); while (!WindowShouldClose()) { // Run once per frame Clay_SetLayoutDimensions((Clay_Dimensions) { - .width = GetScreenWidth(), - .height = GetScreenHeight() + .width = GetScreenWidth(), + .height = GetScreenHeight() }); Vector2 mousePosition = GetMousePosition(); @@ -110,193 +43,11 @@ int main(void) { GetFrameTime() ); - Clay_Sizing layoutExpand = { - .width = CLAY_SIZING_GROW(0), - .height = CLAY_SIZING_GROW(0) - }; - - Clay_RectangleElementConfig contentBackgroundConfig = { - .color = { 90, 90, 90, 255 }, - .cornerRadius = CLAY_CORNER_RADIUS(8) - }; - - Clay_BeginLayout(); - // Build UI here - CLAY( - CLAY_ID("OuterContainer"), - CLAY_RECTANGLE({ .color = { 43, 41, 51, 255 } }), - CLAY_LAYOUT({ - .layoutDirection = CLAY_TOP_TO_BOTTOM, - .sizing = layoutExpand, - .padding = CLAY_PADDING_ALL(16), - .childGap = 16 - }) - ) { - // Child elements go inside braces - CLAY( - CLAY_ID("HeaderBar"), - CLAY_RECTANGLE(contentBackgroundConfig), - CLAY_LAYOUT({ - .sizing = { - .height = CLAY_SIZING_FIXED(60), - .width = CLAY_SIZING_GROW(0) - }, - .padding = { 16, 16, 0, 0 }, - .childGap = 16, - .childAlignment = { - .y = CLAY_ALIGN_Y_CENTER - } - }) - ) { - // Header buttons go here - CLAY( - CLAY_ID("FileButton"), - CLAY_LAYOUT({ .padding = { 16, 16, 8, 8 }}), - CLAY_RECTANGLE({ - .color = { 140, 140, 140, 255 }, - .cornerRadius = CLAY_CORNER_RADIUS(5) - }) - ) { - CLAY_TEXT(CLAY_STRING("File"), CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 16, - .textColor = { 255, 255, 255, 255 } - })); - - bool fileMenuVisible = - Clay_PointerOver(Clay_GetElementId(CLAY_STRING("FileButton"))) - || - Clay_PointerOver(Clay_GetElementId(CLAY_STRING("FileMenu"))); - - if (fileMenuVisible) { // Below has been changed slightly to fix the small bug where the menu would dismiss when mousing over the top gap - CLAY( - CLAY_ID("FileMenu"), - CLAY_FLOATING({ - .attachment = { - .parent = CLAY_ATTACH_POINT_LEFT_BOTTOM - }, - }), - CLAY_LAYOUT({ - .padding = {0, 0, 8, 8 } - }) - ) { - CLAY( - CLAY_LAYOUT({ - .layoutDirection = CLAY_TOP_TO_BOTTOM, - .sizing = { - .width = CLAY_SIZING_FIXED(200) - }, - }), - CLAY_RECTANGLE({ - .color = { 40, 40, 40, 255 }, - .cornerRadius = CLAY_CORNER_RADIUS(8) - }) - ) { - // Render dropdown items here - RenderDropdownMenuItem(CLAY_STRING("New")); - RenderDropdownMenuItem(CLAY_STRING("Open")); - RenderDropdownMenuItem(CLAY_STRING("Close")); - } - } - } - } - RenderHeaderButton(CLAY_STRING("Edit")); - CLAY(CLAY_LAYOUT({ .sizing = { CLAY_SIZING_GROW(0) }})) {} - RenderHeaderButton(CLAY_STRING("Upload")); - RenderHeaderButton(CLAY_STRING("Media")); - RenderHeaderButton(CLAY_STRING("Support")); - } - - CLAY( - CLAY_ID("LowerContent"), - CLAY_LAYOUT({ .sizing = layoutExpand, .childGap = 16 }) - ) { - CLAY( - CLAY_ID("Sidebar"), - CLAY_RECTANGLE(contentBackgroundConfig), - CLAY_LAYOUT({ - .layoutDirection = CLAY_TOP_TO_BOTTOM, - .padding = CLAY_PADDING_ALL(16), - .childGap = 8, - .sizing = { - .width = CLAY_SIZING_FIXED(250), - .height = CLAY_SIZING_GROW(0) - } - }) - ) { - for (int i = 0; i < documents.length; i++) { - Document document = documents.documents[i]; - Clay_LayoutConfig sidebarButtonLayout = { - .sizing = { .width = CLAY_SIZING_GROW(0) }, - .padding = CLAY_PADDING_ALL(16) - }; - - if (i == selectedDocumentIndex) { - CLAY( - CLAY_LAYOUT(sidebarButtonLayout), - CLAY_RECTANGLE({ - .color = { 120, 120, 120, 255 }, - .cornerRadius = CLAY_CORNER_RADIUS(8), - }) - ) { - CLAY_TEXT(document.title, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 20, - .textColor = { 255, 255, 255, 255 } - })); - } - } else { - CLAY( - CLAY_LAYOUT(sidebarButtonLayout), - Clay_OnHover(HandleSidebarInteraction, i), - Clay_Hovered() - ? CLAY_RECTANGLE({ - .color = { 120, 120, 120, 120 }, - .cornerRadius = CLAY_CORNER_RADIUS(8) - }) - : 0 - ) { - CLAY_TEXT(document.title, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 20, - .textColor = { 255, 255, 255, 255 } - })); - } - } - } - } - - CLAY( - CLAY_ID("MainContent"), - CLAY_RECTANGLE(contentBackgroundConfig), - CLAY_SCROLL({ .vertical = true }), - CLAY_LAYOUT({ - .layoutDirection = CLAY_TOP_TO_BOTTOM, - .childGap = 16, - .padding = CLAY_PADDING_ALL(16), - .sizing = layoutExpand - }) - ) { - Document selectedDocument = documents.documents[selectedDocumentIndex]; - CLAY_TEXT(selectedDocument.title, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 24, - .textColor = COLOR_WHITE - })); - CLAY_TEXT(selectedDocument.contents, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 24, - .textColor = COLOR_WHITE - })); - } - } - } - - Clay_RenderCommandArray renderCommands = Clay_EndLayout(); + Clay_RenderCommandArray renderCommands = ClayVideoDemo_CreateLayout(&data); BeginDrawing(); ClearBackground(BLACK); - Clay_Raylib_Render(renderCommands); + Clay_Raylib_Render(renderCommands, fonts); EndDrawing(); } } diff --git a/examples/raylib-multi-context/CMakeLists.txt b/examples/raylib-multi-context/CMakeLists.txt index 9179ec1..24853b5 100644 --- a/examples/raylib-multi-context/CMakeLists.txt +++ b/examples/raylib-multi-context/CMakeLists.txt @@ -26,7 +26,7 @@ target_include_directories(clay_examples_raylib_multi_context PUBLIC .) target_link_libraries(clay_examples_raylib_multi_context PUBLIC raylib) set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") -set(CMAKE_C_FLAGS_RELEASE "-O3") +set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") add_custom_command( TARGET clay_examples_raylib_multi_context POST_BUILD diff --git a/examples/raylib-multi-context/main.c b/examples/raylib-multi-context/main.c index 1d3925a..b2163ba 100644 --- a/examples/raylib-multi-context/main.c +++ b/examples/raylib-multi-context/main.c @@ -1,87 +1,13 @@ #define CLAY_IMPLEMENTATION #include "../../clay.h" #include "../../renderers/raylib/clay_renderer_raylib.c" +#include "../shared-layouts/clay-video-demo.c" -const int FONT_ID_BODY_16 = 0; -Clay_Color COLOR_WHITE = { 255, 255, 255, 255}; - -void RenderHeaderButton(Clay_String text) { - CLAY( - CLAY_LAYOUT({ .padding = { 16, 16, 8, 8 }}), - CLAY_RECTANGLE({ - .color = { 140, 140, 140, 255 }, - .cornerRadius = CLAY_CORNER_RADIUS(5) - }) - ) { - CLAY_TEXT(text, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 16, - .textColor = { 255, 255, 255, 255 } - })); - } -} - -void RenderDropdownMenuItem(Clay_String text) { - CLAY(CLAY_LAYOUT({ .padding = CLAY_PADDING_ALL(16)})) { - CLAY_TEXT(text, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 16, - .textColor = { 255, 255, 255, 255 } - })); - } -} - -typedef struct { - Clay_String title; - Clay_String contents; -} Document; - -typedef struct { - Document *documents; - int32_t length; -} DocumentArray; - -DocumentArray documents = { - .documents = NULL, // TODO figure out if it's possible to const init this list - .length = 5 -}; - -int32_t selectedDocumentIndexTop = 0; -int32_t selectedDocumentIndexBottom = 0; - -typedef struct { - int32_t requestedDocumentIndex; - int32_t* selectedDocumentIndex; -} SidebarClickData; - -void HandleSidebarInteraction( - Clay_ElementId elementId, - Clay_PointerData pointerData, - intptr_t userData -) { - SidebarClickData *clickData = (SidebarClickData*)userData; - // If this button was clicked - if (pointerData.state == CLAY_POINTER_DATA_PRESSED_THIS_FRAME) { - if (clickData->requestedDocumentIndex >= 0 && clickData->requestedDocumentIndex < documents.length) { - // Select the corresponding document - *clickData->selectedDocumentIndex = clickData->requestedDocumentIndex; - } - } -} - -// This function is new since the video was published void HandleClayErrors(Clay_ErrorData errorData) { printf("%s", errorData.errorText.chars); } -typedef struct { - intptr_t next; - intptr_t memory; -} Arena; - -Arena frameArena = {0}; - -Clay_RenderCommandArray CreateLayout(Clay_Context* context, float yOffset, int32_t* documentIndex) { +Clay_RenderCommandArray CreateLayout(Clay_Context* context, ClayVideoDemo_Data *data) { Clay_SetCurrentContext(context); Clay_SetDebugModeEnabled(true); // Run once per frame @@ -89,141 +15,22 @@ Clay_RenderCommandArray CreateLayout(Clay_Context* context, float yOffset, int32 .width = GetScreenWidth(), .height = GetScreenHeight() / 2 }); - Vector2 mousePosition = GetMousePosition(); - mousePosition.y -= yOffset; + mousePosition.y -= data->yOffset; Vector2 scrollDelta = GetMouseWheelMoveV(); Clay_SetPointerState( - (Clay_Vector2) { mousePosition.x, mousePosition.y }, - IsMouseButtonDown(0) + (Clay_Vector2) { mousePosition.x, mousePosition.y }, + IsMouseButtonDown(0) ); Clay_UpdateScrollContainers( - true, - (Clay_Vector2) { scrollDelta.x, scrollDelta.y }, - GetFrameTime() + true, + (Clay_Vector2) { scrollDelta.x, scrollDelta.y }, + GetFrameTime() ); - - Clay_Sizing layoutExpand = { - .width = CLAY_SIZING_GROW(0), - .height = CLAY_SIZING_GROW(0) - }; - - Clay_RectangleElementConfig contentBackgroundConfig = { - .color = { 90, 90, 90, 255 }, - .cornerRadius = CLAY_CORNER_RADIUS(8) - }; - - Clay_BeginLayout(); - // Build UI here - CLAY( - CLAY_ID("OuterContainer"), - CLAY_RECTANGLE({ .color = { 43, 41, 51, 255 } }), - CLAY_LAYOUT({ - .layoutDirection = CLAY_TOP_TO_BOTTOM, - .sizing = layoutExpand, - .padding = CLAY_PADDING_ALL(16), - .childGap = 16 - }) - ) { - CLAY( - CLAY_ID("LowerContent"), - CLAY_LAYOUT({ .sizing = layoutExpand, .childGap = 16 }) - ) { - CLAY( - CLAY_ID("Sidebar"), - CLAY_RECTANGLE(contentBackgroundConfig), - CLAY_LAYOUT({ - .layoutDirection = CLAY_TOP_TO_BOTTOM, - .padding = CLAY_PADDING_ALL(16), - .childGap = 8, - .sizing = { - .width = CLAY_SIZING_FIXED(250), - .height = CLAY_SIZING_GROW(0) - } - }) - ) { - for (int i = 0; i < documents.length; i++) { - Document document = documents.documents[i]; - Clay_LayoutConfig sidebarButtonLayout = { - .sizing = { .width = CLAY_SIZING_GROW(0) }, - .padding = CLAY_PADDING_ALL(16) - }; - - if (i == *documentIndex) { - CLAY( - CLAY_LAYOUT(sidebarButtonLayout), - CLAY_RECTANGLE({ - .color = { 120, 120, 120, 255 }, - .cornerRadius = CLAY_CORNER_RADIUS(8), - }) - ) { - CLAY_TEXT(document.title, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 20, - .textColor = { 255, 255, 255, 255 } - })); - } - } else { - SidebarClickData *clickData = (SidebarClickData *)frameArena.next; - *clickData = (SidebarClickData) { .requestedDocumentIndex = i, .selectedDocumentIndex = documentIndex }; - frameArena.next += sizeof(SidebarClickData); - CLAY( - CLAY_LAYOUT(sidebarButtonLayout), - Clay_OnHover(HandleSidebarInteraction, (intptr_t)clickData), - Clay_Hovered() - ? CLAY_RECTANGLE({ - .color = { 120, 120, 120, 120 }, - .cornerRadius = CLAY_CORNER_RADIUS(8) - }) - : (void)0 - ) { - CLAY_TEXT(document.title, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 20, - .textColor = { 255, 255, 255, 255 } - })); - } - } - } - } - - CLAY( - CLAY_ID("MainContent"), - CLAY_RECTANGLE(contentBackgroundConfig), - CLAY_SCROLL({ .vertical = true }), - CLAY_LAYOUT({ - .layoutDirection = CLAY_TOP_TO_BOTTOM, - .childGap = 16, - .padding = CLAY_PADDING_ALL(16), - .sizing = layoutExpand - }) - ) { - Document selectedDocument = documents.documents[*documentIndex]; - CLAY_TEXT(selectedDocument.title, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 24, - .textColor = COLOR_WHITE - })); - CLAY_TEXT(selectedDocument.contents, CLAY_TEXT_CONFIG({ - .fontId = FONT_ID_BODY_16, - .fontSize = 24, - .textColor = COLOR_WHITE - })); - } - } - } - - Clay_RenderCommandArray renderCommands = Clay_EndLayout(); - for (int i = 0; i < renderCommands.length; ++i) { - Clay_RenderCommandArray_Get(&renderCommands,i)->boundingBox.y += yOffset; - } - return renderCommands; + return ClayVideoDemo_CreateLayout(data); } - int main(void) { - frameArena = (Arena) { .memory = (intptr_t)malloc(1024) }; - frameArena.next = frameArena.memory; 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.") }, @@ -233,6 +40,10 @@ int main(void) { }; Clay_Raylib_Initialize(1024, 768, "Introducing Clay Demo", FLAG_WINDOW_RESIZABLE | FLAG_WINDOW_HIGHDPI | FLAG_MSAA_4X_HINT | FLAG_VSYNC_HINT); // Extra parameters to this function are new since the video was published + Font fonts[1]; + fonts[FONT_ID_BODY_16] = LoadFontEx("resources/Roboto-Regular.ttf", 48, 0, 400); + SetTextureFilter(fonts[FONT_ID_BODY_16].texture, TEXTURE_FILTER_BILINEAR); + uint64_t clayRequiredMemory = Clay_MinMemorySize(); Clay_Arena clayMemoryTop = Clay_CreateArenaWithCapacityAndMemory(clayRequiredMemory, malloc(clayRequiredMemory)); @@ -240,28 +51,25 @@ int main(void) { .width = GetScreenWidth(), .height = GetScreenHeight() / 2 }, (Clay_ErrorHandler) { HandleClayErrors }); // This final argument is new since the video was published + ClayVideoDemo_Data dataTop = ClayVideoDemo_Initialize(); + Clay_SetMeasureTextFunction(Raylib_MeasureText, fonts); Clay_Arena clayMemoryBottom = Clay_CreateArenaWithCapacityAndMemory(clayRequiredMemory, malloc(clayRequiredMemory)); Clay_Context *clayContextBottom = Clay_Initialize(clayMemoryBottom, (Clay_Dimensions) { .width = GetScreenWidth(), .height = GetScreenHeight() / 2 }, (Clay_ErrorHandler) { HandleClayErrors }); // This final argument is new since the video was published - - Clay_SetMeasureTextFunction(Raylib_MeasureText, 0); - Raylib_fonts[FONT_ID_BODY_16] = (Raylib_Font) { - .font = LoadFontEx("resources/Roboto-Regular.ttf", 48, 0, 400), - .fontId = FONT_ID_BODY_16 - }; - SetTextureFilter(Raylib_fonts[FONT_ID_BODY_16].font.texture, TEXTURE_FILTER_BILINEAR); + ClayVideoDemo_Data dataBottom = ClayVideoDemo_Initialize(); + Clay_SetMeasureTextFunction(Raylib_MeasureText, fonts); while (!WindowShouldClose()) { - frameArena.next = frameArena.memory; - Clay_RenderCommandArray renderCommandsTop = CreateLayout(clayContextTop, 0, &selectedDocumentIndexTop); - Clay_RenderCommandArray renderCommandsBottom = CreateLayout(clayContextBottom, GetScreenHeight() / 2, &selectedDocumentIndexBottom); + dataBottom.yOffset = GetScreenHeight() / 2; + Clay_RenderCommandArray renderCommandsTop = CreateLayout(clayContextTop, &dataTop); + Clay_RenderCommandArray renderCommandsBottom = CreateLayout(clayContextBottom, &dataBottom); BeginDrawing(); ClearBackground(BLACK); - Clay_Raylib_Render(renderCommandsTop); - Clay_Raylib_Render(renderCommandsBottom); + Clay_Raylib_Render(renderCommandsTop, fonts); + Clay_Raylib_Render(renderCommandsBottom, fonts); EndDrawing(); } } diff --git a/examples/raylib-sidebar-scrolling-container/CMakeLists.txt b/examples/raylib-sidebar-scrolling-container/CMakeLists.txt index 94ee26b..a8072f6 100644 --- a/examples/raylib-sidebar-scrolling-container/CMakeLists.txt +++ b/examples/raylib-sidebar-scrolling-container/CMakeLists.txt @@ -25,10 +25,10 @@ target_include_directories(clay_examples_raylib_sidebar_scrolling_container PUBL target_link_libraries(clay_examples_raylib_sidebar_scrolling_container PUBLIC raylib) if(MSVC) - set(CMAKE_C_FLAGS_DEBUG "/D CLAY_DEBUG") + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") else() set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") - set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3") + set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") endif() add_custom_command( diff --git a/examples/raylib-sidebar-scrolling-container/main.c b/examples/raylib-sidebar-scrolling-container/main.c index 1b486d7..b1b75c7 100644 --- a/examples/raylib-sidebar-scrolling-container/main.c +++ b/examples/raylib-sidebar-scrolling-container/main.c @@ -19,66 +19,71 @@ void HandleHeaderButtonInteraction(Clay_ElementId elementId, Clay_PointerData po } } +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(CLAY_LAYOUT({ .padding = {16, 16, 8, 8} }), - CLAY_RECTANGLE({ .color = Clay_Hovered() ? COLOR_BLUE : COLOR_ORANGE }), - Clay_OnHover(HandleHeaderButtonInteraction, 1)) { + 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(CLAY_IDI("ScrollContainerItem", index), CLAY_LAYOUT(dropdownTextItemLayout), CLAY_RECTANGLE(dropdownRectangleConfig)) { + CLAY({ .layout = dropdownTextItemLayout, .backgroundColor = {180, 180, 180, 255} }) { CLAY_TEXT(CLAY_STRING("I'm a text field in a scroll container."), &dropdownTextElementConfig); } } -Clay_RenderCommandArray CreateLayout() { +Clay_RenderCommandArray CreateLayout(void) { Clay_BeginLayout(); - CLAY(CLAY_ID("OuterContainer"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_GROW(0) }, .padding = { 16, 16, 16, 16 }, .childGap = 16 }), CLAY_RECTANGLE({ .color = {200, 200, 200, 255} })) { - CLAY(CLAY_ID("SideBar"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_GROW(0) }, .padding = {16, 16, 16, 16 }, .childGap = 16 }), CLAY_RECTANGLE({ .color = {150, 150, 255, 255} })) { - CLAY(CLAY_ID("ProfilePictureOuter"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(0) }, .padding = { 8, 8, 8, 8 }, .childGap = 8, .childAlignment = { .y = CLAY_ALIGN_Y_CENTER } }), CLAY_RECTANGLE({ .color = {130, 130, 255, 255} })) { - CLAY(CLAY_ID("ProfilePicture"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(60), .height = CLAY_SIZING_FIXED(60) } }), CLAY_IMAGE({ .imageData = &profilePicture, .sourceDimensions = {60, 60} })) {} + 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(CLAY_ID("SidebarBlob1"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(50) }}), CLAY_RECTANGLE({ .color = {110, 110, 255, 255} })) {} - CLAY(CLAY_ID("SidebarBlob2"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(50) }}), CLAY_RECTANGLE({ .color = {110, 110, 255, 255} })) {} - CLAY(CLAY_ID("SidebarBlob3"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(50) }}), CLAY_RECTANGLE({ .color = {110, 110, 255, 255} })) {} - CLAY(CLAY_ID("SidebarBlob4"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_FIXED(50) }}), CLAY_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(CLAY_ID("RightPanel"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_GROW(0) }, .childGap = 16 })) { - CLAY(CLAY_ID("HeaderBar"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_GROW(0) }, .childAlignment = { .x = CLAY_ALIGN_X_RIGHT }, .padding = {8, 8, 8, 8 }, .childGap = 8 }), CLAY_RECTANGLE({ .color = {180, 180, 180, 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({ .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(CLAY_ID("MainContent"), - CLAY_SCROLL({ .vertical = true }), - CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM, .padding = {16, 16, 16, 16}, .childGap = 16, .sizing = { CLAY_SIZING_GROW(0) } }), - CLAY_RECTANGLE({ .color = {200, 200, 255, 255} })) + CLAY({.id = CLAY_ID("MainContent"), + .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .padding = {16, 16, 16, 16}, .childGap = 16, .sizing = { CLAY_SIZING_GROW(0) } }, + .backgroundColor = {200, 200, 255, 255}, + .scroll = { .vertical = true }, + }) { - CLAY(CLAY_ID("FloatingContainer"), - CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_FIXED(300) }, .padding = { 16, 16, 16, 16 }}), - CLAY_FLOATING({ .zIndex = 1, .attachment = { CLAY_ATTACH_POINT_CENTER_TOP, CLAY_ATTACH_POINT_CENTER_TOP }, .offset = {0, 0} }), - CLAY_BORDER_OUTSIDE({ .color = {80, 80, 80, 255}, .width = 2 }), - CLAY_RECTANGLE({ .color = {140,80, 200, 200 }}) - ) { + 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 = { .attachTo = CLAY_ATTACH_TO_PARENT, .zIndex = 1, .attachPoints = { CLAY_ATTACH_POINT_CENTER_TOP, CLAY_ATTACH_POINT_CENTER_TOP }, .offset = {0, 0} }, + .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} })); } 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(CLAY_ID("Photos2"), CLAY_LAYOUT({ .childGap = 16, .padding = { 16, 16, 16, 16 }}), CLAY_RECTANGLE({ .color = {180, 180, 220, 255} })) { - CLAY(CLAY_ID("Picture4"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }}), CLAY_IMAGE({ .imageData = &profilePicture, .sourceDimensions = {120, 120} })) {} - CLAY(CLAY_ID("Picture5"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }}), CLAY_IMAGE({ .imageData = &profilePicture, .sourceDimensions = {120, 120} })) {} - CLAY(CLAY_ID("Picture6"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }}), CLAY_IMAGE({ .imageData = &profilePicture, .sourceDimensions = {120, 120} })) {} + 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} }}) {} } 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."), @@ -87,13 +92,13 @@ Clay_RenderCommandArray CreateLayout() { 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(CLAY_ID("Photos"), CLAY_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} }), CLAY_RECTANGLE({ .color = {180, 180, 220, 255} })) { - CLAY(CLAY_ID("Picture2"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }}), CLAY_IMAGE({ .imageData = &profilePicture, .sourceDimensions = {120, 120} })) {} - CLAY(CLAY_ID("Picture1"), CLAY_LAYOUT({ .childAlignment = { .x = CLAY_ALIGN_X_CENTER }, .layoutDirection = CLAY_TOP_TO_BOTTOM, .padding = {8, 8, 8, 8} }), CLAY_RECTANGLE({ .color = {170, 170, 220, 255} })) { - CLAY(CLAY_ID("ProfilePicture2"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(60), .height = CLAY_SIZING_FIXED(60) }}), CLAY_IMAGE({ .imageData = &profilePicture, .sourceDimensions = {60, 60} })) {} + 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} }, .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} })); } - CLAY(CLAY_ID("Picture3"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(120), .height = CLAY_SIZING_FIXED(120) }}), CLAY_IMAGE({ .imageData = &profilePicture, .sourceDimensions = {120, 120} })) {} + CLAY({ .id = CLAY_ID("Picture3"), .layout = { .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."), @@ -101,14 +106,14 @@ Clay_RenderCommandArray CreateLayout() { } } - CLAY(CLAY_ID("Blob4Floating2"), CLAY_FLOATING({ .zIndex = 1, .parentId = Clay_GetElementId(CLAY_STRING("SidebarBlob4")).id })) { - CLAY(CLAY_ID("ScrollContainer"), CLAY_LAYOUT({ .sizing = { .height = CLAY_SIZING_FIXED(200) }, .childGap = 2 }), CLAY_SCROLL({ .vertical = true })) { - CLAY(CLAY_ID("FloatingContainer2"), CLAY_LAYOUT({ }), CLAY_FLOATING({ .zIndex = 1 })) { - CLAY(CLAY_ID("FloatingContainerInner"), CLAY_LAYOUT({ .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_FIXED(300) }, .padding = {16, 16, 16, 16} }), CLAY_RECTANGLE({ .color = {140,80, 200, 200} })) { + CLAY({ .id = CLAY_ID("Blob4Floating2"), .floating = { .attachTo = CLAY_ATTACH_TO_ELEMENT_WITH_ID, .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 = { .attachTo = CLAY_ATTACH_TO_PARENT, .zIndex = 1 } }) { + 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(CLAY_ID("ScrollContainerInner"), CLAY_LAYOUT({ .layoutDirection = CLAY_TOP_TO_BOTTOM }), CLAY_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); } @@ -117,18 +122,20 @@ Clay_RenderCommandArray CreateLayout() { } Clay_ScrollContainerData scrollData = Clay_GetScrollContainerData(Clay_GetElementId(CLAY_STRING("MainContent"))); if (scrollData.found) { - CLAY(CLAY_ID("ScrollBar"), - CLAY_FLOATING({ + CLAY({ .id = CLAY_ID("ScrollBar"), + .floating = { + .attachTo = CLAY_ATTACH_TO_ELEMENT_WITH_ID, .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(CLAY_ID("ScrollBarButton"), - CLAY_LAYOUT({ .sizing = {CLAY_SIZING_FIXED(12), CLAY_SIZING_FIXED((scrollData.scrollContainerDimensions.height / scrollData.contentDimensions.height) * scrollData.scrollContainerDimensions.height) }}), - CLAY_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} }) - ) {} + .attachPoints = { .element = CLAY_ATTACH_POINT_RIGHT_TOP, .parent = CLAY_ATTACH_POINT_RIGHT_TOP } + } + }) { + CLAY({ .id = CLAY_ID("ScrollBarButton"), + .layout = { .sizing = {CLAY_SIZING_FIXED(12), CLAY_SIZING_FIXED((scrollData.scrollContainerDimensions.height / scrollData.contentDimensions.height) * scrollData.scrollContainerDimensions.height) }}, + .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) + }) {} } } } @@ -142,11 +149,11 @@ typedef struct bool mouseDown; } ScrollbarData; -ScrollbarData scrollbarData = {}; +ScrollbarData scrollbarData = {0}; bool debugEnabled = false; -void UpdateDrawFrame(void) +void UpdateDrawFrame(Font* fonts) { Vector2 mouseWheelDelta = GetMouseWheelMoveV(); float mouseWheelX = mouseWheelDelta.x; @@ -195,7 +202,7 @@ void UpdateDrawFrame(void) // currentTime = GetTime(); BeginDrawing(); ClearBackground(BLACK); - Clay_Raylib_Render(renderCommands); + Clay_Raylib_Render(renderCommands, fonts); EndDrawing(); // printf("render time: %f ms\n", (GetTime() - currentTime) * 1000); @@ -219,20 +226,15 @@ int main(void) { uint64_t totalMemorySize = Clay_MinMemorySize(); Clay_Arena clayMemory = Clay_CreateArenaWithCapacityAndMemory(totalMemorySize, malloc(totalMemorySize)); Clay_Initialize(clayMemory, (Clay_Dimensions) { (float)GetScreenWidth(), (float)GetScreenHeight() }, (Clay_ErrorHandler) { HandleClayErrors }); - Clay_SetMeasureTextFunction(Raylib_MeasureText, 0); 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); + Font fonts[2]; + fonts[FONT_ID_BODY_24] = LoadFontEx("resources/Roboto-Regular.ttf", 48, 0, 400); + SetTextureFilter(fonts[FONT_ID_BODY_24].texture, TEXTURE_FILTER_BILINEAR); + fonts[FONT_ID_BODY_16] = LoadFontEx("resources/Roboto-Regular.ttf", 32, 0, 400); + SetTextureFilter(fonts[FONT_ID_BODY_16].texture, TEXTURE_FILTER_BILINEAR); + Clay_SetMeasureTextFunction(Raylib_MeasureText, fonts); //-------------------------------------------------------------------------------------- @@ -246,7 +248,7 @@ int main(void) { Clay_Initialize(clayMemory, (Clay_Dimensions) { (float)GetScreenWidth(), (float)GetScreenHeight() }, (Clay_ErrorHandler) { HandleClayErrors }); reinitializeClay = false; } - UpdateDrawFrame(); + UpdateDrawFrame(fonts); } return 0; } diff --git a/examples/raylib-sidebar-scrolling-container/multi-compilation-unit.c b/examples/raylib-sidebar-scrolling-container/multi-compilation-unit.c index 2c1a473..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() { - CLAY(CLAY_ID("SatisfyCompiler"), CLAY_LAYOUT({})) { +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 +} diff --git a/examples/shared-layouts/clay-video-demo.c b/examples/shared-layouts/clay-video-demo.c new file mode 100644 index 0000000..e7400a3 --- /dev/null +++ b/examples/shared-layouts/clay-video-demo.c @@ -0,0 +1,266 @@ +#include "../../clay.h" +#include + +const int FONT_ID_BODY_16 = 0; +Clay_Color COLOR_WHITE = { 255, 255, 255, 255}; + +void RenderHeaderButton(Clay_String text) { + CLAY({ + .layout = { .padding = { 16, 16, 8, 8 }}, + .backgroundColor = { 140, 140, 140, 255 }, + .cornerRadius = CLAY_CORNER_RADIUS(5) + }) { + CLAY_TEXT(text, CLAY_TEXT_CONFIG({ + .fontId = FONT_ID_BODY_16, + .fontSize = 16, + .textColor = { 255, 255, 255, 255 } + })); + } +} + +void RenderDropdownMenuItem(Clay_String text) { + CLAY({.layout = { .padding = CLAY_PADDING_ALL(16)}}) { + CLAY_TEXT(text, CLAY_TEXT_CONFIG({ + .fontId = FONT_ID_BODY_16, + .fontSize = 16, + .textColor = { 255, 255, 255, 255 } + })); + } +} + +typedef struct { + Clay_String title; + Clay_String contents; +} Document; + +typedef struct { + Document *documents; + uint32_t length; +} DocumentArray; + +Document documentsRaw[5]; + +DocumentArray documents = { + .length = 5, + .documents = documentsRaw +}; + +typedef struct { + intptr_t offset; + intptr_t memory; +} ClayVideoDemo_Arena; + +typedef struct { + int32_t selectedDocumentIndex; + float yOffset; + ClayVideoDemo_Arena frameArena; +} ClayVideoDemo_Data; + +typedef struct { + int32_t requestedDocumentIndex; + int32_t* selectedDocumentIndex; +} SidebarClickData; + +void HandleSidebarInteraction( + Clay_ElementId elementId, + Clay_PointerData pointerData, + intptr_t userData +) { + SidebarClickData *clickData = (SidebarClickData*)userData; + // If this button was clicked + if (pointerData.state == CLAY_POINTER_DATA_PRESSED_THIS_FRAME) { + if (clickData->requestedDocumentIndex >= 0 && clickData->requestedDocumentIndex < documents.length) { + // Select the corresponding document + *clickData->selectedDocumentIndex = clickData->requestedDocumentIndex; + } + } +} + +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) } + }; + return data; +} + +Clay_RenderCommandArray ClayVideoDemo_CreateLayout(ClayVideoDemo_Data *data) { + data->frameArena.offset = 0; + + Clay_BeginLayout(); + + Clay_Sizing layoutExpand = { + .width = CLAY_SIZING_GROW(0), + .height = CLAY_SIZING_GROW(0) + }; + + Clay_Color contentBackgroundColor = { 90, 90, 90, 255 }; + + // Build UI here + CLAY({ .id = CLAY_ID("OuterContainer"), + .backgroundColor = {43, 41, 51, 255 }, + .layout = { + .layoutDirection = CLAY_TOP_TO_BOTTOM, + .sizing = layoutExpand, + .padding = CLAY_PADDING_ALL(16), + .childGap = 16 + } + }) { + // Child elements go inside braces + CLAY({ .id = CLAY_ID("HeaderBar"), + .layout = { + .sizing = { + .height = CLAY_SIZING_FIXED(60), + .width = CLAY_SIZING_GROW(0) + }, + .padding = { 16, 16, 0, 0 }, + .childGap = 16, + .childAlignment = { + .y = CLAY_ALIGN_Y_CENTER + } + }, + .backgroundColor = contentBackgroundColor, + .cornerRadius = CLAY_CORNER_RADIUS(8) + }) { + // Header buttons go here + CLAY({ .id = CLAY_ID("FileButton"), + .layout = { .padding = { 16, 16, 8, 8 }}, + .backgroundColor = {140, 140, 140, 255 }, + .cornerRadius = CLAY_CORNER_RADIUS(5) + }) { + CLAY_TEXT(CLAY_STRING("File"), CLAY_TEXT_CONFIG({ + .fontId = FONT_ID_BODY_16, + .fontSize = 16, + .textColor = { 255, 255, 255, 255 } + })); + + bool fileMenuVisible = + Clay_PointerOver(Clay_GetElementId(CLAY_STRING("FileButton"))) + || + Clay_PointerOver(Clay_GetElementId(CLAY_STRING("FileMenu"))); + + if (fileMenuVisible) { // Below has been changed slightly to fix the small bug where the menu would dismiss when mousing over the top gap + CLAY({ .id = CLAY_ID("FileMenu"), + .floating = { + .attachTo = CLAY_ATTACH_TO_PARENT, + .attachPoints = { + .parent = CLAY_ATTACH_POINT_LEFT_BOTTOM + }, + }, + .layout = { + .padding = {0, 0, 8, 8 } + } + }) { + CLAY({ + .layout = { + .layoutDirection = CLAY_TOP_TO_BOTTOM, + .sizing = { + .width = CLAY_SIZING_FIXED(200) + }, + }, + .backgroundColor = {40, 40, 40, 255 }, + .cornerRadius = CLAY_CORNER_RADIUS(8) + }) { + // Render dropdown items here + RenderDropdownMenuItem(CLAY_STRING("New")); + RenderDropdownMenuItem(CLAY_STRING("Open")); + RenderDropdownMenuItem(CLAY_STRING("Close")); + } + } + } + } + RenderHeaderButton(CLAY_STRING("Edit")); + CLAY({ .layout = { .sizing = { CLAY_SIZING_GROW(0) }}}) {} + RenderHeaderButton(CLAY_STRING("Upload")); + RenderHeaderButton(CLAY_STRING("Media")); + RenderHeaderButton(CLAY_STRING("Support")); + } + + CLAY({ + .id = CLAY_ID("LowerContent"), + .layout = { .sizing = layoutExpand, .childGap = 16 } + }) { + CLAY({ + .id = CLAY_ID("Sidebar"), + .backgroundColor = contentBackgroundColor, + .layout = { + .layoutDirection = CLAY_TOP_TO_BOTTOM, + .padding = CLAY_PADDING_ALL(16), + .childGap = 8, + .sizing = { + .width = CLAY_SIZING_FIXED(250), + .height = CLAY_SIZING_GROW(0) + } + } + }) { + for (int i = 0; i < documents.length; i++) { + Document document = documents.documents[i]; + Clay_LayoutConfig sidebarButtonLayout = { + .sizing = { .width = CLAY_SIZING_GROW(0) }, + .padding = CLAY_PADDING_ALL(16) + }; + + if (i == data->selectedDocumentIndex) { + CLAY({ + .layout = sidebarButtonLayout, + .backgroundColor = {120, 120, 120, 255 }, + .cornerRadius = CLAY_CORNER_RADIUS(8) + }) { + CLAY_TEXT(document.title, CLAY_TEXT_CONFIG({ + .fontId = FONT_ID_BODY_16, + .fontSize = 20, + .textColor = { 255, 255, 255, 255 } + })); + } + } else { + SidebarClickData *clickData = (SidebarClickData *)(data->frameArena.memory + data->frameArena.offset); + *clickData = (SidebarClickData) { .requestedDocumentIndex = i, .selectedDocumentIndex = &data->selectedDocumentIndex }; + data->frameArena.offset += sizeof(SidebarClickData); + CLAY({ .layout = sidebarButtonLayout, .backgroundColor = (Clay_Color) { 120, 120, 120, Clay_Hovered() ? 120 : 0 }, .cornerRadius = CLAY_CORNER_RADIUS(8) }) { + Clay_OnHover(HandleSidebarInteraction, (intptr_t)clickData); + CLAY_TEXT(document.title, CLAY_TEXT_CONFIG({ + .fontId = FONT_ID_BODY_16, + .fontSize = 20, + .textColor = { 255, 255, 255, 255 } + })); + } + } + } + } + + CLAY({ .id = CLAY_ID("MainContent"), + .backgroundColor = contentBackgroundColor, + .scroll = { .vertical = true }, + .layout = { + .layoutDirection = CLAY_TOP_TO_BOTTOM, + .childGap = 16, + .padding = CLAY_PADDING_ALL(16), + .sizing = layoutExpand + } + }) { + Document selectedDocument = documents.documents[data->selectedDocumentIndex]; + CLAY_TEXT(selectedDocument.title, CLAY_TEXT_CONFIG({ + .fontId = FONT_ID_BODY_16, + .fontSize = 24, + .textColor = COLOR_WHITE + })); + CLAY_TEXT(selectedDocument.contents, CLAY_TEXT_CONFIG({ + .fontId = FONT_ID_BODY_16, + .fontSize = 24, + .textColor = COLOR_WHITE + })); + } + } + } + + Clay_RenderCommandArray renderCommands = Clay_EndLayout(); + for (int32_t i = 0; i < renderCommands.length; i++) { + Clay_RenderCommandArray_Get(&renderCommands, i)->boundingBox.y += data->yOffset; + } + return renderCommands; +} \ No newline at end of file diff --git a/renderers/SDL2/clay_renderer_SDL2.c b/renderers/SDL2/clay_renderer_SDL2.c index bb4059e..811c6ef 100644 --- a/renderers/SDL2/clay_renderer_SDL2.c +++ b/renderers/SDL2/clay_renderer_SDL2.c @@ -13,7 +13,7 @@ typedef struct } SDL2_Font; -static Clay_Dimensions SDL2_MeasureText(Clay_StringSlice text, Clay_TextElementConfig *config, uintptr_t userData) +static Clay_Dimensions SDL2_MeasureText(Clay_StringSlice text, Clay_TextElementConfig *config, void *userData) { SDL2_Font *fonts = (SDL2_Font*)userData; @@ -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->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, @@ -110,38 +109,40 @@ static void Clay_SDL2_Render(SDL_Renderer *renderer, Clay_RenderCommandArray ren }; SDL_RenderCopy(renderer, texture, NULL, &destination); + + SDL_DestroyTexture(texture); break; } case CLAY_RENDER_COMMAND_TYPE_BORDER: { - Clay_BorderElementConfig *config = renderCommand->config.borderElementConfig; + 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 + config->cornerRadius.topLeft, config->left.width, boundingBox.height - config->cornerRadius.topLeft - config->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 + config->cornerRadius.topRight, config->right.width, boundingBox.height - config->cornerRadius.topRight - config->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 + config->cornerRadius.topRight, config->right.width, boundingBox.height - config->cornerRadius.topRight - config->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 + config->cornerRadius.topLeft, boundingBox.y, boundingBox.width - config->cornerRadius.topLeft - config->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 + config->cornerRadius.bottomLeft, boundingBox.y + boundingBox.height - config->bottom.width, boundingBox.width - config->cornerRadius.bottomLeft - config->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 583c238..f8d23e8 100644 --- a/renderers/SDL3/clay_renderer_SDL3.c +++ b/renderers/SDL3/clay_renderer_SDL3.c @@ -146,23 +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; - const Clay_Color color = config->color; - - SDL_SetRenderDrawColor(renderer, color.r, color.g, color.b, color.a); + 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, color); + 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->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); @@ -170,7 +167,7 @@ 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_BorderRenderData *config = &rcmd->renderData.border; const float minRadius = SDL_min(rect.w, rect.h) / 2.0f; const Clay_CornerRadius clampedRadii = { @@ -180,32 +177,32 @@ static void SDL_RenderClayCommands(SDL_Renderer *renderer, Clay_RenderCommandArr .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 @@ -213,25 +210,25 @@ static void SDL_RenderClayCommands(SDL_Renderer *renderer, Clay_RenderCommandArr 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 (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 (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 (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 c8e3c16..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); //////////////////////////////// @@ -83,12 +75,13 @@ static inline char *Clay_Cairo__NullTerminate(Clay_String *str) { } // Measure text using cairo's *toy* text API. -static inline Clay_Dimensions Clay_Cairo_MeasureText(Clay_String *str, Clay_TextElementConfig *config, uintptr_t userData) { +static inline Clay_Dimensions Clay_Cairo_MeasureText(Clay_StringSlice str, Clay_TextElementConfig *config, uintptr_t userData) { // Edge case: Clay computes the width of a whitespace character // 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. - if(str->length == 1 && str->chars[0] == ' ') { + char** fonts = (char**)userData; + if(str.length == 1 && str.chars[0] == ' ') { cairo_text_extents_t te; cairo_text_extents(Clay__Cairo, " ", &te); return (Clay_Dimensions) { @@ -102,8 +95,9 @@ static inline Clay_Dimensions Clay_Cairo_MeasureText(Clay_String *str, Clay_Text } // Ensure string is null-terminated for Cairo - char *text = Clay_Cairo__NullTerminate(str); - char *font_family = Clay_Cairo__NullTerminate(&config->fontFamily); + Clay_String toTerminate = (Clay_String){ str.length, str.chars }; + char *text = Clay_Cairo__NullTerminate(&toTerminate); + char *font_family = fonts[config->fontId]; // Save and reset the Cairo context to avoid unwanted transformations cairo_save(Clay__Cairo); @@ -119,7 +113,6 @@ static inline Clay_Dimensions Clay_Cairo_MeasureText(Clay_String *str, Clay_Text fprintf(stderr, "Failed to get scaled font\n"); cairo_restore(Clay__Cairo); free(text); - free(font_family); return (Clay_Dimensions){0, 0}; } @@ -133,7 +126,6 @@ static inline Clay_Dimensions Clay_Cairo_MeasureText(Clay_String *str, Clay_Text 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}; } @@ -149,7 +141,6 @@ static inline Clay_Dimensions Clay_Cairo_MeasureText(Clay_String *str, Clay_Text // Free temporary strings free(text); - free(font_family); // Return dimensions return (Clay_Dimensions){ @@ -191,18 +182,17 @@ 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); 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 + config->cornerRadius.topLeft, @@ -229,14 +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. - char *text = Clay_Cairo__NullTerminate(&command->text); - char *font_family = Clay_Cairo__NullTerminate(&command->config.textElementConfig->fontFamily); + 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 = 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); @@ -245,11 +237,10 @@ 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 = config->cornerRadius.topLeft / 2.0; @@ -258,9 +249,9 @@ void Clay_Cairo_Render(Clay_RenderCommandArray commands) { 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); @@ -277,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); @@ -296,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); @@ -315,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); @@ -335,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); @@ -369,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 0c3ac59..0dbc163 100644 --- a/renderers/raylib/clay_renderer_raylib.c +++ b/renderers/raylib/clay_renderer_raylib.c @@ -8,13 +8,6 @@ #define CLAY_RECTANGLE_TO_RAYLIB_RECTANGLE(rectangle) (Rectangle) { .x = rectangle.x, .y = rectangle.y, .width = rectangle.width, .height = rectangle.height } #define CLAY_COLOR_TO_RAYLIB_COLOR(color) (Color) { .r = (unsigned char)roundf(color.r), .g = (unsigned char)roundf(color.g), .b = (unsigned char)roundf(color.b), .a = (unsigned char)roundf(color.a) } -typedef struct -{ - uint32_t fontId; - Font font; -} Raylib_Font; - -Raylib_Font Raylib_fonts[10]; Camera Raylib_camera; typedef enum @@ -88,7 +81,7 @@ Ray GetScreenToWorldPointWithZDistance(Vector2 position, Camera camera, int scre } -static inline Clay_Dimensions Raylib_MeasureText(Clay_StringSlice text, Clay_TextElementConfig *config, uintptr_t userData) { +static inline Clay_Dimensions Raylib_MeasureText(Clay_StringSlice text, Clay_TextElementConfig *config, void *userData) { // Measure string size for Font Clay_Dimensions textSize = { 0 }; @@ -96,7 +89,8 @@ static inline Clay_Dimensions Raylib_MeasureText(Clay_StringSlice text, Clay_Tex float lineTextWidth = 0; float textHeight = config->fontSize; - Font fontToUse = Raylib_fonts[config->fontId].font; + Font* fonts = (Font*)userData; + Font fontToUse = fonts[config->fontId]; // Font failed to load, likely the fonts are in the wrong place relative to the execution dir if (!fontToUse.glyphs) return textSize; @@ -128,7 +122,7 @@ void Clay_Raylib_Initialize(int width, int height, const char *title, unsigned i // EnableEventWaiting(); } -void Clay_Raylib_Render(Clay_RenderCommandArray renderCommands) +void Clay_Raylib_Render(Clay_RenderCommandArray renderCommands, Font* fonts) { for (int j = 0; j < renderCommands.length; j++) { @@ -138,23 +132,27 @@ 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->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 = fonts[textData->fontId]; + 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; + Clay_Color tintColor = renderCommand->renderData.image.backgroundColor; + if (tintColor.r == 0 && tintColor.g == 0 || tintColor.b == 0 || tintColor.a == 0) { + tintColor = (Clay_Color) { 255, 255, 255, 255 }; + } 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(tintColor)); break; } case CLAY_RENDER_COMMAND_TYPE_SCISSOR_START: { @@ -166,49 +164,50 @@ void Clay_Raylib_Render(Clay_RenderCommandArray renderCommands) break; } case CLAY_RENDER_COMMAND_TYPE_RECTANGLE: { - Clay_RectangleElementConfig *config = renderCommand->config.rectangleElementConfig; + 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->color)); + 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_BorderRenderData *config = &renderCommand->renderData.border; // Left border - if (config->left.width > 0) { - DrawRectangle((int)roundf(boundingBox.x), (int)roundf(boundingBox.y + config->cornerRadius.topLeft), (int)config->left.width, (int)roundf(boundingBox.height - config->cornerRadius.topLeft - config->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 + config->cornerRadius.topRight), (int)config->right.width, (int)roundf(boundingBox.height - config->cornerRadius.topRight - config->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 + config->cornerRadius.topLeft), (int)roundf(boundingBox.y), (int)roundf(boundingBox.width - config->cornerRadius.topLeft - config->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 + config->cornerRadius.bottomLeft), (int)roundf(boundingBox.y + boundingBox.height - config->bottom.width), (int)roundf(boundingBox.width - config->cornerRadius.bottomLeft - config->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 (config->cornerRadius.topLeft > 0) { - DrawRing((Vector2) { roundf(boundingBox.x + config->cornerRadius.topLeft), roundf(boundingBox.y + config->cornerRadius.topLeft) }, roundf(config->cornerRadius.topLeft - config->top.width), config->cornerRadius.topLeft, 180, 270, 10, CLAY_COLOR_TO_RAYLIB_COLOR(config->top.color)); + 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 (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->top.width), config->cornerRadius.topRight, 270, 360, 10, CLAY_COLOR_TO_RAYLIB_COLOR(config->top.color)); + 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 (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->top.width), config->cornerRadius.bottomLeft, 90, 180, 10, CLAY_COLOR_TO_RAYLIB_COLOR(config->bottom.color)); + 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 (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->bottom.width), config->cornerRadius.bottomRight, 0.1, 90, 10, CLAY_COLOR_TO_RAYLIB_COLOR(config->bottom.color)); + 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 95fcd85a2aa6e067c952d705524e24d0d66ed92e Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Thu, 6 Feb 2025 09:54:07 +1300 Subject: [PATCH 02/11] [Core] Fixed a bug where Clay_Hovered didn't work with explicit IDs --- clay.h | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/clay.h b/clay.h index 8a6bc96..94bdd21 100644 --- a/clay.h +++ b/clay.h @@ -801,6 +801,7 @@ typedef struct { // todo get this struct into a single cache line intptr_t hoverFunctionUserData; int32_t nextIndex; uint32_t generation; + uint32_t idAlias; Clay__DebugElementData *debugData; } Clay_LayoutElementHashMapItem; @@ -1210,12 +1211,12 @@ bool Clay__PointIsInsideRect(Clay_Vector2 point, Clay_BoundingBox rect) { return point.x >= rect.x && point.x <= rect.x + rect.width && point.y >= rect.y && point.y <= rect.y + rect.height; } -Clay_LayoutElementHashMapItem* Clay__AddHashMapItem(Clay_ElementId elementId, Clay_LayoutElement* layoutElement) { +Clay_LayoutElementHashMapItem* Clay__AddHashMapItem(Clay_ElementId elementId, Clay_LayoutElement* layoutElement, uint32_t idAlias) { Clay_Context* context = Clay_GetCurrentContext(); if (context->layoutElementsHashMapInternal.length == context->layoutElementsHashMapInternal.capacity - 1) { return NULL; } - Clay_LayoutElementHashMapItem item = { .elementId = elementId, .layoutElement = layoutElement, .nextIndex = -1, .generation = context->generation + 1 }; + Clay_LayoutElementHashMapItem item = { .elementId = elementId, .layoutElement = layoutElement, .nextIndex = -1, .generation = context->generation + 1, .idAlias = idAlias }; uint32_t hashBucket = elementId.id % context->layoutElementsHashMap.capacity; int32_t hashItemPrevious = -1; int32_t hashItemIndex = context->layoutElementsHashMap.internalArray[hashBucket]; @@ -1271,7 +1272,7 @@ void Clay__GenerateIdForAnonymousElement(Clay_LayoutElement *openLayoutElement) Clay_LayoutElement *parentElement = Clay_LayoutElementArray_Get(&context->layoutElements, Clay__int32_tArray_GetValue(&context->openLayoutElementStack, context->openLayoutElementStack.length - 2)); Clay_ElementId elementId = Clay__HashNumber(parentElement->childrenOrTextContent.children.length, parentElement->id); openLayoutElement->id = elementId.id; - Clay__AddHashMapItem(elementId, openLayoutElement); + Clay__AddHashMapItem(elementId, openLayoutElement, 0); Clay__StringArray_Add(&context->layoutElementIdStrings, elementId.stringId); } @@ -1483,7 +1484,7 @@ void Clay__OpenTextElement(Clay_String text, Clay_TextElementConfig *textConfig) Clay__MeasureTextCacheItem *textMeasured = Clay__MeasureTextCached(&text, textConfig); Clay_ElementId elementId = Clay__HashNumber(parentElement->childrenOrTextContent.children.length, parentElement->id); textElement->id = elementId.id; - Clay__AddHashMapItem(elementId, textElement); + Clay__AddHashMapItem(elementId, textElement, 0); Clay__StringArray_Add(&context->layoutElementIdStrings, elementId.stringId); Clay_Dimensions textDimensions = { .width = textMeasured->unwrappedDimensions.width, .height = textConfig->lineHeight > 0 ? (float)textConfig->lineHeight : textMeasured->unwrappedDimensions.height }; textElement->dimensions = textDimensions; @@ -2184,6 +2185,12 @@ void Clay__CalculateFinalLayout(void) { Clay_LayoutElementHashMapItem *hashMapItem = Clay__GetHashMapItem(currentElement->id); if (hashMapItem) { hashMapItem->boundingBox = currentElementBoundingBox; + if (hashMapItem->idAlias) { + Clay_LayoutElementHashMapItem *hashMapItemAlias = Clay__GetHashMapItem(hashMapItem->idAlias); + if (hashMapItemAlias) { + hashMapItemAlias->boundingBox = currentElementBoundingBox; + } + } } int32_t sortedConfigIndexes[20]; @@ -2512,8 +2519,9 @@ Clay_ElementId Clay__AttachId(Clay_ElementId elementId) { return Clay_ElementId_DEFAULT; } Clay_LayoutElement *openLayoutElement = Clay__GetOpenLayoutElement(); + uint32_t idAlias = openLayoutElement->id; openLayoutElement->id = elementId.id; - Clay__AddHashMapItem(elementId, openLayoutElement); + Clay__AddHashMapItem(elementId, openLayoutElement, idAlias); Clay__StringArray_Add(&context->layoutElementIdStrings, elementId.stringId); return elementId; } @@ -3254,6 +3262,10 @@ void Clay_SetPointerState(Clay_Vector2 position, bool isPointerDown) { } Clay__ElementIdArray_Add(&context->pointerOverIds, mapItem->elementId); found = true; + + if (mapItem->idAlias != 0) { + Clay__ElementIdArray_Add(&context->pointerOverIds, CLAY__INIT(Clay_ElementId) { .id = mapItem->idAlias }); + } } if (Clay__ElementHasConfig(currentElement, CLAY__ELEMENT_CONFIG_TYPE_TEXT)) { dfsBuffer.length--; From b9c5f8e47fb3331d69efdd94e81f8eba045bc0a7 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Thu, 6 Feb 2025 10:06:10 +1300 Subject: [PATCH 03/11] [Core] Fixed a bug where userdata wasn't getting correctly passed through for image render commands --- clay.h | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/clay.h b/clay.h index 94bdd21..cc7b98e 100644 --- a/clay.h +++ b/clay.h @@ -2226,6 +2226,7 @@ void Clay__CalculateFinalLayout(void) { Clay_ElementConfig *elementConfig = Clay__ElementConfigArraySlice_Get(¤tElement->elementConfigs, sortedConfigIndexes[elementConfigIndex]); Clay_RenderCommand renderCommand = { .boundingBox = currentElementBoundingBox, + .userData = sharedConfig->userData, .id = currentElement->id, }; @@ -2406,6 +2407,7 @@ void Clay__CalculateFinalLayout(void) { .cornerRadius = sharedConfig->cornerRadius, .width = borderConfig->width }}, + .userData = sharedConfig->userData, .id = Clay__HashNumber(currentElement->id, currentElement->childrenOrTextContent.children.length).id, .commandType = CLAY_RENDER_COMMAND_TYPE_BORDER, }; @@ -2422,6 +2424,7 @@ void Clay__CalculateFinalLayout(void) { .renderData = { .rectangle = { .backgroundColor = borderConfig->color, } }, + .userData = sharedConfig->userData, .id = Clay__HashNumber(currentElement->id, currentElement->childrenOrTextContent.children.length + 1 + i).id, .commandType = CLAY_RENDER_COMMAND_TYPE_RECTANGLE, }); @@ -2433,12 +2436,13 @@ 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->width.betweenChildren }, - .renderData = { .rectangle = { - .backgroundColor = borderConfig->color, - } }, - .id = Clay__HashNumber(currentElement->id, currentElement->childrenOrTextContent.children.length + 1 + i).id, - .commandType = CLAY_RENDER_COMMAND_TYPE_RECTANGLE, + .boundingBox = { currentElementBoundingBox.x + scrollOffset.x, currentElementBoundingBox.y + borderOffset.y + scrollOffset.y, currentElement->dimensions.width, (float)borderConfig->width.betweenChildren }, + .renderData = { .rectangle = { + .backgroundColor = borderConfig->color, + } }, + .userData = sharedConfig->userData, + .id = Clay__HashNumber(currentElement->id, currentElement->childrenOrTextContent.children.length + 1 + i).id, + .commandType = CLAY_RENDER_COMMAND_TYPE_RECTANGLE, }); } borderOffset.y += (childElement->dimensions.height + (float)layoutConfig->childGap); @@ -2451,7 +2455,7 @@ void Clay__CalculateFinalLayout(void) { if (closeScrollElement) { Clay__AddRenderCommand(CLAY__INIT(Clay_RenderCommand) { .id = Clay__HashNumber(currentElement->id, rootElement->childrenOrTextContent.children.length + 11).id, - .commandType = CLAY_RENDER_COMMAND_TYPE_SCISSOR_END, + .commandType = CLAY_RENDER_COMMAND_TYPE_SCISSOR_END, }); } From 0468243ac7b307235bdf86604f294d613ab7b965 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Thu, 6 Feb 2025 19:02:54 +1300 Subject: [PATCH 04/11] [Bindings/Odin] Update odin bindings for rendercommand changes --- bindings/odin/clay-odin/clay.odin | 4 +++- bindings/odin/clay-odin/linux/clay.a | Bin 167596 -> 167988 bytes bindings/odin/clay-odin/macos-arm64/clay.a | Bin 252160 -> 252720 bytes bindings/odin/clay-odin/macos/clay.a | Bin 139744 -> 140088 bytes bindings/odin/clay-odin/wasm/clay.o | Bin 253760 -> 254531 bytes bindings/odin/clay-odin/windows/clay.lib | Bin 168437 -> 168803 bytes .../clay_renderer_raylib.odin | 6 +++++- 7 files changed, 8 insertions(+), 2 deletions(-) diff --git a/bindings/odin/clay-odin/clay.odin b/bindings/odin/clay-odin/clay.odin index 08a3543..35ba9f0 100644 --- a/bindings/odin/clay-odin/clay.odin +++ b/bindings/odin/clay-odin/clay.odin @@ -229,8 +229,9 @@ RenderCommandData :: struct #raw_union { RenderCommand :: struct { boundingBox: BoundingBox, renderData: RenderCommandData, - zIndex: i32, + userData: rawptr, id: u32, + zIndex: i16, commandType: RenderCommandType, } @@ -326,6 +327,7 @@ ElementDeclaration :: struct { custom: CustomElementConfig, scroll: ScrollElementConfig, border: BorderElementConfig, + userData: rawptr } ErrorType :: enum { diff --git a/bindings/odin/clay-odin/linux/clay.a b/bindings/odin/clay-odin/linux/clay.a index 5c7230166b3ceb0768b457d743ce170707422e46..5fec4c6825c6ea7da347990de30a38e4d57d2f87 100644 GIT binary patch delta 21744 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 delta 21136 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

bMGbnE+4GyVi+q5W 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 z ztm3p{JeT1Z>R8%IJV{_;nYsLXj5AfT|1H@ibd%)Dj%0hxFKEf1jp)R; zdes!iTxx&D66eSyEG|6t3BlYhlsXQjhPY^Sk_ynr<045-@HFKqR>?&x5iUG^TCmD4 zYFtDH{~%a|j>xPJZFDC4aTCov$j%D(geuJcu9}UJAqCTiSEtQYNp z4GUFd$2zRBi$;_`PvV4)3hRx$aXRljxmu_7JR?}VN&`dZA5nfCr8H%nuVu-srFI?G zUJF~`2up&n=33Z7Elg&uhx3xP(9&eqN*m&CccigK@5>=5lMf##*i=NEbgIaTK%(XZS7N?wNvfniiA{&oa!XaqHL+z@fnCBra;eV?BrcYbXepjL2#c{x zPo|%_%tj~q0wq?MP1ie(-}w}t0o9F9lW7Uts>DINbo(NPm%4;lLE5i4J9E)QjhQt! z?IO;fTr_$yqm=O91pCsZCXB=-GB=picuKJ2E?8Vt_W5sNImtA^yM;_I+4swr^$l&b%tnLmCFD=36O~b>c;Vrf#G- zk-&T($%7y~b+BNEL)5ed`;WsUrekPg8p=mP%%B>Ax*ZQOgM1LCwC_SlLzeiloQ2x( z)Tae&7lhe>9$#)3WO5B^$XSw71oD#SVl4|YUR$Xj${qrp!s(qflrMJjw*vHsxsJ7C8ZH(PdgFP zYY6nB^Pj{|WY7j zoJM_0WOc{OJ(E;cL^?~!(p1F1R*s^U6j>d&qWx{%Xa%yfYF>;7e10Nb^$_%z)pn3% zlT|)6_c}RCGp)2O$==jCKUE_gyh~|9cuQ9iDB#;nwG(K zI+nheR#~#5Ahm8_1C4Ej?y#1-ZV7qms;y>vZG40vx?GcN_IeNgE==1 zE&G+D_sX;w$qok1rdC5ANJBe+t%SlD+hv08FLOxj?^^5*S*m$+N$MYt)R`ppPe*Dx zN&QPpMg2=BLF^^feIRzHoT9b;V-j8*;p!6`{vtUAVzJ4Z2A`%YSiL9Z--Y)hNw3VS z9R0tt=G={!DOF-AhgK26YSP*x2kFF%9C~6f{e3aGCO*r(Q4WGV=8BHN zG(%!n6w{S;3Z}>65svJ_?sb?VYD;#XR`yFd6S9#p9Pc37eH;#Vykt7!KOnnnj^H|y z^$n)2F#Zz1QYPZ5se%m%#?mz|sIEka4)-x;X?jmlYQRyex&cppPO#^KX|kgY**t{L zsAW!h1%@kLnRN@SR3!B!Z{{ghy}+@t^PPs0mjF9p-m4c5JB zxPzIhIuoQ6r9H`BRuNpiQXZ7-6(=?$4ew58Y8?*C7~O@_>BeJLuzKYS zUFV3pMTDU96ES^!qL^*}xB4CvJM@Y7OSVQSiINXbgqtE*y<*7xN7d~%a;~SG8+9?q ztgj4KLFynGI zWGD5w{N9;SXOOt>wYXEVB`uQBE}i6^Qu3&)`A^FdeWCO}(CJsr{)1ev6N~?YTeRPT z$=!#%h5zwz_PdH9=NUOlSNQ69tO_@D&L7no4_RS6OvT-1RVW!BZsSF1x1JBOipTpT zlWw{}1MA`Ow@7BWX^Z49Q8#F4mHp#)vS7DaF$%}yB|^8G_I2Q2Io>Z>h@0-{5X&E* zC|Q`2#r$XG9BsC|@eL(wqh+2`RkXpIJHC-*?cFr1`G1l{x{fo(qvH3t)%o$g_FNo;4PJ`U%m0g9 z9}fFNgW@r_N;cThy>LuZ$wsJBaBb!oyutX2(wTI%n@cv!{gYbjv;G`?yJU;pG{SMM zWHh#@i`{CAdO_dPz>H&dvmwf2G@Qn~z@AYCV}9(5U=*rw`OD1WoK-Li zubdunle-VrTREzTed|`!78c`CZ7~Afw0uBx{-|~sflh4UD0~9yxD(48)n2miRLp-_ zF4aA8&Zv7NJKH4q8aXNM8s1A}9yVdvEAei~D%3QQ97N*j$v#fpyb#?zWIYV)0 zo({W1vPL0l1-m8}Dorx~2!nZjA*$bAm!ouINf?IrEo!?@Qg1jC4u;tfahDcx!x2$T zB3ft>>6Q_3m_*#}h=7pE)_FWljCFNS*u9c<4bh!2voH*usauE|OfOn{b@{7F;saV@ zhBZeg=7*s(**!w^X!1|7l2uD)=7!xTS-%h(_>i6+hN00vgod^MC9A$>DGfzWe zI#^0VJ4-e&gdDtx%?w2=KN&);?4N33k3flYLb_l`sd^$dE2OJr&xg=NWBXsW^qiVG zGXzSG)JjgX;Ce_!*@ zuyEr|iTRcb`=1X~21IkMmXdv{v?3j?R+1H}n==1vR-rc8LhDX^&sSB0`Cqrz>(o3- z{aB|W1%Hh)E%*=NAs7KyPRP)~%6kbv^Ist}h?sAtH3!=jo;ngvg3!>JxQNtp`^mZcHS|npb5Eg3g0h6#F2oE*)Nkbl%tdbIdK`_higDqbu-ADSftP*^P2#GW4 z=Aeoa>wm*qtrMrw%|T=+mI17P*;Y?{dJ3%D#yuigZN-XM!8lB!aiL~ySUC=z;H>hSr`A7rCc>wu?AvVcqEjj z1smf!Z{SY$Xee0;k(mSMu*X6VqV@6T&#}fq9L8T!jgxF}sNT+G7S?!FvZq67CSd+t zYY+%p>^$|KiK-}-_ialrC7DGbeX+p_9YfmAw)BLTxth4AhN_qJ{qI;qkOjr$hg@VY zhtjKm{yA1lEjKSD84G}_I>}{;?^@ldaZ|?%mKzFBN^%e=ZKBa`J^SHSP-%vCOX`n1 zL1hq@IM+hEArtEJ5oJob2>Kn`pB&o*DkDN&0|qFtce0NiYvkE;*eY#}#P_TjO2T;T zfRuz>P%;#XB?rz%ZIHw~>klOI)c;^Jqxjwh_3Ca#eESUFJZqYMNoImz$3hciW(2$y z$CR0HJQ>r8BSPP_p);Sk2-8;xv1`V6gxPV`8Cl|dEB-brYNBALL#e{J_Ji)IbbI-@ z#P_zy?C4Hc)6l(tRh<*D(zF4R{f3xce=nxNY`<%>VKPrk!M&3cE1dKM?wuSlOD7G) zy;G=}_CK8TByOElKZMX(lLle`5=J8kv1yYqHbTN^aQPQl6VW_KoIy9PCAvElSBw>F|xZ{6U20`*#%bZpe)x`C(F!iMmRb+wHPp?sh-ls6f zh3oA?=F-r?`1+-ChWXc7dOMn#A4*Q58ank;YlJpldg#-V#nR28`b+%Gnt=dMorD)Q zJQ%Fw%0THOp9qhbi?A6ObOf+ho$F$h&i=%Kb`jn-QWN!su$wJwme4;q)OZMBLBA5vD&S z&}bvR`Af3lIDa*qz61r)^c{y+RZghO9zmGC*>H;(Pmjt>54Y6^qY^jKSU?>o3zi*@ zT;pDl2+-##=+1R6!aA3_bDgD&ODr^*Uc@}8GL6LC7f#=*(3x^8W_sIX+N^a<%@8av z93M%@bRR%~HdZWgi!}$7r%u6IjcZvwFN4x90UGrfB@t1Z96ir`pafz}ue336^}#~F(_)asQ(qG77o{)S zw{s9I|BGoKJ1ga0ju;sLwd~o1BJ`;-Gn-y;YFS{9#f+(9{vxY0gro86qqu9jIR7pu zF&>G`L$e^h`>`9JU8OED74B{i3ZUl^DydG&68B)tqyO>Lm+@dGU3_|+M1X9J$dK_A zG1gD{4@K0htG6SOrlV)|odExk$^(siPL!;gDjJc_lO&7rC|CMkYZxXgq;-UD)fI#P zbBn%It?qy9mn5s9IAP_(X&5c>YP4Y3AL7#_yIaZk@3ZKv1BvJPRLT5W9XeikS+d3| z#{6HZNNVGuQBR zY-n`ZUz&~uFVv)C|7EYJ0=&)ah`=I1CYB_(U<#14;|%3e7ppcf|Tb zNt=NOK}=(3MnK{Y&UKR1#7HW!dMinDaCE99;Q*+)!$^W!7{;^eZj-0Jiv_L{EmyeKR$cR-qX|nr zBt;#ilgf>cE{#URz985iA^6JOuOZRT3)P{23t{H}7yKR)!J=k^X^ddOp_ZFjq0yuC z+Z(P>7Cl-AgF-D9RS2#(&%+;x59^Qu=fUxVJgn+rVvC__!8*!^3-?*#E-MGWv`K*ta|E z+etX>Gm(TZWYJeCyfub^yFPxF(}x+ry~E+&LEP#NjXo&nrSB|wI}`Uq_*o(F$pCQg z6updDb`rbV9?}Qpy!7b+?-*iF$InW7dmijXj_@Mlru`w3z)f$%dlwS-a{PRhGx-XA z{f(Yi!yDeXPH%L3576~v`1zP#PKLDIjx_l9U4d`UdFdTxFM9^uq4-%vujzt&kHd{e znp}Y|%X#UwTW=HMZi%1O^a3fk@%E{y*j{1}d@7FKB=ztFP*2)y(zm3J?R z_y#{~>D3{KxZsGu4!*)y2)*=nkoPiiThG#m8u2m=xP>&85%`o@;4_L|df~;J0LG}> z@UxCy?*MmI#f^y-A+W1kCG{OPdWXZ?huBl_^C`WW0QMS=@EXKj{&h4jy_MjdLfo(8 z=QDZ;AKVEJH`d3BU#+9(?7bfo_j>%S$HvZlht6n@Jw?TD&(X8v-eO`uho24fq%?%L zafHL`Sn>0Abok<}gxz^m41PA!bG_j1R$Y8qUTw`-os(X zX-nWEeXI&CuvMNV?os%;ghzO|Rm6Vhu0FJ?G2F{X{~_)`i2aHG3ZnlJ%U}41Df<7G zT;j>D57on*rF=;ApX$pP_z!90T=yaV1E$&dSq>xsZs0U<0N4eb1#STN=WZ+#s0n-v zAwJOFKnl`3)o-a=SScMP#4>qHo#-R zI3Neu0vrPV1R|rM1ke_E02m5P0A>RlfkQwg+~M2-JORuCJ_3FKig3-sD!Kx68u1~F z&)C}RJ_McsCIPj9cYw9PLZA@X3mgZ^0Q?I-RvTyxbOQzglYo)Hbl^Q;9YE{dNuUJS z30wfK1JRgA8vt#9-oVo}(EgJUcpF#^>;g^$4D&)Izz4Jg9s-5~^!dYG9(g8=!Aijs&u7{Lt4W_W);rAlzg7f!07*U?4CK zcnz2Xd<5(Oeg>`qo;ZvW;8q|BXa>{v1APvd3Sf z3rq(-2KLoM`(H*Nwm!@U3MhWHN;z&PL?U@Pz|5ZMUr4fF-Z0keQlfMY-@5N|g|Zv+Ma6M?zF z4&W5vX@W@!=m`u5vVjf2F(Bwx^kkq5Fa($ZtO33Tt^zSl8EXYR42%KZ1=ax=zy+XkYw!W>fIh%*;8ozMBs43q0^yfIX97ckuMqzgsL_V8+kw6| zekK9gKpwCb*bQ6+!rQ{{3fu?u1BL+^zHz`Z~>;6Y$8@EkA-m;uZKJ_8N| zmw{UMU|9y92BrfmfE~a&Ah-iO8bC*2L0@?xh0QUor0E2r2VMha0}FxWz$#!9@D*?Z_!XeL@XA0fpb2mv zkOGVVY+yRkZ2T+)mI51r9l##obKnc$An-l#J8%tfb-|_1&SZkXYK z20&xrE}%0o02l^L0^R`T10MtHfiHklz%Kwj1r`a^?~e9wiNL);58!d&SzsLSIxrVl z1bhM%0f&GefUAIYKUOv%0cZi-4cr4f1PlO%0Hc5mAP4ve*aYkZ4gkl2UpwOG8W8*d z{u=<$9Jn8N3>Xf)1iS&f2Yd`{2lfNs0LOrzfZx}?>=7S?=Dbi{R9V|MMhtKVKQpNP zuxFkax%QKIksOrMI7Y;*g(I?i(}*EYj2v?R6C=8edMZ_OB=;4OF1ue<7?rtMF78t3 zuh7u_h87!|`~X+i`x$!C&=e8R(OB+P&ConU_Zu2IB6*Fr4^Bex(uyiXiYL#G>R=a|48Lq9b16GJ~Uw9wF9h8{Gu z)X>mAx&kc>ZENVghW0SDx1o<}YO|+I!Z1Te8alzy7Y$ux=qHA5GIXb*2Mj%7DDSHk zs%vONL%SP#UX3d3$c~xe^|ZP0r=gFU;WxqzyCH@)HMHfGwR4{kQ-f{wI2U?x#2D3? z*)T&78aidHPR}*8(KsC+VdzXlTaMT1$%c+IbngV6e%{dVi8?;)MMZ5kQwP{mLl0(X zhVYj(ji06|o33fHq1y~Ccul958XEJuju&KVI%B4$@o#F{=q*hnbBSUI4^si$#~7Mx zXv%EOIMLAbcXV7GARyRsj*h1oT41R4u1=45Pt!(*PRY~pg@%^SN1UdRm<9SmqlKFG zHnh~x$oF-6Q$v>;y7B{^zSq#zi*!79v8HpDXu8eNAs^~^_obS4T&Bxs=?KtYo}n=- zbiDW@P1(nq?ltthp)*(M^qQ+RJ#DDvTejq1z1I zzh0+bH8f^}j<+=Q{6-Vsq-n09H4AmTg`vF-P2Q~2XBt|%ne30h$Ss=2Z`Cx(&|}+l ze8hH5XBnDYq~pU3ondI{E}b5;Thl-GXj*@-rX3A+f3D*#Z4>CdPbVxjbg!XozfO-g z6b~n;zXU^*4UPFqr=R{>)76JH?R-SjVTKkR)$zl}HMK9E)`5s0GB@7OCjF%8 zFhge;T3~3;U-b1k7d0*XUDNKDG)*egw8+qYmvwxKrZ$VXsuNlonq+a6a2Rh6(_g8f z-9vOdIaJe&;hI{JnifWBdfLz#(K9vTW{UhRZLaw1#>*{#?Et($l zYg%e(3Ep|5zfm}1q`#QPnid**-q1!(bowwua}5o@Rj0QgO8sw&Nf_14Txf1Gw$OC7 zp)GFL@t%fWHMIU6I{l!bd)w&vw6>Z?CTZHp(3JK%-VaaIss0~%pH3KJXz$KCKF!cV zLu+=?>8lOhZ|IP&hTqV9Lq~Me=_Q8N?5^XT4V}`R!{>v)0+Uc|Xwvdo1nd@h|kwM~+C z@68L*xBYY+K)3$nfg`svd1c5KnT5RMfhB)ra~G^eexXe+?G+=(26@$Ji0+Tq-c<6K z-D+v)*o`3VXCU_vdDh4)HxPWqP?Vgd=Pc90gPf#;tl792d}>{7iJNK>j3h0h5=V{E6iLA>SeSp2#6~8x$hPHaWP+ z{X@P?*G+J}vUjlB0zD&U9b`=Lc(NBNLuZQeHH2NRr#0e1+ufByamy zD1f{tF{mXuy2!UgCo|-AB{w0t{pu#cLQt9k(g7KHVQt4JOdfJN9V5^B4AhjI)#styrznih8^}pYo^^7HlUJS`m~_xZ#{uKf z9OR{?gD!Ia(h(84067%OKz{PP(g7HqTao{g9Hw-X2(PcLoSNhUChsbFRUbl+uN_0K zS?w67^MX34Ir*OP@QCss()l5|aOr%3&a3DQlg=3ED2QDDbUr~2b#kPVXPBNOj*XS6KJg46??S-e~0rEHRMjrCI zleeBcv~NQBQSC85AWTO-bap|9UF6xN0}%4ik_SH;R-q%LX?A^mP)S~PIx`@zDIMp~ zX$raS$<2Eb?MCMcbV^HS4de)qg#dEv(_tpLi0M3nT>o^qLC1YBK@oC#lk1pH?&yGw zyz_KaK<;L81wRNy?e3^8x#TB>=+hPQ!d6Bvro#+;8bx_y>5zk5`E(-F4h7RAQO(e{ zbV5hRxIZEsgggZ(l+GpSFf|z!Ag?@~L6K9Oyzq2L7LUB-u0)K?f3a zTJ|C|qw^;6CDU0Uok`Gv1swrhLIJ~Zjm{?N$hWFbpWM-@44ur;Aqja`?*I=S2e$}@ zrJx8NG*pKrbWF4y%F@9Z{ROeL4^0*|g6&5hLrg4$j!a}h0F%?vKbc7BPQPtoBPKjg z;n#A(Cg4PYOk9JFm{gD1iUbtRL@+uZQ=hM6A_Hb-;*0y}_eWHMsSi~#NpC|iQ5Dr; z)^=Ep$piKfA{T?`mmW`HVk{M4%|so*dJp|}BAwOCeoWHCBTQscinR)LW8z^dOva;e zkPd4x@#vHEOX~oWWAVcT)tt##*oldO#A6*$mHG5G8xdYr=|T?)F%b{rGqDUEjEO7g z+Yp3yWcmw4>dS}BDhQ<%dP16sbr_sXKA^-s+L6Nacn6d8WCc^7MPq_I)=W&fpHlj( zT+LO*zG#MCz{KrIxL`d?wUO17Dm#NI^ztDEfqIj^A!USgQYG zEa|Z`Ch5r{$S1qnVwTdk+aq+L8P!`{t4qIrGOU=5!N!_ z6cYs)-HiW*A10b(fHCncsV;VOq2K!ksT68Zss636wF|QZ6YWScUe!=Sm#MnaW0LIu zDmx$ex~Kd9-}^cF+}^ZlrES_Km1^3il~zJb5SBxbS$2C7TSjJKVPQcK75#>FyA?r3 z5Oh0Hu@)IYN)eK#DbW^DMNAL`F+mZUMn+Ked%ZsAeW$JOJbvFi+WS23_j#Z9d7ro1724PZI%+OcgOHJ66) z8uP5@^wZx_Q{x5kX)M#+7k%CrJ^GyPvzhkJOLp!|XPTde!Jv4(dx*Czv*IFD&BnHh z=`))~S8xJ4=W#fk>I3=8+Xc=0&{>{#zh6@AYBUIWheEMH`0&f*ll z2H6;A@;Q7x;G zpR?X;!4=qUeTtvH^EsQm2HZfs;@`&joJ9;GreFfo)tq7eyBxeK{+Wr7UnB?pT^J6` z|BH{Mu+iHGC$LMsuN=hu^p?}KROXg@!SNo*XTJwd?cxlGxsgttJ2~^c?>+M=euUQ- z^B~)&_}2_BkLC8o{E{^)ewGUx3Oh@AXGyCFKWT;<8J6>UE?#5CdBMHp&6U32Q?uF| zllQpkIS%ECQ)r&Lib-~A8D=zaURrA@f@q6!BogH2$@)H%}!nE-|M5er>&7FJms4w9dI>)dV)t|ig zuFg_+wKCq!;D-va(FJJq$#H!BH77vKo!)@{)YGq{#?ND(Q4M>`Ig{;kuJ>HGatb-+ z-Xi#hizdeLx_t+SBj$}+%-!kbUWgzt{~EYzly}g&;-?gS>TA6CoH}pj@wb>h=NixH zi{3or2Vi|MZR`*4>&dZS)3sWO7qpC&;Dz#+Qs(mJ(C7EQK0@&mtv=_O1$d3A_GZin z-bQzrw-52dt3Jg~_oCb9@%3qMgSe7)IqSR`6M2)%IHt_&*g~eAvvTq3$HzdC{@m-E z8$8#imQeGcw}1b57kGV;Ud;4i zUY}(}yw-331yyUg7VNh`I^0dK!~$eSfO=Tozv7w!w*#(0$1XWpl} z)nqU9rQSsLK5!UwWsvr7rr_0nx1jwhO6UEo2vui{XZH187qxn0#xKzFIal-Q>fFRO zDeokC)ywLg*rTao7x?`AkRg_+=b_FU-5p%U$~#rwiLjMU(;RB}v1ZJe8Pp7WyT#_i zx&Jy(d9hD$nehfqV>-Rr&M&9*Ih(zn;3sae7TEcUAA9yW37iLtpYgL%pJ48I0G6-QB>E`7*Sy;VUD6t7 zwv+N#GxHW_zu4&G{B7orwN9eH!Cbz^+0Th-G%LZ_=%er+>pc1de9)YECt_@|F^<_7 z`8b?EtIeDToEiQ>bHoFPveo^X|=X6@93f>vdpI9wp|Q zJMKa|L`pYjuKZqVG;`P?hnOSRq8W#p(=0A0er8q@KQ|pfP@e8(nPVDIT%>IC?uzfF zQ8VXmNb{Us_84vLy;=itR z>)6wOtn-~euKkT2t+%~@rzv^FNidH*;$-_*nW0CVnagdj6(qUezGS` z?mB1I{*QanY(zAVGn$QFG|^Cznd|qI=A{m2zxch4&5@76AG8Q;qvtPmgXeD({B5AW zO?&u5X0BgtGIu@Z%#GjM(!4@v&?2}^o-@;oE;-T*rZS*9FAr9#&29(@C)JNs$An-G zx=!+gImoD{fm1Za=9ty3&a7<7ABkqOeA(XRTLOFJ7a`vZA!hyMPPRGlF=zTQ2w^=# zcnTpvix807JB0NJ0cxjELWuU{f81nNq9(DTo65c2Fp}N!i_GsHbLK^|{pxA-X$SlC z>F@g#F?BE|sE}~dJ*&NA>Of2|aEkYe2?hSE+Yz|)O3`hVe=cj^%`b!8&7cJJ+7X-C z=FBwDKJKI%FE#E7XU4d7-u!sR8ob%&ES!fpyZ7){8Nl$hqsH!NoTjJE+25Sl?o13+ zdDiC4c4uY`YU;KF(}sy=R<}FT&2t@2YRvay?0RPg#jw%qoDszBA81?xdLQ9nL%x|AaHiq^x)LXE#5OZhnN_{QMr>{0O@lD&%qKk=m_0 zyzn1E_)z~~=uzOmx*dT#uN2)@qMP^h%WmGypa}KaUVLr6vv4-Tc;Sa(JPe0WJB4O; zr;{DP{DNdo??mUJ{0pZ3ac6e?9o{N^2Ti?$O?}5a@wju~54GPu?#v0o7R&n`*BrFb zNsg@aTJr%)u4Ks%_UNRQ>?Ej=$GHfry*p_oqJzN?=HidJ9f3Qq6nGFO<6eH*N#7ed zm?5ZOLI*e1*bdW!oiuWj7xZ=neG`M;zDLkEF=(ie$B{*9@1So&^-%v{WPi-<2;6z4 z!1-L|d-`S2-y1j>neFD@E@yUR*JZpqR0lfLuFDW=HMaNvY;jN_RH&F}VPfw{cU@LZ zwNtRyQvWfpBk<;x0-gEAtbBLBjC3~xY|hmIbJOF_evwZvL|^{gBuCjQG9PX2&L6fT6{5 zf5;?l#%$c=HFpC_Zeqy|do*_wn+p~4xY}X0cXKx(a2Whxwf~sg5xDb8f%CcA_w>u= zes93lzQOcwc4kG^d!assP}eimr}hYSJwt^Gc?=a+dxyFnmBQc$q5ha#T&Qg+& zzYO(z1BUvPx&0~h>O)?rFCx^380w3Ag!&Leg$j8L6;^wP`VcCG!4E?HF}EXd=amAz zQ1|r9P`@`|s4upaJnh8#C%rYL!*v7I+)eMkAY`(iaTc1@&p3%kJXck%9v#==KIIR& z@A#|TX8(wLGD3f@Duf*rS=_kRyCt~ib+7fKi6tSm1!W#HJDzc-Mz+B0HxtxjV)lEQ zT~D*$ht#t$YlG{L;QC4@KT+-hcchRwieZF0nh1xI^_Ot0&=27P>ojxMV>~H zj=hWE*5zqiren7<=1<*tS5|Gk23t&Hw{yT0iX-kh=%&rKL}%ME&pN00gMWt@$2<5{ zTb!FyuCC(#@%6ZBbv5);kP5jo0*l>AhZ#nqqov_Oqp!Uv9Fx z*<9A++!*^WPn@m(ZYICv+&Sx2PfS$z#fC8ci`{99QG=(Os#;9XOHM<=Q%gr&SFMi? zO<+%5<<1)Kq#2wvFl)gRORL>Q0ksKbkHFmd^@zI&Bk4y+)}fCL{zJaUwExpt5_ohe z-nncwnJ+sBj}NG|OGEDDfO?4m&oYshoqdD%LX{9uueaU#vU7&tzsC4qagI*Y_hc`TJ~M#%k10A2a8XZ8Zjkb>C@ zFnidVyUUwGF_=xESjMqM+>)qH#1M1^S^x5Cd;cqxc2VbfTxrqU6{eOPLc_{XY zN(2pYlgWP5xeMLi|E6=;xCddg0K=2i@2n53s>Iy-mwBV#*)Mn-GO{s&|MnJc8BJw} zi?0a&*era@nf;R$$jS()Pf_i7OyJlNcVgg5Y;ZTT_;zRyqZTSv56hB(+F>q-m#jKS z(*o+>u!x0)Ep%;VHF{8e3FSm6Q<;ZusD}}_mai3p;(9wBMzU?Fh zc3gsZ>&?L1PH5amUWPFTzk?b2A%sH$YNaWB$2lSNHl*Z$x=Y-@1&3%;6U3imEqKc* zr~~RvYj(Fab8|xO!jQW^LJFxjY>|7+C+|1|k!N6t`PBhK+kNV3o4?+38LW)@bo~<+ zyZBw^xDhPH;HBpb!Ped+fIAe>GJ!xn0;}OR`B^huSa%=}tcZQ(_73HQZ|6rZv3p6pY&jy9Cu> zw!iPpocE#U?beAQcOHUaBc_JjnH=o*mvHBrq;50mA2?0HmzQ)vuO2XcI3M=7$Co&H zcp5P=q>#eh?8b@JNU@iwWDhT*j}4yLCYT`wvrRDDV9hp}z7L(EagTZRZ!w2&bB-SO zD1>?HIrFD&PS)f{mW;S%>UorS1nMbxQ?_xN6B&0ugc<4;lmC%ZHLY<;hZ;oN&p>_E zsu5WW)S!9gBj?E2o4xQCsLxE|$IhR|{RMf6>dUsqkFjr!8@d>iTCFf|eS+WLf8q&$ zHM>4>&I!H)VIt<0DIao9ANM+>WOa|}8FES@FI>zHnXewkASR)+rY&~oFGdQLa#?M; zn0wM=ld72tM^orb=)5H~4Q0|{ox%d^1FGBeH&eC$Cp(~?L50|vJD@sOoyT;C>W2At+Ke+1R4miM;;BI&F(*A~Ae_(=orX7-6&NG@;L(ir@yg!uRiQHXA>8zRhT=;00!e>PKCNaz@=%;bi&MTl<8V z%4ez?DQu#X)mvt0)Vbn}l@+||d;tAQIIch{#M&?PF6vlx2ea>Q_1t_2H%P(FhcLgD zZYClbat~sUqqYWkKzD802mAMi3cL)N=l<;!2kQ{z;n+0IL0>p8OdP#vMAgNIlt(lE zOXui`A3`KGIrdr%qL$v;ox@{R=dC8 z4u14E&cVliaUmwvb(2GGCT4UJcA5nwFDzHO7a+M97pjmu3!NBJBecB{wpwhlawacs zTmFp`=MVO9V0b-TvC~-)sdm!>oo@CzcYg3F)Xl41zB~H__aHC%b9X@(HX&{qa+f3d*Gp8M`|<^tB!BHxr^asa3Lk_w z1Id21-;`%O`*pB?2KHC@)jET1>R9(F6j*O=@vHp<8yM(j)8$uh1lJ%CjCZfO(^0?O zXVnEE_3o4o1-gf*cTJp9>FL-nMsY(Ba`C|ZGIY={-Fyh)ko!km0;(~Ws+ohE>m)V7 z6e;z_#3Qc4^%-~mfuFf~1?KP=HRmvOIR-I+OUHaXN*Zyq7rQ6JqQqOVzX`dg;=0T` z@AX*9*u&?b^|JzMA9HPtI^2Au)PxgqI^3(}hPM`M#{XOKAJ_W(0luw4vKQEf|Ib@7 z9~0;lR1*rUbAK4qq&;IYIj)*D-&U@^E$2w6TX325rm;IMj8Xdtm;H3?7X}A9JZrjf z1vaM!)Ws8@FURF;YDhg_j^~}`m4KQ*ev5Umerm|9&h}5WK^ra!2g%1=l?(~Q#FQG z)cEmO*v)h@r>I(lc0Lw7w97s1fz)18jyYN$P+vn`?Wqr<`f3pJ8QfKk*``cLc?-^a^ z^Y*<9X43*r$yEHFh{ZZg>;yF{(g~MIYO|L~m+P6gDFH7V&gbuxx{>7IUx|6|ZEr~- zT=<}5 zP_vWnKOb)&US+lSozI)5R}(sr3aMAk+Y{9Br`&~_;OcD}+<88)hDfqGd2n)GkIcq6H7`(4uiMNgaq1VrT4bbPrnKcuRCE2)Kf@i&M0N8t zUQOAdpPmQPn@r^-b!gyUOs_HzPExg@Zl)ib7D7)sVN`Jfo)4gCtXelMgo3W?6r*iV z(dtn+^G^sK=lVuncf6B6)hnT%JdgL=s>@ulkD8m&<`sU{D;#io+1Gz}I@DvHdJ8yoKA7&ymC4s|MpyOZPZLR zZ%$S-5B>Js5cJhha{!P+U?WRGVdiPx3Y^{R%yXWG8&Ta|(b_qtu1G2g_wSYw{xiH4+wez=lAD$ zSH;Tif)cYEzrdw*r%9TsQX+k*aI$Jf)_$BY(=lwXK{a393sn~KLfD?yyL=0FWVL(1 z2z%gw5%nr;u$JzJ(L!Y5{v{Pw(@@pRHs=A)V>IV;+wyG&JrniYHyU4l^mX>LzYvjhKN&P!%vg8FItZA|}bdMKD{S5Fd}aJZ8;)h)D5 znidGI!JRy!_iY){H8V`}G?lU7-xTU*gg$qtIjLB3Bb0Zd z0h85KHed(k7tA-))Z&a!%R1C8Gw`d2{~wx5rmKv=2Q2+ zKOnsmO^d@W=|#so5-fgO)fdeE+H@zXxqtiBJ?>YH4!T?}_5U!hCaK@= z`{6QvAmMX7VeqCT-brEsKgmxebeY1LYH93u=ito?_Jkz!@=SHZ?5wH(c{6CAPvF|4 z`e1|V?n?@p|Jhe9ihcQg=MbE^3!S^adv$=;U5E&5<{ z%q*1|yxj&dXfB(j4h$MdxVQPlJUB}on_CBIVL*MJ6bj=`x5GUaVzqlFUOUuv=b(R( z<1RP>%K>jGs@pKkk`6IUCP=pu`AF4Ai)3SGrRcyW_EYe29!Bbt~UjM0e~D&+c%~#setmE=0}r zas;-OYFs4j-3D&k-bbZ*7~`3th|{Gs)$P&)g9wSVL( zNR!n1nbjC`?vl8K9MYjSqx4~_6P06ZQSom(+%vH8;Z4`sm@*rnUj*A&wtXWU;4RG) zGf~5nXY)6&NFo&+M4}prkZ?pYqU7`WCn7(zWnp}<$IFQF|LXR?d)+-Ew7|hF!Y6ao z0g(+}i#PqS#T(e-&AYdFy>0Q+Y;lLzVkD75i=Re|JJ4dw5s(>Cvc><4DNQ0Bk`pCc z{J+@Jebil)KjN0&c8>@xriRzt>6n(h0cuBUW~pi2XyKgb9Z)+u0}ra6H4EpduXrme+9%}_ls$L{0_yjHE4r&1$pkad)L8Cmd&_sD$1hF>hL!P=YzHLArV z%fiGtx8L0o~c7vY&8)+V0e zxD)vV;vQ@BhW>9xd=GaQhw*J#oQwyyM^xjDh`rIrgM>SnHDD@J)!bRPBk~!z@qr;% z1D@)k>}{wZlh@bN=Bq=(4QJ!#W*Y{!0VA;u-P?cxx8z9Jod0SI^gi+WXj#wv36y%A%0iQ0i?-GGk1 z4gaTgC@66kV6qmdxsmJ8aNOp80Snw;xkrW6wHOL)YF|M!kv({o?dF}F_B9L;DI`X~ zYA_^ZfHvp9n$VO*5#U6Y!f2lL{cu*>dcI>lSFj$WkQf20!H|&k*qr}rLQ@v?>iMqi z@cq?={=ieE80}7Tf0{Zmsk0Ov@Dv^!;x}O0KCj$RifX&fl!fZJq`R2?_8!?y%zoEg zxKM?HrnH0a;y*E63)SM_t)+@MD?SVPQH*`!q|P z4BiVl(NYiNlb*ESEL6A2!BW?O6aBu7L=ayZkkK0Q`+f^9 z2Wh_(A6MN4c7v4jMNRrwlk=P1@WN;k}%JFyd z_DiB{^kWmh@f=2v>KU*FTvZc+3`F*EDUIwyfN<_{C*)vu6#sHSf z1Mi04TuWVsDCxHZ#9!HD6oDIHR{%yBX)+RuV`r&{@D&9d+ijM*9lRHEtEFB6;xCIc zmVvCW1bhcf0Uv`t4s7%L%7d1tXa2-CBpLh~c0TZ4u=!wo$r8J+2;Yssj685BIGSl$ z2I4EMGGaiscog5Iz=GSr2O$@OET0FW6Ee2qv(gNx6=VQwEl*!AdY*T2G8z)L)VT+u z|5+d&ik~7Q&Qkk8>Q`sju4@3f4`ff}TIy_&J(XptGeP#054;I;U}w5V zod-^YJ}ZJm91@A(Byi^e)^QKWuIvQal6K3}TR=|2W)Ocx5ne59wA6KyUn~0MLVWi= z?RBx_7l}SnAc?RT};a)KU+Fob}s4&ZT^ivpx;H6al7M>O}BF z=(`u%25bfqP$b-G6XAAC-6ZmAksCx_A#y#)3Tr`DIFM#5>;fxMVW*{D3$nsykUiD} zvd0>Q4IU#tU5^A?ybQbq233~2#53@Pi!F7b$OR&YK?afsGLWYIZ6Gz^68KqesVhMS zQVuQ!Q^9MI&u<{P7JucTi@=Wkz=+iBA z3do8RK=wd9$a;dp7%&2b?wfB7dO;d&6?R+dF7VfI)C97p>cI-w)miFgASS-wJ8 zZmCN_mMZ}9=TG6VrOus?_0NnnD3ZZsF${ti!7#>BkEL1%10d~sMeYJGgk7hlUMuz{^sqR0gEVVG{I6F{~o-ckoe<|!-eIUmS5FgDK)%^=tT ze_KIswu5Y7D_9OcYb|vHNWUv0Hlgc8Q7du{NXN@Sj(GvdG0p+;hdtqJOPva`!XU^B zhw=3`9Eu^36$}aoEOj5qfVx0#K#^8atOoHnRpCZUT`&47kUdl`auIkg>@xF zK~|V8%(B$!AS+A+Ira&bI%xHgjNv)9f&q|*Tfw7Y*lnphMc)K6kQE{?2hW7vGD}?w zGJq0GT_kd$$ORyKG#_M-W`P};e;LV0u_puZs8tF-3j6k6~pb8x)G#ZEqD&Ax71alF9BJ;*iz?%C?5&u z*@R95=^z2bUoM8@E%n$e3CL0piM&nZL6Gg~2iZ~0AUmoKWJgtkY+wb*ekl`{dc-B8 zNDK-kBP`6f)L9~Dikv2Ls>mrI14slJKtG0^0d#>3pc7=nn!&RWK$E3j0ltYTlTnWZ zBdZnGSn6dU3zmVLi=~#jNc6cNRhc3ugIsKhmO4)Kqqx~YGGh>=zaEf_Z7Uc-LboEp z0M=USW|5mjUJbH^4Io>%9OV904wj%?nWZiS+43xqEzbm5VKVqT24<;w_r>~l&cu>M zLXXb0ieXDV1hT?GkQJ^4Sz#l11`0M<>Kd>E`cjY;hCz;XKFA7kg*lcw3*@yg5oBO7 zGb6YQhaqpNK|PuzT?FFqSHoK^btCv&R&1#&z|$a?Tk0~94hup2O@Fw+Qs;?29pn(C zh#UtN!7doF3B5DXIv4Qjqu+43jN&49J2$OFcH-%A=Ng7-Rt3KnBnXGJpn<0mOr+f}_*?zRzLT z4l0Qy54q4%r-LU#PP5dh)Wcys$V*I|r5>GX zTRd#3w~0I`@&FiNSN0*nuIvKYl}#YKay3ZDb>ImM$Wkv8eJRMvR3vg97=~T0rOpJ| z_30qHK2?}vsS~HlEn^H6>{_3t9-U$xkI0?iV%W7?>K4(j0BKh%awQmoU4^AC z6@3__U9QOKQ?UMj0mC#XK%FcZF=9A|U57m|2=Z2Pz*2XEY|&;*-6?Xr$gLoIwgqI* zt^n~bV>w=aj&jQ^by)-nc6mO?F3$s5VJ3Jy4AU)jGRUq>1X*#sFwRoPfWJby{&-uy z8~hmqwA3vi%Qai-)gnh4MbQ8<;(Cw~SAh(y7-V3DAOk1>=_p^AXQ^{Q29N-<0X{Gf zc02d+s0Tro8?e-UmXUC;D0)B!&mLbS1OoL&lG0^KV z(Ce}BejmR3Av|WO2SBgKEOoEQJrPlC1-&i<>9`W4V}6Ay9p{5|kY}lLM9vmD3uO6p zkmW~X{l34ze%MmCgSC)bEp;(SzmY;DFw7ZQAiE|LWJPJhR7)K%a-7I9BKt(%8MFb6 zf()P^WB`4Zx&>r|>Oodq3!=VAMhz0IaG9{mQkPqUj55)e2#X~@NAj~ppD9e2{6vux zM2-_VC^8QOeVdPrcaF0Ww}XtZ5%jtoybgioS?Xl)8pw&3Ita2$V=Q$~!1mx)kPX@_ z?6TA?A~%b?n&kR#6h#BbF{}sKg@qsk$_5!w8pxqa202uTAS;R&##w5gukBq{dlF@1zUMq47$bgza22>6*paPHq<$^4qW2v)5&J;NvWcgH(RC7cfhs53!2Ot;jjBBzL)4ANl&NQXnp4#_r4-3xL^dMtG#$bf4= z23!f!e}$zkQ?mX`MNtB>f+CO=taWU`W{_Rp1kypHu)$K-h`e0nDv>Kit^nz`45Z%z zkgFpcu?d|5GSV23k?!={3dcZJI4m5p)B}>=FZy0#kK}iQ+=$x2rCFTJd6qg0WB{3#I!)wMkyAjnED>bOl6|%T2_Snc9%T8TFve03 ze}_{Gaj;8x$R_llWq3g3evpoPL2oEP_RtEDJyZ{}h0DN0Q9+fZE(Td)k(rZ^=NtJD z=_VJXn>3J9B-K*)@3L;YK)PKEvUrQ7ZW4L5$c^CJ@V5e_zhaOhS!AiVev9uzMgMhK z;*q#b=(QjxeI1DJ^aMD>Ghd~z1x72w%aYhUDec#w}?I6B*DBNnPSA!hc5|9BD zTk3q#@BA9yJd6D;Jmw|vXdFb48F?TBNdxg!TH#bn9S^QVehk>gC!Ch2w||ANAccJs zNd0Qd)0cs?FA#lL^l9Lm(5Hgl{+7%HDoV7}@t}8+9D^0~W0radq`nvAeNDH>t>D41 zTWhJCL|+HeZn??XSn34P@BGr*4TH4n2k})* z;XX^<1+pQXmbz8swIa8GZ=+33Am>Kym*{`a*$OB)##tb{CKIHiG-0ZxPL%uv(Z>mc zl0W)|EjMhbw~0I`@&L#H`alNI^hJb|08a;@0Ch6RKoUR(5)U$vpfJW#5C7Zhhb;A= z$O9txgRH0*WJN8Yw>UxiuLs$K%OXf{jH@hlxnvZA9FlyIv%qxNWm@V~(Z_+b^NBn( zito{d-8M_z53-`oAnn>kZUPs7dY3hegg8IS-_R9FSeSbJ&(2 z1X;ct#J`L>yl`Wx0=Y3&TAp48vH^u)Bn=f6AOY%J$w&h^2a-h&g8RcR#!~lfmq`WU zOZUQEmby{&H6Y7ZiChZKhh2%K&J%s+cC7zYWTZm@>KMrw_{`_SH@AiRE%jP(F60(V zT?fvATx+RIK(?^h^7M3&Lzo7#CsTyUmO5VY<37Xsr$LMu_{3o7Q>))*sRu;v7r77Q z5cGf?f@R=6xHwf=>Rgc5kQ6Wl{*x_rJjfyPfvk6DWXMbCQOoeK$U`727z9~C9!Q6& z;B2X0XJ@_%cs2%zm5ZAAaNGTGms2F5Lxgb|V zI!MQ9lAj{^F(8+t&r%P4WbOMv+V_I=w-uznwUWO=@+(0OO$CS^h=j{*B3x>zi$TuL zd~g;j%Cpp2qE7+$gFe|(@7!kX*9sd!mTR!owID030omotgjF8#e4|tpC6>BK)7ZG$#|og6B1yc1D@dJJTM z!+2qU?I6dl)lz4H+-l=MZnZ&6z4I;GfB}$OZ8u22n=N%G8G)i*6s;i2X0(8;s6ZG7 zaj6gITk33(6~==zppUcEK9F6$wI5#z33h?JCggzZ!E9lcFaeA(vO(nD3-*8yqCf-4 z0xR&si0g#4mULQT~MGlLcFLEBphUUD9_0N{ZK*27hS5VizVOv-R zPKUnKQWt@2VLr&f@+@_Z$k`%ifvg}MqUv8%NWUMI*qpmxjC8^EpTfqIY)C;!O^F>>}6=eB3kmUzou=!~q z{ilG;AA8=*k7U#$fyY%D<>1q3S(&9S6n!rEH43JKoYnClXZ22aqrL#-a{zj$pUf?` z!lrJ^Fi5*>kO5?Z44~l|%DDfpM}mq{VHcvHVLM2DEy$KMJ%z(_z@E)k-@M5Nv>ap) z6@t9F#e-}}oTcvFXag$(nV%~xc@hob^*@yfu%yejBo$;!;z35f`Uxx7fs{ud$J=h? zZwAv@4rIVZAOlVV8E_C}V0jy?-ylf8eVw+xt?RJn4QeP@e0562x^O!A{{HW#XRvTaiNPokR*m@d3HlXAY^gmmW4h0Ry9=49NKn9iy zQlAKV8`DEL$Q$~`wU+%4TIPfK&<{LdK zaQPHlo?hHy^>N??j3vKc8Pr?v#|b{L?*iG?%RrXjiYUo0a6IfgEp_KTHh^Z3J-l2v zbhiy?Ac6#2mJhB43;tm<@<8f)ns5jc3KoNGN%mbff9wvsQ4NB0+zv9oN#sh&4~x8c zwJn#w$}$V2|Hx<~&aOek!97T41*<{sjI|(#qypp|NCdr>-)0-o1bRaS zCGBcJ$}P9r@~c70C034P6pEs~!4_x%X^;uhali5Ly+%eW_$^om{v7$G;2JPTm>?Yb z8;+iWely7YMsNXG37!TH|JCPxV0;^h=ll57pqIedN=CP(9$SIq!cd?Gq@!lxGGQ*b z68Z$N6@hKL#oBd(*Faw{a;Y#IJQVskFasR88AniY{kJ1=84G~tf@NSYY;wW(z(nvY z=!b8@$v$8=h|f-BtOl2ZRp7s2R{+k2oCe+i@=<`8rk{LlTG6{;| z8*v;M=D?7p?g82L4PXyg3tj}fQt$+@7dm+MH-9nK5vOxyA`G2U# z^}iAcc1;P$uE_$~HHqN8kb@u{4KB3>+rc&H@>WY-1@4dh6v^+p)XKHsM<`zk&PRR` z=nX|BmNCkAk#V@F#3MlmIc+=6R5wlu7ER^OmzHSfLCcdXoId5)nM zi8y*feWA!#O9cZGQ1rz5a*?Aa*N;hn(G%=zM2?Pa=F;Dwra2^oaY* zrAwnn-TzAhdQa?mR2v&KB=V~g(5T2~i9G$+wtZ=;!Ds2`=G@Y z(!e)SALYn$Q5+|VdXeu(1vFSK@foOa5&OtbNs2 z*54uGKU4BqY#%@N`{<$KSyG^R%$#?tnjKke{chjS#t}Vh{1T}*dgl18o*xWt*xD;p z$GD?MgYQ4v%F(mOzs1~Se)O#JBB{1P;#xG_=FiPK#5ye9*D9iilHVc?Ef_P4R;oWA zTk*AR;1Z4yl0DMkpNgaCvG3b4r&)3ISf_7AZvBP%7=9vYQf`q17(L5;iUimr0Zx#3 zqKBh*N{2*GedkGwUOm!*^F+oW>KrHEucY4Sar1bSOZ$i~dZ_waR^cnddn^7#CRvBk zqoqDivU2pC`bNo5KhWA=CIS1TL4TGG8; zB!9d4s8K~u9*_x&x1wIV^454!`PRxnr{gULf7VO?cZq$Sv@@Z>=3gQ9DQ4a6YPQq! zrFr9a_1RC#qQi&VL3Z2VE7ts0Oif0a`wd?3GoHhV1=Mw-`TFnb&;A;7*(!X1FKoVA zrB+Su#oH6_N4&(FdsnL$=hW3(EjxzJqlb`bI)~iQcIzGZG9$-S*JXPfImsUPd;%FQ;p?@IG_^-{Df2hxJtXf;g z-Rf=s+|@D%T9U2f=pkksQml;A**cn0u=Xo+v vPc9M}9~$)J;uFo~_o+YsBzmISLYZqRGS_-!lB9`zgUG34ZHw+#uV(x|Z`~UV delta 68848 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 E0}D-xW&i*H diff --git a/bindings/odin/clay-odin/macos/clay.a b/bindings/odin/clay-odin/macos/clay.a index 86597c986d0daf175afc9c99a6fff47916e0ffbd..3fdf7090eaa474988e1f1a1fb6b66353a247b526 100644 GIT binary patch delta 25169 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 diff --git a/bindings/odin/clay-odin/wasm/clay.o b/bindings/odin/clay-odin/wasm/clay.o index a1240fb9eec47a97becea05814507c0e3c791f4f..dd62c634acbe9ae256fc5f3270e705edeb107355 100644 GIT binary patch delta 49362 zcmZU+3w%_^c{Z*&dxWIDp1s7z*s-6naSS-NaW2@wPV03N+fAD^Nz*h*(=oWtffaWF0t5&Ul0X845FkK+00H8D6Cglg6qX6JBsu2GW1Kx#7l!L zL^E_h^y_D}SM6{;VX52k)0wMOd)3rl>sYD!yPP>w;x|70fz^-^U-6&wRj>GUr+3^p z=OtHp=5z6X9NjzqAEUG5hhOr?Z!h@oxbv!qh ze@6*s&zq(3`xQ^6;8ky}7_K5o{6M^lfr5XH_~BJ0fBJ9BDm6;0-Wl?|dallBeICH` zgRG3GqhCM7Hn0|N({X`QPrNgT#h7MDzH2yEO^=WXpA^xpx^WzO0o=VA7ZrrS_7K-EPNK)u648~g`^ah34Kpau=md)!`YgOTv ze#&mA=J>yldEyD`Jof*y(i&g0{)H+}Q&g!|TB^5NlcD*-_C4x#5zXM38H6{fKboz- z!q9vrR}U6bNnM{dPSFxPU-g6LiO;Ccct=N`x)%S}3!_zORo8__S!#5=>-u_Ds&DL3 zs{8wiotDlwU z(%Gqc4s!ZgJ(hMymG;05&xhKJYDuXFYDUmaxCDP)L)ucd-G5Ci*J1up$MUc>9Zi7`WE;tPYUKhoY8dHKab z)*n*HFX2o5tU{Omvef^m2SqLY21nT&A9JvM8E@utpnXL&52o1QLDt9CJFa&G`muhC z%HGCXc>8_*RXY1;_$vPFBmL+2^KbalZFwikj*KGq4x+jG-K5ypn2f&WOd29%;p>d4O?e;h;r;jY2UPtR_yB+Lk^ZLj4!+4QPon=4f7#C(sQ-#8 z{wf{5-{^1QTm7sr>2C{$gX^#H*9>M%e+S>jcfO^+OJ(1~ck#WC^xv2f^f!;yeV={) zxA;E(Hdp^3IT-#9KfvE52g46}`NLfOBX&0b{1`u$i2OZ%guhP?hM$oClU)4|FUKbpZ1Grs%`Ka-CAIeqvAevV({>VHbMzC2k#!(XOe`o#Q2U-7;lKKz)hlHEK$8QE%zvh_!i2wa3tN)p+e~aJZqg?%Q zv@Jvbj-=n^>fht{Li#WKm$dE=_!xh9!^O_%Z~aXFHzEK1hAW#2{x2{8Z?66y{0}}1 za>nOnOckG&}kjMqpd~a?2D4VI!YEpyuvB4%QRL`KQB)=PDx#RVSSoq7 z(kNObj8&}GD6j~lR-xADS*@^AVYShdt=EX2wE|yD5VIW18eXk4dg_G{t7m<^0*i1O z6dH`84GQZNHi#k_qwK?t0^dkNZz|m+l}!|AR2Zee+tU=2k~Rx{GY8C1QUi92ijKAQ zR)sAJTZwOyw7X4E+c+$L9F1k@?NZy$+TSDdwTvI@9a7(+-cmn|9?Hx9l{)ob1#YIW3K57_$(8m;bc}%4e@^J;0 zL-b|fC+X#c!il8zlcK#%;iN(vwVx6tG08xu6;2bv`^Xui_>a0>@lJA9pcOMNc( zf~o6x(@uZF^S8=dbHb~>p|TITGGF3aB&X(OzxuI?v9kuig=a9p*)C!416M!mP5pAT z+2W1$WqdwYzrq>xDlxC-^8Wdn9vJoVzBv%D=km7s1)1PqB=d{OVe=(kekqrC%UAGa z=b+@ZKGB8@uD)Ful*>Ek8%Zw%o=r&?YaRyFf@hz(8SM827e`KNv6NgqS%3OE9re^S zysGBe97aq-{g{SeoAkm|#PVMpoN34Hepa_)W)jz#aG0OQF*f5>v|LGAvYD7tS&1o$ zjVO|&WHJoXQQS-lrX!mP=?&LA;x&_v&5V<)nUrG8a8p#ONuVkAD)Uo94PXG6p={=; zH?2|?EmfL%%4V9%Wr|`(VvgdChslY#Y6gij$>j=8X{M-I>NWL*o~@#f9=UXh!fb^S zj^Q~nhvq8Gk!3W9X8WnRHY%czlW;)~bGWCX)O;${J%Z=-7IrCbDQO2}p zGpoI6v3>RcuHKm1NU0=+&7qX_qlHPah0lHW4k&CpC~HuKsW)+A1p-b`}ziYdxw zp30RR$08|jyD_&z7&};HLSqpIGulpC$jMI1q!}|wY&P>+a-qT8W;0dgGPm(& z!o=p>lliEb_w3!Wab*Dn7N~fE# zgA(yK)IX@t)?9x>eK}jw9{pt-PV)|OMw(5>=y5xz*IC6C*I6^Um;=Lv5>A1OMu1NloCEYBDQSG5H{5OEOpG4N)R)P^OB7A8Fvh|JqbOS!8buQYKar>+3oM1aiW^0f zgb|y>`eX|%!kJ=WiqVv?5Vw#JO>p(M*n(n#7n8t2&z4S=>QstMvoOtaHkg&lbRkaX zLwrN8RKL#<$_!GfGo$61dZtuoQfiikSr%`xeB!Cj)U$;=o2Yy%nx#uDfzA=y975+> z(R@qKlj=NHOD)W`z<*0DXQNo`N!6)ErG5P+8RRFTG3-n^ir*3b)AK^7WnV#R2)Rdv0l2~iqDK5P^0Bclx)+7;d~`yh|-&_=p&`KSlDb~3nREy zBDmE=up>h^Nd%jyf1AY{!gdSWENo|WhlL#`fX!AkFH`RncXyJ$%L0oac3WU+mH+uMyoRqWeg1wZI~X{T5jErpEUHBYA-IgBA`N$wNl+ut**z{fGq? zK^(Qfa>$J5Z3cQwK*wUFP3$xD6_LI|>25pKRaZ?{U9)i2!ZpILi}Vc(*Dc(z z-qSaw+GXLUg)VY$Q5n_U5_PeZ`P&w5vmt%;9Z`OV$_vv`>9){KR;x?j6(8?exNG5_ z^-X^Tg`jLf)79KHbd9D;=2y-M`O^riiF6tQO!cZ56 zxjxkSE)bRPN`-AWB{1A2E%nF(E;%qqxMX0CbYX-GBV8Zq0vAI+%7p?ZOxJsQw5S~8 z!e|%9kUQ38T07R2a;z{@k8@$1%h@3lGp5Ijjq$Y6WxArv))QQ8W}yocTqtzCuP2JW zBIZyRil{H1)E9R>Zs#NyCb2nQJ=w+Oz!cFp#Wgsi-Hsm2&zX1 zq;%3C^B?EzRHjmDaP&0cO(XA`&9pS#6|GfzhR|lXxL#)JWP0V*ELXJM*0Y5%o7EB* zScEZ$DU<1%Yi1W_xiHt2%HKrK6ZAY1xSFKaQmK}@a`^1;0?Xut`anGqTi}YeD!tH! z1uiV4!ZO0R;IQ=~7Z&lVuU>2@bb5&kOGx>nE_Z>%a(3TR7avTPxv3e%gFF05b@jWNJguBb~_GljZP&F)+&;a|n%$%IL64a1Kb>C9+Y z*NVnkYCL8~&zaz^7RqW;+U#hPt=C9(4coESg|#lGS?+<`x=yHd425|_U*{5Jz0m4o zgsx{@=?1Acu)4v8^)B$=byA$oGHN6yl-VeljWkx6>ET_7M22OPD|*e+jV^3*p^@^N z2{Mc=E=eL=UD)EnRx+B>jBPG#BZNt0yO|C?Wm_l-JaxOx+@s7S~&<&W={tdXH51(EeT*_PX>w7ndBZOtdbv zx^iQBzw6x$eZYnNE*x+rA0iIA$Q`2GVdhpB4)W@VOB5az#!*&}F`p(G$6YvX zhT#bpj<|3_h9SrENu#Ju@NLAOa)IR}uTC39XSf`3;SB5TF0csatP5w2rgJWwcHvxl zK-2Dd(Q}>zJ|oe;4ykrfyh|?LtU6t|? z#_VXd(gjj4V11O0kv916aQoA1t$d|N+su(;xB+2fjQzeIYjcv0voY4jIQt_#-sU77 zZ%fAI(v0v4+;gyVk;aN_6vdK$me@KjMzQ+Do}n6mX3yUQOc;gpFzRYPz{yj$%d?`b--$Y|JEm zmJPCI+5f3$$Hej3;&_zuB@{pjEzGeo$9^q?X;o~_wck>|kKWGE^Q1P9{8AgGwzJ+e zZ@v)c({Vb@{lEoMT|mr28w-=In`G-Up_UQ!2j;p(2Dn&AvBg9#v7_A?x?JkztS+^& z#0LLelxkiopDeTG_PX50G8@Z@OD2Uwz4QuhMDR(pudcK~Vx^s0*s;f|L}?Z67D)d| z(m*w9`D`{%Yh2vi$hY-Ml1;{1Wn&c;b-Hwo4N`0D4|J`>ZnX`jm(`5j8XIdEEwNthG@`pVk>w)LCzX*Y&nD!USo(SYA)d9KV#L(+xHnWOJpj-e5?1Os_UJ z()=LEBOqk5s08LSPw?wdo+ZQ%kI0N>G z%w8LNZ0x0H`^2+-_Tx1|s|n108?83>Q|AG8UWPs>Iu0={yYyi(ayUlT5gROrxPM_g z3|49dX~EvHu&!;+o3;_Q~T<3!aYasc^e08 zoVT3<)3Y5y@1UImJAFsIVB>=QO2+r}MTyZR8yC4R!5DQ)j5^c3$B|^D>g3M zxI)!eB|O(`Tw@D*%eD}Z`si@m%c52+@_K{HtyKE z+Xf54w`^RugC?$~EwUsa{H~3wHtxo3-ts&ixl!Mf$$yUu?%PcKJvQ#!=wbB%7Zwr( z{m_oO^&=Y(Y&^8_$aZ#{0OVz|kwY@Ur-~t&AL*f)Y~;{PCKT!%mPwt%GIMo)ChtST zc@&k2;jE6}*%Np4GxXCVx#~8gf=sZC%uL>QMiH9W_Fct8oNPVL$c>}icpf$J$bt|4 zA|@2B+F2%K%DOM#uqFy?q9M4P2IFFpkcz0f)D@lK(s8NADLg3?lQPYXqSU1)3w1I< zV0)%y3NVq0?=a;OSuC3;Qw1@VwP~3s&IJFRl9{?qMB94l>B62)_KZx-$n0yP9q#)Pv$=(L{ocG{`A$o z*)dN+;i+66&-XF$qbzIBa2x+=iCi|1=T-7}{#l9BbL8`sp08}+ISG;3GS%Qyn3k%I zC(-*;yXc?S&&wYA3wYkVUBa#M7pd;WT%OT?PSm|biIpE59F{yY{35M< zF<0{}z9#Sc>dByLPZa-3rQc^7fJ_YFCLw3d%XpdZGu5>IN`2;aD{oBAr75b-Wepuu zvvZpI(6TGq)ZUu6XR0a{@<=c6zqn$z$i<5_cV{WB)boj_OVrEinZ)}g>N)=T=Mwct zD=(7x)61;(Br@ly=fmA$bK~ISVRx7>X7F!MV(=XGIr4u#M}BPPdsdAy^3U zNh>VKuEfMSs`rzfrqUDU3l~rJv)U}aabeUn%uz24xJG7wt24~kD?Wo~8AZbj>*wS_ zoqY)8YMoT(o2#Djb{J(HVf|vXE%D{K>ect!!aTjPNJ@t z@ftC&@i`*Q*zui+N(SG;>u*|zj8J=G(Ofn78OjXCU^%FG3vX5NorbsdSLLzPH0IG< z_0)5%A|It_bdc2|*YEQBT^?8&HOCTf%v0Lw3hVdr{s1dme;}eAiGP`=Ui=y(@a^a! zi*F))8-JavzZ0zs>+e$fySaQ5;d}aT3^c62&tdZT^@AVC`1m{gP4e}FxA)DWmajD}=V=WOY3jI}%;TCQzFs`2XJaR&o6l1l?%DOMNS#-6SC8nDFvrYh6-~TYrh2PMi9ai2 zEG8v>U1nlY%=7&imH)5fVsSm3J}tI+Sj^KEUvi|A&eN5HCTu)e;ij4in}>s)=PQR* zrJSp9-;ItRk{Q6074E$e(~=G?k2#K+(DHzVdu?RJJ{?z{t(@SI8Xp(QHlwIbPLXj^ z73otVamuJR;SI~-g&Zi`Ji8DI8`5shlFu->X9a!s)24Zha?W_pLk#Z6B|Z0evt<)m zq!U{gsaK_+E}MShi3E=+u22<^Cz8JKV1j#W^dLXoPdu66P8%r&>3-sI1vlQPd~CX( zcw%wWc**06WIyq&g4e0T3U0m;T`2v;^9hf|1BzVTt)ltiL~OD8JZ&YGF6KDuN^IlN zrMopO=L^)+m3XjNJ^y{?J02mhjIiFcyrv~gygWxxn#TwQR{9)4P7=5P49hB(Ju`+n zcwWFo_~Rsy7uGyqpyr;$Z10QTo*p~ z)VbeYX-$&t^rY%)*-q!iI-4jIy1G(Y$gOm4uFGC}jhL%3?J?_g5lg(Wl!Lt^@vEh3 z;J}U$TfI?G8;R9l5GzsH@0chC41VG?+nS7Hm~mMvg8#_veXB9RM*=H;qSpgklZN;kPPacjBy{1bHek%TmldkZ|H z;s(?Z7vhlIMv-BlNo?MmuwNNic5qGFBvj?0tQDpJ;-uH=oeHu058^$hO`Kd4mCXO$(r zPQ)rz?{Gs%o9#Vm7k2`wtuC>+QoU`LNo+4xGPY%jr>hv-vcxZ|7~8UtJ}AB%Sy)V+yUc(0$HWT zxzfZJs?`@FC6C)$5|Z65)7C$5|K{^->vfkbg}5)pU8>Z+l<-5kOZJ|mJ=~fir6h5- zTD|?$45N5P$m}+`2JqI$jV7{76N6W(FY*rg@A9W1F?XfiJ&B&$ z0TV95tv-dT(z>Gai*ShrgJh;e>$jruEk{mV7#i=U&`(V1Ww zm06_6WKw8MW>TxMIF=OY&vk3q3B>YYuPBqxcUod#B+AyBPH0)nbyh>-Dq##%-#XRTTktrN1);?E>(m!N zlmD2KAJVIhX0m3~sn0#lF2-Z3>NByP4~z{4kRM7Muj3M>BayRCeT9F%woVPy z9YJx6LM=vUPbOM2v4=u?(?XNhslloxv0H>%5;^s1U{(u-UQ@>s@6;>Jo9Hj<)w^Q% zs!?$*6IU~FjVi9ERjjY)AZbaQuIGerNxZzCbGs$+qxI@lks8rUydBvKBYI(EuUuWw zOFW{tbJwfa>1OMCN_8YY+d!#~#9ub3fx`TM4eF_Z`DRE8ynq4i#k4T57v}cDJgO8#xx)QgPmoxH^rvbI{+ z3+s9%56pDE!0PEpwShGz?ruJ+xV3Sk*zjw-*;d`+8w-FYKf1t-a7nWQN|~D_WR1wNVZH zOrbb?LZ}2b`x*mhv)5*UWeq*36L=lrsn`egx-6_C+Sal9wD$E`V5uj( zLEsHWJ0IrRVS0m5He|_2Gfm)7+n9xo{JbMuZ_46>)TS)+AjLzrpl-}Uqv34M!se{h zAlxDvwq$YV+H`+@P;bp*E^kU$O=k0&Yvhr-M)Qkk1yEGe1vtLtQy-Zlk zvfonI93GD^m)i2|!5KH4Xj6u+$c}br>J>s&StHaM>ddFk{v0g2 zRw%XEZ&(FMzY?38Ro|?_ROJdQ_9Q3Tk$7UKBwZ)*!A|wQ{GGT{ecs7;^gfZ_m(6#W zGKt!`lNq`vaepWGM>-RHDbcKe+p>9AK9!BOY@EveP@m2w@)x^Q|DWa=GkK0apN;d3 zMTYJWbscoDCtwCkKwrql1+seUi^94{R(F8e>XOth(eAY*FswVX(Mcem6)uw}OXUl@ z)Vs2Hy_JnyNzUyQ=g)Vm*S<%)J=y5VmRa^d)IG?4(`qy7$ajpH(fI1V;?NQG?(HW2jfcXNNPmh`jlKJ`lJxRZp=0qD4 zv-WU;HwJXIpsI;#3Q%UH)K;?A5J*q(hJap0swl|Xt6u*W<6f5|M_21|P?v*sd@Z8h z@CjU>175GsNlp0%(bhn1b;g6bfZmXU4g3_1kCrKw!}qHGVKTM~bn9bh>k=FGswY)j z;_zNRjkG21?B)1tO1!vF_4_Q*2Xb(L9rY!BP{a;05Z409^q9y^L5}6%7$I-!;{rKO zNLLcllUTk_z460pX>NNC+H)%PS%I7-q?Ug2tH^*pCzNwJG78gKfz3Og!|~pcgY!A) zV6!g>=zQ#3|K;Iy=KOaJ8wwmUwZRJLiz{$FogL@3g zoBDnZ)A{|JR5~Z8CkH)-^B@Nga#HF1p%{Hgqvgg#c|bqPVN3Gdc*N1`eqRr9)5)Q3 z3~^(q`y)NfO|8S+DXoO(yNxS>m>%v1E5qHg2cHS*W*a#xC!X-Zj5*Lv!2lt+#qp+`vYAV z6F(=qQRv1*`dQ>g5xq?A`S^9*h*HNSceKT?CyV~cbYY4cQ`|b?=EAAijY)14yFb=b z-AK4GmF#J5u*B(z+5V>dbTKo-jp=U8AYi5_nkkOP{OLyrIylRXS;oQH0xxl6wi_kx z5A_^@&msKN>vTQW%_h%tW3C(X+~3rtA~WBOQa9$aB@5hGAT1$gp@=V}c+=ysH2HNI zsr{@N*R_k>U}X`*u~>90abvL?OQ@sVjq-FfD6!N8VVP)K#zri6W4T*bNDx-IvDA$f z3__(F6>e0LUFAj<8^c3u5vZp5M!#63qLpH1l^ZMFh^->D#we~8TrI1s-B|6`Yeex{ zH)`BiOT~3=tZ}1`>~(IeGm7g)pq`2wjA90Gy*v7hZg6A08x2HmAb?*6`1M9Nc)ii> zTsEf~o7~vsekCJAH@Z3g(dZtWu|BP0v#8kO#%4FRP{mfGqQS45+~9RnTE#Xuwiy-M z#fk0IP)`l7@L#>dEpNLuyRpNKW=3(Ro39M)a$~0(yWH>T-O~6LH+H+x;{J%A1956_ za_n)-PV_5uMDH~U_PMdwjeS(mDiZtMXmw*h6&#T2K{pP#agf|YZXA+MGMR^t9yT5` z%12C8kBWas*^*;!9CPdA64euK9C70Wqk1yt#&I`JlHcYA%VCDo3|dC*R9e$%v3SOf z({7w0vfU^?D~ivudd`h=Zhc-9cev5+Mh6vNaO1oi7s$To2FoeYn@o;=eM$6nx^ap9 z-$}@2QFWP!rpL2^!}5xok6TyWxZ=iDg02bZ8bP0W+zROH?r61N-w@snf^NET)2+MQ zd@1>siQ;WHZn<%rak}G1mmAmJxZ`#<$q|x_jp~?RcZ+a071x?EQ0v!sWoF%TN*V2B4p zJV=fTfsM)5!?v8N!$$_Gfy)BAi(s%<{;?<7^M6dobH0XS{OD3g{Anmyporix&I! z9I4Ks$XrSM^E{aA!8}^dh!*;FsW3~)obP#;TaX^i_h5lXZZHLYy-=77$t>emmM4~C zEM-KXmkD?o9hs3%D9b%q zPF7!CA*>3rO30$KZ>ds0VsbS&V}V~nvO*9mXsObJN{@5Y9CTI*v5J_JH1-Pr)zuzO zjFlc#d$7{;TfIs;yT*f69@Mb2YXx6R{0ZY+xnHmLV6{im-5L*AR?@&)4`0%%^I&bv zgF4S&_K_6y$^T=m$Dfsvp)8l3kty+ACpy;|on8_$b-fVkjpJT^ykhJ1LRfDI((4UU zZJ?nI9&GUFjUGNpZSr8F2b)N2^h7Isdb40+n_1uD!4{9+%K9su1-eNZw9SJi54N#E z+c{e}U$%1un>ovH@9I9peRyFvfZ@)<}-? zVw4x-jAVu$FUav;bF1J7?i}qWVm>{=%i&(=#RM-3y&vg`UJmw&USEdSB~!0RWQr*B zcsj?u?8Zr6#J!kATa&$*>@~?)kW;+OzR8L2(+Qy@NGUTErv73tiVb+G7gN35QjY0q z0-EOK7oY}I=F`)?nC_LACT4ie*PS!HnBm1t`Zmi;k7j!@%Zu6GZ|V~9e2y0-Ud$nP zE%f`m}gX#dQs}F((}ET@6`*usSUGIUraCbVxf?jS-rYUoGGI-C3I#0 z|J92~89?9kVlQ~T*c;bNyqt*{@91(bmUvO_ovfFN*iwqkFk&-&dYMp`ky7lV%gd#< zoPn6+OFtM)^63gv`TiiovciiMCM=a+RPrLCtGpn)%KL$?mPW4hqS}jvp?P%|%h6ynocyohb#D9F%Tg}0TwmNbu=n#kg7n8MmdR;xGKb<1Iu$R1JhR1O3^J1R~XR8;j zys-6tk>5{Do0o5M9q@uC4$#s;Bf=p@y@$+PJM0CChf}lkh^ZYR@~8kHS2T0XK#zMt z>TyD2CgV}f2`^4?q&oVf7(D5HOLe6!w0Y4+R!E-`)+w@Xr&*`HI89bWpAps>vbxi( zb}!n^&_64zvt->fEZ)A(d2x=7gFf$-=a2JjUA`F(94{RP#86!D;sQZ^^+j*Ang>*( zg|e>l*zS>*E8-b*WwV z#s+7M_sPEA4R4e$blw!|Ogbc z_AXgwQn7K3J2*WYe?8t;GQO)H$RvBn4DH23PO?Xm10SX40Y`Hl zC5*NqKJa>ouSgF~D;eg)FrVzgFoY!L`+lm2%kK$|@L{+QBYYp}kv@#{F()yhGU=LG zSs;i}J`}`!80F)h0<~eZPZESYkIUJ0mL4O-F}~#L%%{gnbu7W-d>H4`44b1T_%Pmw z2_zQ!q6J<(Q7{u(E%Kqrr{k=eyZJ0AfnQU zR*7g8tJOZR2xFxWD~+qGe5mwcl`+~|*BHqf0&0!qYLQ&c>KY$dgt69#wMMeehg!zJ z&WJjCoe^C}M7|iQ18P=BgqpGBe{uyMkBddBsa6V#RnE) zZ1rKQk!84vybu-n7sxBUmQtPG7Wv z`w3!W7d7wp$$Gm*sx7SU@nN?Q{CB4>JyD6?E9|{w@AF}wFF8?-v6H<2w2HO;KD7F< zpVkhDwF6?!Ocp*C9uxqVeFuFwL>-4k*Wftv61a#DgBR(9ZmSdvjnDM#6 zqmPToamsQLbHb zZ4Vf5E_c}s-WwkJ@Q|#&`jN06k(I|uXineq z{K)f5x*sA>nM3?=+Sm!TKJPC)BTv{$MhKW z@KK$x8U7FSOmS?MA2a=!MaFDDX8Y4?y|6Cv%bPoM{NMxp9EM?TTK7CZ=9$Lxfu7cA zcD|oGDGU6V@5ciF$9kb3WG$pjnIB~ay2ua8FN*n7Ul=bI_ZQQB*(T`6fAtbSmiXly zsGKaGD|+-&KUm8BMS7W_m-%^CKr{~zJ$kt@O|c3;Dk$dFEBqjFh5x6zQkqreN2MQC zY*uwLZq;lWKPOI#uk>T3U$07UVNp+wA2mh~x5c<-S>@*r1NRcd@M;>aGj6h}Yee~4 zKi2rMmJO^EK%MD^Pwi~4^JATfetk0f+-~K5>3To+KO01TgCE?)-QfRFZ}hV-H~F#A zk4^q>>PF#i_M_2{&2)WB()BIkda7f$`mxohZc3`&=0}qs+X&t+vOE0P?#B*lZuX7*DrNh92Q;=rJfZGN+^y;pTsFyE)Aev-9f6E<`?|9UicXGzvd0s#%%d+G70g{%{J3KJ>#Fou%%!jSan+A&?6B*85O$pt z@rHEWO+Rk<31;1 zj~`_9Q09Rj4+xF%vmigH;9+_qJ`(pI(S6xPG##F2&bUfFdPo360x~0q20-G_z)$tC z03FQ_U|0b8fsgcX9#}FZ4VT}qOi7OjU_?NV449`izUSr91pyQoHKPKEjS?O=ZUcHW z&0usOIj0S9OaNmD^y;x>nOQzA0G6?VB0XNv#E!2>ev~ls{AaHao31Eo{S@K|# zvt?-jOR4Y~y)1e0tX>`fua`4MJRq&0=Gck=h+h$i>&mo|ssMOhMN+jGsiqOxf;K*` z3}9v8m5dkkssKktG68v-TT2_OMaycVB{cy{m^%YzCnKiU2Cyc8 zwSmc64yjR>#HA)6f$K;$6RjPj}#~?Ha2@Mo+jDyWQ;Fdnz7{G=AHU{3; zo1`Ba1K1QmBfDiY`w*McJxF+LOMsgfTLah-)77*h}#3$&LH;IJCc3e z9KenMnyGAO8nP>ZU4-<}yOR*Ubg(;s7DDy}K-3;8-W$MP#$sOp)Vz!1aQD~+`**6LjfEN;1CraPD73aaD{I}3^QizAUwrs8!}GMDP6q~O$f1TA=Vt=Zu^!zn z^mgh!8^Bo}(Fgb}eV*2NBp<-}06J*=LICFiI1|8yz$Zsdl)Wgj7da&hjm|=kz9b#h z84KW20G;fq%hFR<0=OK&6)L(aJ$2Rm7_QRSMEaWXh(gz;cAdHk9%tDCkG?@Foek@o z0o)9jFM+!PAhj#-fxacmZwGKIfZJ4lCxAOt&7CaS1Pkl#fV@v}H-PQ{?y`aRj4mp@ z9{{iK2U71-^oZpiTFy7E$oJ?60X(2FrqZN&z6}rnuO9{8(|Hb!4spPjafUejx{|MK zVW^Y3eKP{X91M#&uViHCd_fL(z?X-H6FEYVBhpA(8R=l8BMflE_b@e2*OUO?EJu#3@3YLSmj7T0MM6Kqv|4)30zaqQ#b}GwIAM2h$zQa#CyQ*@7u?Fxx>1 zxpTzTIq3#7AQW+?IaucC6MabqprsB=)q$9z#;Z&a^$Q14*9Ba2W6>m00c(BOPBV=27B!3IZf zbR;Jv4`(+y*d!DlW;wc1bT=}NJoQd`zS)T$a_cQZ-$I*P9c*=UleoIg*xc@5n}h9i zc!z@~2b&%2aAKd>q;RtcH&f{`ceK#0cS?09b?tJn%h9`8?av7776-g;agq+6JqJxVDddUH)mkbn|?=#Z7PC_rI zJ-;GGt~$8l;410Y99%Pk*BuaZ-AQc%+%VM}MBEev81V74$H9FEJsbxQoM@~k zM?VxL4{7m{gGY|e3xb8>51dc-cL^K9*Jm*#$dB_R?F^OL(BNB&uZUQBnAC;^2WRjN z5kBMR2czBm!4M%15ArlCD5GhlR7bMPSAj_o4PQ_;XW~l!XPG+Tg3O@Q4~z2 zd=8{|5b>ZaYbS}^lObTL3@TWQ<^2I?Uf+(i^)F7s&rMVQD7Q{5V0XKQ#hi20OSkd|5)1g{qcAE1+22mIMSg#9$ymb_+52D^+*9Sob>w~GSiUx7Nf$sAq#H8mNq$4*5 zu_1_!8~~fdx5gkg1<^>~Hp>9mob18@7E{+2Dj2{}>#afXdTT6Lq??kofZi4aueXu3 zUF>XUeC0*c0amA5?=YaQfNl8(Mu2KD|R^TvT7_6Ko*#DnCTnQ$nGLqWOY z9S(xT!@*<@K4NM|h&(C)$knkRjv46jAV@uKppHIapeG18$&VxWu~`r&gJ?@BI%R67 z$UPkdi=m5cW}P!ZoMERxw~Mds>;=AKDxDtCXM;FP7Jur)I7-U-AkLeC)R7!W7lP;r z;sX2RqIA)vAT9=RDH!9ak`du>xEutpFVpswV03JbzA9#}vU)9uYe9WI2o@T+68t1D z5q3jhH|R~9ya#$yYB!me+T~rLEKN}C9_QG$k9DP^sqa#^#g*;lz$k+L$(|GQ4o(f1oA>4 zFE3Q2hnP>_IP`{wz%qoSVIjHy4GX0wKZB4TqT9nm$PZz7h^do87{T8`=*%&vL*@Zt zq!34vSdg5=v|Ny*3zDDo1oWs7MulV!j}Dn^IVObBA&d!eO&S7GV?!V4abjkC2(fV? zj3;M82opk|Oya_jOyY?l6oxR7ZWN_;$3uvRWD+O8OrzP!A?E)nAxsWoO6X&q2!X5w zW%#LIv4Ktvf$~#BsX07Nyq`wz^ErCB{-=)V@^KwMH=G{AjLdMjlK9bj^1kF#90(wCR zyk0<3Y@rA)q+o-2gPtRoAA6RCq)!(KYY|zEhQ;~4IE2NFEPu{Ege9RWT`q`nBAT+J zb=i8URF|^p%R*Qd(#u1f!xbSc521p@737*ZTp2=TNak=A<4dk8_Y=Bm>fx)Lf9C>CiY3AbkXJz_^Iz^8rovo#-7|7 z01u|C1MR5*~dj6eIF<2&Y0g&8VJ{k$y%-x@4<% znH6V4(Y7poPE?$uuJa+VoDHEpl>Wgdy3A4A5kiOQybFZ#&EufH7{W!A6a^?C@``8jw9EYx;2)m5UFu$uzA$<~x) z^F_Wcsdce$7G#?Q8;X`N!3yyEx%!A--_=r=C@Z zg&Ao648yQ6^2r^}UopV&usMV<;TsXgh_K|$k<`OQGJl_8WEcg6jxxW?KvzbG!7?h$ zx2;IRn6P-k9+Dq!z*yFr_&FMvR18y7mL6xs*fHb77;iLBNNO$&V?r2()I2eaaj`Ha zhCk3n;$A$AqA=p*@OM2Xg+Iy0lf#mYr-U&%j48CANbBaWeH8O|kTUdCL!sGeVP@m$ zVN45SdiZ0_AO9e024!Z3G1EY2g+cjQ;bbDl7`Y`V{n=jb|@xg}wggk>o?$Ha7Q z7<0myOSk4RYK+@F#!aAX9DjeMlv;c1`C-gwE1%H|!dMWl(hH44Je}k3v9K%*bBiz~ zvnY&3VVQ1=iDCYy#U)`ZG1B~r7P)vKsFqVZY_3|)?UmlL@3ZuF)ORorH zg;7))28osARY_y2XiPpNG^+W7Gu3R&3wotQW>pv~!&nu5ykW}!6`_@3vt#N?e&;fP zqPixWe9eo$@KO^-ZFsU?oo>&XFxJqhqt}MPvO3If9EF5BX`&gFM#Z|cKz$hXMqqsy zEbA!HAS5)1K+ODBZ8De}!q{MfxiO55i~|4nM8ep_U^b?8Z4QH_k%H#Tl^w7pj4jlj zt+yHsW7!l&lM&vQyy&C1hr#RZjOC6nb}*LBVG!QTc2SQsovC~#azI4%OocWgN5PK0rS zFk7EYUU+p|7`$#H{uFhY#lz_^PKEg+cBGw=mY$&sehkZ&QbT(f?Is*&lNXLY7Y47- z5q;ih;G;lC7`*Nv>4GS@Kn3!7ET5?Oc|R#85nKv0gLQ^+DU8nWZ}sIcST3?Nu82(R z3TIx05xN%ASB+2wb8(ov;@88t7RL4Pul0>E$htwHn+C!D>JsTL3eTYM06MO33FQ`j zC^3}UEPY!jw@E2A1}JqWj5}tCb%)U{qa>#9hH;l;?4Drn5nGnV-Vfux!S;mFL+ms9 zK^PAReJId}gq9P^|FMcJ{U{7N_9!gt7;Yd$q?Q-S)k7jta)(BUAIj>m2v~%XA3=UZ z5?5?^1VbVi&L43z-(VTh5k!nMq6H#a!0M<7ScEY;g3%FKJ&lQAWCUa6e}hdz&28kd z5sal)ekeJPay-e-(&HoG^?1rnh%i?dMld0Q!U%s+vLzx&L}Z~*96@oUN>7b|ys42QJ~fJSrlnppL$Jg>jRV$_Ogi z5?fa>$h^H)M^F_(b%gt$D!-8i}|^L5bLRFy>Y%lstv4eh+usL8-5(Yx=4DV zNccwKZzO+H1e+qCS|~R2>vD{X6H(nR{pEp3gykLrTzowF0eFEs9W%Hc2So`oeAUetv(yA8w2} z2Rz{<>iT`+gsP)7>%U`u*!-Oz%kG+VhkP%7k$gX)N$qEZMy>DMA^%L0PHFpB%PFh6 z_rL;uB*D;qZ2tIB)~&s{Mt()=u_msOH_B`Gkq0VIbA)Qm&}o#4pO^b;=5=!E>VH)h zJBN|_^>y+F{22AAJLPZPB?MMh(_1wneNnHaS|YK3fG>4h58f#!aOt}C!o9Mq}{5R>Rn%hJ2_av*9{gC{CbWCe`NdCpz zI1vjrz`<_K*MzM}*b28k`mpRHA?aiPA(HC&57|jtW;%1=YM>bn88jk_YXnN9A=uZ`oS^cvOB-`l1!Q&+?K=_PY4(LpOBldtJ}8k z%WE(}cYR+@S(Z_RojJme0^9Hdm@d--ejxuG;x#`YaqER2*ld0NpTbt~f6C1_{Epa} zhwRKFcI0;$J8}40U4JD1L6XX>JwKLzsaxj5%V730kdL4JOpd;xA7L;bFqk9on|)>u zH_$*%{!Ctv?JAsp4$tA%AOBqTrJ*SKh46gw7ntnb+QUzY)~}wDJ8#&*Z|w&R__00N z86-Q_UpR|6w8*FB@nvD)x8;#W3gh52^3pPn)o8W~PWH26bgn-u+}yVTCmQy{+yJ7~ zsJT9e^SE9+_Z-fvZtaohNyhrp^YVKVIxOv%qQg%AQVy0dhVT4J&Xq8CSG_2Ij<)9h zYxz4sslS#jQmgf`m*nkySp@y`gBpr0`#17tY1VqztK>69d+#-vjkA9Fnygzsq41u5 z5#DL;*8G1fLT>u)zdcW@=!JO_TlI!W=|^wKk=T!_=?(cuQi*2&Cc3Ij`{SE(3^uY^ z@jLlX$nWpJLm{D7?en+LYSX&jlB=a2YwFwbNAj{&2Bpei*ZLp-EB|_VD%fZ-L@W)S z@1dfr?Nmz;RRR;l!h<~)ajMPI5~jRA5J}d4 zAcQABkbjCUe`1s9^5-|%ELCn612VB${(-bC($!{M^ReycNAgdkKJBxQa6Sxa&wUIu zuHCZ*=$dwg(41EGi9ES103WKMM#{B+6ahGXdNbNJ)|Wq(bL1QOVdq0snnGbI%)(~M zPrG~DEeq=q6+!e)kk-wo-*&Vh~_<{Kel%Ye2C`uP@ z-Sl_)zok2D7lyaZzcas0oVVx<%KQhGZK=!J@_+JQx$F|8z3M8vU{!B$mH%|VOAuX2 z#DEe|eL1NP98ho2x{if-UN?5k2J)fYm+R z8WSMzqN)4sAYt;wATffQZ7ng84+hDxH`b>b+AAEJfs=YQT^zJ`_R3!@3l;l!x6wsK z>)$IvePrLwP#vwC_Q_$(L&YXoMRYB&t_qb6H@mD|XFjhpw~MPl8?FNL+7tWb^=l`6 zX{>s5<}RJNM=-m=9MyL0m%m&V!kErHCN40G`_Y{V))&I$pDN2F+U(42be*v7kCfLg zzdB9XnWw}hq$En-gMN7}`rj@^UV5{ap3)2eA2T#NT3)@}5Wc#^35oWDq9Y!N5gqYd zjQn@ZzTz19A$+D7iV+`z^s#7-YLCXsFJY6Zzf&v48WVf#GC8L=&k2)xhlEKfUYL9+ zUR+K-KjlJrWH z4@n6A@g%6tTQ?-hFW>ywfLr3OMzgz-W`>)QW=3+dT)wQ+LyYDSx-MBgQ{?|z-d9;h zbC$SdH66i-6=|qEwfqFAHJWRMzJg03wDz2fqM}^<>M=_+H+RRb8SlX}UAHxT=1g+~BuC_VakB;BsO8own zTs@ozSNYoKd2%^Y`0spS3PTmQEHYR6ktK<*Er585_I`ofO5!JM;wRv_O8dtNlwoYr z?kbdzEK|l0;|hgxTOpLEwTFx3TG?fvHd7?mU>PnuDc4Ft+Wu2ObJ{1xBB#7!VY#aq zmLs%XKWs5I+y0uuhz&4%3XKP|nxhE|s?+$dXdb_zKPW3|eDa@)_`2wRvil zXdjk=*RA!Hp*5%dx?DJoEdRF?8E?4<;T7I)tqpvfa!cj%OUu_$ytI5)NNlVWaimm= z?%7o(hA)wS|Y$wzyo4j(cCwDCF+qqL%W zgqW_~-hhCQYF{@X`~q!;TBX|ijbiZDH;F!br3qgi>a>O?d3Kpo@n#P>?QVwCYua~P zFkBv5S<5ZMg||@}@M2ZB=G6+h3~OVnZPxXjv(36I=S62d(7t2Z~bzpr#o?YmmK%20-kZ6(Bg(MrDn8$jL411?A1}>_{&iY^^!I_ddpDb z#zms|v}Sh+j^ni7T)HJPd?7Cp0?y+QnAUv9G08Hu|DC`YnXf&18K^{CAT*~{T@g{< zclF;yY43Dk4Wc}N;sHg!aIVqbyDDblBa5p1BXh3|puv?@Aow_cv4Z{1kX zr)&%Ql+2f(QQnSbZ%697-_OWfZhSlpbu@=KnnN9Fsn;CoGerB0oFPez);-s6y$H5A znp=c^?i><~(xiEj#H;fnFsyHDG#@%nw5H9=FD?IUaBQvl*jo4wzMbQ{d+?ha^D^ga z{*)w@Tk|D;@A7$meXaRANn6Kceiwb9F({;1G*XC_QU_Rw!+-DQ&jr4?YC)|IlNh7tQ};e(@8hUkjFmx&V@sC=2jMlm#f$ zQtkPA{ZSF;QLV?G-*tbsXrOY_Th0cjx6N;v-~Pnu9rHVMZ|V1Vc&FXvz#n`q`etSu z%^T_N;`>ym7?0{cFn?fvf3MRfgt!Senr}*NHgA4JUhVWDNySM{ADKTgf4CR-oD}oN zRNk3F%hr4y_~Unf2B+JcyO|RT;F>@C#OZVM=jLsnIBh4-%?|v5JK^LnVEyIC{5|Ih z=7e&(=C3|+`YWc($`yP)?H#&;|L1oR{w~S93*Roj?X>%5LLL%sK6^@L56SF_J<+`c zy;X}?!Pi1BX9a&)E@N8z3XbRXOj~msf86nxW?!lWfVv}8W}3z@LUMjmdmFq}Ptr}q z7#I=7?PG}^b{qfpUFi6D$+?|7;R|d$6^_PFt8S#&ej7r>-gYbblR)Vk<$JV0tmJoa z46L?eC4b0*efp^{Zq#6=P0tE2M^J(pw^@k;+bF{f+YrPq|F$~JRKyFn;855Iu1?Xm zTE#au?iZWR;C&}z+6pm0E$T0yro!^{cC0AG%+V({ua+}ZVwv31`GA7Vc!h*It(qHC z3Nz!KCSj*ZvVhZswx|&xIHEiN%{`p=*f*}#7Bzm;OV#BeeGUWzjG|5eN*zHJB?55T zwMi?Z#EXM?SE&@+B$Wt2O@JLvC=CGCH+76jbXsyQlTZ-=-l+yL>J`u88M`P}Y?+pB z)b}F$m~1FYJO}%DVlporpbr)(phZ!_coA7FNvLUTUVOT zj6QP{C5+v$+q}CBzwX$W-d&>G!t{6pa!YHsF$&4SjtertCT4i8Nk#_#ROcAwjXy_e zV~lcuOlKI?4syW@qEvqswF>BQ&y89Ic-(`ZEaA0!`NmucCLKdb99C8W63r%?JPG-Y}S=25L$2NOVjKt>&8MTm6!gyt|MQl?56Mv^N#!gG|cENx5t;qx!-4T_=v z{&)?4Uy=H)VR!Q1eT(j*P5zW?(ty?XXZ${$6lzU=nop?Uhrh%vlC;-)&nsN!(o>rB zDtErqd7n;Q$!`7U9H-N^{RSU-igfB~?TJ_T8riu~OMi{utB&eaMTp}Qck63B8edQU z`Z{-A>uFeSX9@q9bEvlJw>%vWkBWcGeALGyR3@V#B z5Y++iSLpDk#~)F{1$8T0@8j>I8`Km*t%PPY{=#oq$ahec`zS5vA{?2-Q3;Mj*Ep9s zsP`}iOWK3K<9Eva4k#MN*MH)>Le;$I`oaf6|Ig(`vAqb>Z7--qX5_q>JAqnh@MxA;RZSZ`D1?}B*@_)*}z z+f;{VzxeFaEgx*$vDy5>vmlk-rkY;<@WVfUuzmC9t!URn^a0?;+f?PT#~#B`>usu& zcK=)W&^_`NH)5!rXSKSwP{}n;litP%WUo|p&%gTen_%RxR1Gv2erTYMD_N;3&%N+E zj>VRj$2o%d_5hs5pm;Jg4hGW?|{|^+Slgo zf;NQX_2!Sn@i-k@%*^8S$+#y)rx2q28iSp`} zk3P1MwAZg>dKqMe~RYbu71ZhQJ>xX{udv;v1RjLwAJtMd!#Py ziFf#es>>=>3BYhLXLs$rchEWeR;jm>f?3F$U*ERv(?5fIXq75|1)Q)-z4I1(uWa19 z`QF$4Z%&gWOD4o`3UV(TVM zEA!La$oL>CsiEI&eL1#@`t7fx53a6KP3z5n*|KTJ$D+NkN>$gJKi>RJk9gjp-hRXH zvs<=r{$R(JZ8SIb-=VH}{pDBQef{NkpMLrE*I)iMXbGUbxZ%0iiTLUZ&;ODJIOh(` z=`DXlB;Q9X{|?pgPhTZ>sK$TsR0ZZM8#htZ5N*0ceL(yA5Bx5z@b}zgnTG7w=1*@9 zoy%$pd;2$0daqUuVkkutL8~bV+b9Y`1jL{Dc+01o%+GK9j3QmFuC%qCKi%@t)<13D zN~flEwW_1|DNxv>+52NU+nq~RTX6ni#%_2Ot%}vE-OcpsR;voS0n}D#a0vfKXmqc} z*?Y5J2BGlGwokjgXW-Im)&4~+cjjM;0RZ1;jjG%D#SY6h z90#mXZ+mg`4$KGhYoBfWz}8PuYgE&l+c$n@{`Iy^Wbp7B)$YxgUw!s99H*~Q4LZbh zSj2P`re1par43*dtWk|GZFuv=7hc*xa;0ljm6j*WEL)UyYt#pq%|*@g4}6v3>1~_- z3h`^&dw;+;91rcQKk&yb8IG#y>wlR+d5##y?VG>E`2g8sN7eYo=IuMM%+RV<>8R>< zZ2y7+t#efEKHT`}pXs>8QB{ArZTptL(Q;36y^gA$mZHrxE<Dp=Em(? zF(~9FQM>&;{;*QMPQ9CC?^*#`|GJykuZ!9T@9}-ols5Ao{{)XWKiJ5hGKSu*V&i$n z-m#`^y_?Hy-!hRYMalF3hxj^QYTBciqA0m zW&q|^fe=z^!FrOH6Z#$>AoOkSRtIF}(S+9V0zxbKc|rz0N{H#b>R~3AKm`DsvDC{3 zeQYz@=>$##Fz*(0Nqh^MSp;xzR%X{)5Km#NoC6yjt)R{j@H+?A@pFi$=sZ{kUQdYW z$IpZ5-UhHAfR(n%E0nz*f@SRhwUj^`0JC^@!f<`3;7xRbytfM=5r8#y!SG^_FdWb; zB#!igd5S;_0CVp{^yB?#&Jzf{09x|}M1KWG`XvJU20%MG04F|!asgsHJP2wffgS)0 z+j9|K8i&AJ$1f9F$@dHcVVDUqeZeqfn+c2nu+R}Cb7)Mk%Ev%$B`^lS!Y;v0|0Th4 z9S1doKq&ybIu0-4SHW7xj}cnQn+aJA{32nd-!%!@NCH^^ta}ov`Anl3O5g|pyE2W` z_ROGpfIvC`>zIMhgjxACOq`wtwVS{-02Xr{KFj97TFEaEGVp0aOuug)GKUFRP5`oz zdF0f(D0uUWAp0xdCo2+tY&fNl$=g0Osb!4N8?4uY!#cFHrY*1H=NbT5mX; z@&Ril-|Gux;D-n?{V89_v=Nv9U=eg8`t11d{*c zK=4`vVgKYl@K*9pLIyrTi0S=;Arns^4}e_^Mlx45G+jagCiVj)g##1W$i&C-pE8z%LpB%3f3Dwu z2<&VES(2@xms0kCl}l%T^L*ZhNrAya>tzoDNv47N`aKr{f0Pl8N&68}A8tvFtr)fs+6% zEt9)Q`i?BLM*(CAO=AXG_e#l3OKx zRwcxGs{m#I*q&-`;)kmFMTsf#HGD{7c86*?Tb)$P?UamKjx(6G*76Hbujly^i)kcN z^^M$-9cbaFBv#&n!^T$PwY9-xQ72I^Svo;cGP?ONELQixVnYusUhWYV5BBpyi5FiW zx4iEHACVNkD3D$0Ah%mx0l-HG`6y;<;6)&&qzv;hm?|BCsfrPp8X6%}{OTAPvGbjP zS|9++xylD5W{I96G&c>%TdoTkw*|;}0gl?j+G_fy#FYCpw}`R!HGBsR5INsyRVFhumpA<)YsPz%61LZIv$3XVm&8mb(@ z0BQTdOeIhP!0PrxA}&l>!_vc)eG*#;Q+g%l7p{y;tTSBsP=7TXqAn2t!2rxHQo*q2 zMxk9A1JDk@dShTDBv!#xNsI%ZRVKpVY$6$~O;a3MQjP_Lo*W`f=7Z2xtz4DZi5g`c ztEnNqopp+%{y-fpCK8x#0Pt&s?Y)h#J>8;c5=(7`=81E#RC!Lhllh!i?$k%0hu|E6 zz&1!nwLvU(noh$Qv7{&a~Sp%KOI}0;it1>A$xRdl-WJHdAR8E*Y!)RF#ysYdv!H1w@=rG zV1mhLaEPv5V$&fwwy-Ojt^<;x#PHblQFd5xOtgNQ5p*;$@M#MYs!z z(n+fiMCt65hA7<xAj z85@k%p}#Dyhji%Yl0&)=^$GD%2~PmX1Yi}3x>c<7ux_u!3X*g?Wp*@K_Xx{M(S6NQ zkLbS74yWpV!s60&PqW-~-K(rFL-#8-nyGu6d1UK8VKF(n_gO)%&P`&iR$Z~gt{&A@ zNNmq>7){IrIF+ySf&cab98aClZD;;PI*C=CMDxNafQ4d!;M2Oh^wXyil4mJE1OP86 z(iVKJMAEl}+o*5Ra! zAJO$7{}Gy6-lICK3C#5x4CP-VN!JB}dtB@w8M@QXkrlbpVYr(el>FT3xW*miHg7w~ z1qTw@b)TJ^%o0NE*09_VBF`MKTgQ$>qMaW}?b(BN7AW?{ka|HZbo8Z3cKCoo;39zH zpKP~V##JrZ&ZNJX4(coc{|q~s1!vfq*zQcbFIixw-CvZ;nRcEsvm42>W2+~!?CkWr zvmu#Bpca62WWz+06-}=~fG7ZVsL;-0Vx@(4?lMa*vh$VL*^?BP=P3$5^OPM{1GiE; z4~ey$vCEcN^I1C1t0p*FPcWbf$wW1g(pVEIm7lXi@4B@SWxU<)jKr2Y>`Ejy*hM++ z>LdE)exer*(y_&Lf>7BtiXnKKl-p(qrp(*bVpQTAo(@!6mJz9)pY35fWznpI&5qpcNdx{k->I?mi!Ckd-ovu4jd+S=`i^|Jwnz!M~N~p zO1>9I$@jT2lD~49{54#G<3r=+PbqxU+g0pfnv!GTkAhnx#RcQiF)zJJf(rIsnSS{RUr| zDO39men1srhCM*h2Mqo|(+3OzK$YQ!K%j#Wh9ID+2*X~P>5F4v;T!-Pk1<$GJm8Qa zSY|wxkeOE!TE~Y8t>m8ZKnCWSV88^(OE5Sx*F?jV#9|W>oKl)-2*KI0`>+9PeZ^tK z*nQYABk`+;4H_)EClO*NxL?4dM-3R&=A#CT zYSl4{XzG|D4B!7)<#7sW_P9ttGEbymOlT#)NC@9S2{GnXgfL@@D9mF;BFsvG*pZXu zbNVD%jXq^K0NJTiWVHB<$nzW_#;%k>->01PW6FhoPPv7!(sR}j4&+{8h(N!UR2U-R z^*kZQ5~>a7umDsWrX@a5E!4bg2(f?~N;0B`2BfrxX3KmnJOtN~hm<-YS||{kuY(XT zZ4}|O6Jo5W6~dNttt36sDx}@c2~=)FV*;_O=cwCvpBJnofmr%^avk1Au1~j->#Pn~ ztLz|SeH}t{N+9KAry&YSxpWENA%qy~>!GCf_8RbLlgIQ5`BH&cWiOeY?j_UFeK5_# z`-N&IA;!`!z){%+a@2J}C|(grDHt$B!_oYJkPaFY(p^L3$bXo6FLGFjpAv|b4O3c{ z{i8xWjSyq=mmsd}88;k6qhcId?DT{Ii_N~v1|OLnxI$4S%p!uKS&E=#R+t>NA)h&6 z>mVV%bC4(tsAUrUhaPL}SS=#;X!<-f5(> zWt0$O$J~twvBKR*Ar8A65zyXUMvQ>ZZsV6MZnqI(=TOpIo2vhwC581 z82&kE=;LzW-YXX%3V=1`8Zn=XtQP9x9xHY6fn!KB{TQWLd`u+PC=hcyPC{1-!S*R4 zc1)3A=h#s8Nh2*+X9+PDRD$Wrib~*<*OUmks{*mv5}FZir^#5#Y4SLE+GzQb`IVB* zxKbf&wV?$YI(UYNEa43GZ08vkKm zth$oij#rY~!&S)SL=}0hvs4MyUV)T|YGWpBH&w$b%c`NS?5V-Aa<#^o1x9i$F}&)C zVXY%Zd7UvEjGgtw=&C1%Ujs3s8jLw$v`~ZPG!mn)kr>w+jk#bPX(C3JrHSHdY@)c1 zHzTfwW{PXLS%kG=1olMu@TQP8gW!Bm@3kLM6tAF4~Z9 zHxXG-H+APB(XjAx8?lCn`jKwxwI1p<09M^2daXzFS}*llujsX2VZ2u$C8E!G6jsan zD53a%%Cx?pGVSj-9s?un0x@PT5F>7Y7`X$+<6w-UfzLl@2Z=K^NF2|L#yoINTqKq7 zA!3vb5##)j=(WIMG_a5h|HlPlMZ*+%>o9`uCol`Zc8?fM`sxuh4^9Fc1z;y8jV9&% zr11niq+O#$!8&Czev2Jn z5?^#P6@k?3Zo(4cvdeT5jmBLjEFqV65r_Ni7HH1fL`!&}4-lr2ujxxx;%mYQJdu90SaBy@%&NoQx25Z)({R2OB+$0Ly_Q;Dq1 zMww0{*kjQqI^$~yF%}wY!kJhaizx8bTByzn#Fk=Bm}o(9f|e@~%Z~$%mBx|Ji8zx5 z*Y_)jMCW+Mi_WQzM<9do6v$${&3B%75lWJ?8NZUw|XQb0qHdICacPLNRN2_bY@Al6lA+9z|DB0-BQvJhrTMbuFR zHe!!JY>;Sdp~!^m*};=!x#A>QElxwL-M&1!AogobS%)M&hFQ$h49jg)6Ds3pJRj zV)?aXXS$ZU#H$Y0czc7$?+PKtPc;jxt%UG#y9GvlTFGckt1y!z5WCV!frOu!Vw99I0>>Ff$_CzZl>Qt|A7#=#EKINBjJDr_jQ)8<7Wme)za z=5|3{>F+X~g{}B*vUR@Ogk>$DhZu2|9ur-o2dKrTdxU`ly@c4oUh2v0UQ-1crM(ou zL@x#4*N*_=`ze5eexXq-kaFOHsS>gs7syTD1=8>vAdRvCX!Hz_#>{}w@EIheG+PEu zRZt1NNGb=0D6+aCitNIWsTz!gVPYhW5Tkp97?UHW8ZdH4iE(U<7~^BaaJyux1>^K3 zVw8;&V{x1qK@%pr;x$g7!TTnJe~-(An4je`l2i^|Hr1guc$vh9u9)f(n(tLp186l@ ziPm@3)QHBRNi_FwRkfU)*g`;h6h+5Mn_dDrMoJcAzopL8=*^q&nzHs&k%dCm01@#3=Ssk=~e> zihfJazk<^_bQItzklsZ7)KSrs=GNMIC zM-yi*S{;N+!9i*)98@o&Q5Qpe&sZXb$Erghby9=H#u4LO95Ke?)L}5v4xzzM98yP+ zOJck_3Unwz9Rq7Ff#m!X)k|a()l6aG>|r%S=I0KJs22ocZb_72auOxjl!OEomt=Ju zIwi>}=J44RWZRcQ*e=2jq#g$Shd6sVK%AA5qL?LDDh!)WX(RHr~IE3^=? zy-=M-E3$|h9YsRI<)n}(J_#DHKPe1O3B=}4lJB@v|r9x#$ASL^ZIA^EMkjiWsb#z)e1y)=x&e2_G ziQ!p6j1v{asIL$su&)vg9$P7loe_vtRniDts8nYWMM4#69;u=zTB<0DplS=kNUo;9 zPgM)WCV`ab8Zi%gYe?lnEjc?-N6ymf#5}l64K`U%jHCu)oM;eHxHO`{{Tqd`EP>du zMv9`YQN4~R_BN4bcN1xbG>iUEYF6jK8EqzxM~jM&7ZWXHW~oJ(iESms4!2Uj*R@jo zbFGM9i9e^#gE4%LCiTR5Ud??p7DUsO%<2Ko2oWdx&wqM_mFVyq6f=y&}6l zVkGscE_kJGlo~9(pBMxE#JJv%4#WDBe*rCCaY6VW7l>WEKt1L+pzeff%>b#E4bm#n zGAP961Y$ccLX4ldC}_O`v5Q1w*DfMWC2~l0g@N87^bc;(Ni#UY>KSZP6_os zft1u~)g4k3)0EuOv|z=~5MqaCD8j56iqO(Nqwa!S^ekDMTZFZJOJps1NvNE#A$J#h zX!1mXSgMOX41~DaBc?)Ed&D&4YQGy+a^37_TumV4V@mh=HW5I6*&B>35Ta;87y2SNt`Tku2F+-Hxy#hWvJaF4wYqR-m{Gr9iu z4fGtx-W6Z^{Ow(2y>9@t!U$X>umHdU1MN*bJ1P+1%Z_kWRHin z`oBW~7q!2XhCcO}wZ zT0I?UZ^ufb?H^_bV*#pT?Q!d``H;OMi%KAcYY9ZCNwmkKyOI>R=pir-z?M=dk<&-u zZTbjhTbF82$(~80WTo_Ud&bUWSTIzr8TLV(UCf}AXEG?|sccwr&#{+zYL30a^rOeo zcFlv;@I2V7DX_=WqO2442XU&MppZ)o={T?5{#$qkO2N#`LgVChfEEDOah<}r4%^&g z-kxq5EY4&0DAAS$`*}R+tXQClGwJH^CG&Q3z)j91_JGt8dGjMLVLxIc-Jsd(XdI!CsoaF6*$4FV;4&HcD93jhcOV37e3@(Kha zE(o+@0<8e7GYE|Gy$oQr1&22R1PBlyB!L775FkK+0Pz+eK!5-N;w?bD|G#f`7nA!>#@aLA zd%l_Z&dfLG95&Sl>(&L!M=Rxuk5S*X)=aN#Q58zH#>cz9`b^v8+}t$%D$?<4e+$tx z-3z^XS*?{jTu)o-di+%SO4V99rQ2FoD*q;H_M~|0&;MF|Bfk9K=JBt7xqCb?`_;^n z^yh*x_4|x?boMi$fs(90S#OcZ_%{qVK^ zaqryb%<1l6B*h#b&@i5?pAUU8zM>=&j}7!$(SGsetlliyn)wYq5Cbsqvv~cy)lX=j zo7wwI0lkL#;vdbnjTJ-Uzxw1gA^h5l@qG&-@dq3I@f!;cP)>imgZ`hzn@V3{<$vKD z_+OvJAC|u6>1CzqZ{dA>tAG6K3lBcF_GkDhe%3$!%%bMZB6sj{Q{!v;d_nR3UVAY< ze{m%KNxro7SFgQTd3NzY%PJTa|NP&-8vpjvBiWNpn|q);dJM4A@N92E77ci*@~@VC zMalJ^fhFa`-}TMs ztny*;i{E@MJHhw?zKsur@lVJ&tg^?q9;*1(wd<|gMDv!cyQ>=GrR$%M)EhmTrf4Dm zN^h&S^3eL9DODTK*)}hJY{Rojp31Lm+^nod^5eNA*Si>mcZF*Jx#FKRzFhfE{eN0k zQ=+B&wphyDO7Zbuj(+-S3U2=YscMQJTK{rouZE~nO;ooo#rhZ9_sB@sjn79COiyZR zs{Ev}>Uq^3Pd}flI^x66k5a{zp$m^P)bM!d`g&IOTqk>b<=oC*N{xv(-t4LJDzDw_ zp;S@ace|DZ+iqtG!M?74=*FJ`j{@n>j|)8;lJT7U@2%wT(=qG!UvYl!R!=#bjL=z-^i)z;7R^7$P76%H@{ynq*a#YpfXzJeEJ;AOJk zdjL6FlYl=j;Uy99GBjS6er0oNlPL$t3*X(3`K4U zMWrbhn0WL<-8-suAM{3_9Q_(8Uh8kg%7pcGR$lLKl`Evl00Ttu zK(Y<&Z+&LH=Xy^_KhvH+qO?KyBMkb`d25P#I>!F`=F z`st4;;^UNiexd&if7Z)-TYrZ%F&Qv_jz8~Z{ZM}w-@$kPT>k}yeS*KhC!g!@S?^KY z_a2M;KKt}9@qPSdj{ZTSv;PV|z+WXg`>%QV*E#xc*q8kIA$}+x_*?u9{x;FqKO+7| zIr{I2=g*JvW9jSIPw;p6NwTwP%1`lAG3D=R!_V;d_*strd7>r%8~+=H4ch@ zNI?G)|A>F+Z*ho-Z~h7Y)XN&E|Cv4ffAG)vKZDZJIJyN#$-lradRadGf1_@lLwDp1 zO8a4SM_NpO%F3txtsh6%jTCQx#_DJNt)C^i{ssRc?*1jAzwB@QBZut2^73DE^sl1L zY5H?sf1acN4gV&ff5*Q|lfJ;O@WlWZd!RR4@*gDm4^zYc4RN~WrkOuU@xPAY*L~AI z(f`Tz{s#Yv-+ZqBiyr^4#~%MJek)D-Z{mN4|HkjwB(G`FFZBOV^8c6_>@twg^zRAz zeR7okLdOu3zR%^HKrZ9OXTBsWoiSL+m>Z%H8>}!y<>;X*I#A~+_U|yEA4bq{1(rNs zjZhLH@&%F4>PQ6^L5xxurKFojD~wPWO)Y8BetL|^87t&tNiaj=#CdUr@d|N8k41awA`vuE=qHkXk^)N+uN)(2vLGh2Iz@p+5K|SV8adMx z9EE8{4m4wjt!D`N3=+*$V42RVSt=$iD;7*K>$4SD1T#lrjuA9hVV1&NBdEJ(u(9<# zA)iO0`3fv0yjoxklJJ94Ru?L;2x5`KA|q$9!UBcGMvko+g>1cqRQ%q%3LdzwPaYQFjQfkvL~5nv|ixr+0j2p4&gc#9ply; z6zUW-EmC())@n%*MSE#%y)uu);F zvd0@u4TSfyexSE0uryF5!)Y(;S9-fd{2dD06?Ui(b)(|s*s0K{uv2}mcPSIJcB$kX z;%MKku$#k_x5Or)-J{T?ut$BW_o`U375mJD*sripVLxp-V3hw#A5`GwL6wZfhZI=$ z(w2T-MwVuU=7jjeBL0ZNVTB_Uf7A$}0WAtGq~IOnm;rsEk1O6YPAGi;xWWnbg>F?K zs+F2gDzF@tsbr@05A-SW;1mJ1iC|W%^l8O~fNm2+8+pzsoKZa!f#q~{$gh5>GWWXD zU*+l{vwB28{Yd4&h3D<<;@BQ=Nl57vZM1k-?1R^G^y^XZCg?)n9L;;6elzOh&F@Y0 z%i)dhEt!^IBl2qlT-~GHdCzm<>pA*uypFf+LlV$>MC;Oc|8wD;9Nz!>SAWk|D_(g1 zVyM^CT*cVQl}ut~WBvYHw8>Nb(wl0oJJw4=iJQSB8AC3q#Atj4K==j46ySb7Mr8Bt~mVYP3=o!^=D)%Y>Io#ui2nT`CJT(MDq# zTNct-cOtqF{-j4-rkF-`2)X~vmEcQWR% z92TRJkfSotT7<8K(BC9`>zImmC!er7wtr3q)L0xTq5GE$F@cj`LuE`iXkB`tJs+cQRvK zFP${ghheR*8*Sw+ho&)Vp61=5P5eOJH0})N+u6i?J8KxYgytxx$^>V^kaIK=vMFj# z7lT~1Cx@0$D6ODH7l}`cHl^zhL3XHEj=rQgz%DCXQn)N#7;Q+`R|I>7tXCCS67afo zeNEuk2*0ktV&H_xZ%w)^>S@spp}9dl&FKuxohsU@^i6@?B;PFsmQG&XR?(Vt9qSTI z7wdNvSOjxd;jS61_Y`g`+%qP3*Y}O22SWdVR1Xzc?(^!Ak(6r@k!$7X!4_BqF~q_U zOKt!|Ej;2vz>?P4I?oc5h6(+!7#W6JV9Ddv2up0r7fe2@BQ3B9Vw8nZM$%{tBP@(I zk}~xeBWbMAk0sSO3oK)JHQop+5JUm16D+U@qR>L25fryD-a38?2V$8Yj$?+kM(Se<7keB*%szl zAL_Xl2WN?exfV*S&-FZuV|kv%g-f(0P0zQGhWV7Xz+wm}wXncKDXR-DEVLvNEwZ9b zO2-z9*2P4WSzr;8B^Fo~(b_a}N&hVsqNVfx6EVoc@*|o+q%LTZcOr`13 z;&fdh)e6#7TBuC;p)_4r3ABntEpjVdVMSvkT`9noB(1ihEsXP0tzmVQg=!1@yCUfa z@pwx&z1oV_D!sT!a57~ke(i<&ou&|LH+$0{{WIWi;g{OG1p7J+a67wx=wy=fOtroT#4>nlQ+;qK7 z%-u%#b_*;*vBLsOgE)}Gz0q(s628;IPUFvAhI2PLW7thZlLZzb*<*oaS8{ysHLQCH z-)CW;Vcl<74~WtOgdeoPA{2)#uuJB9K2^OoUw40gZG?tQ9JdYv(Qf8pBLYsH@;8P7liu)xx3uS zzPiZ1Qo6&!MGGAyza;FJEnKp2+4?|Vk?K_oS1ep5_8Nsz+%*xGRDa#Vb+)6Yz9F)2 zP+y6hchVvZ6Oqo|_O zbVa9Ik9M(@V_X=`_%p`!p&l#p#xaJvFpl!ZC*+NHC7j207BGym7r9b)@rGY00t;P( z(%Rh7L)>&rHBR~M?&zpdoM5_0AVq|97>yJ#k&%=FY&}U(lZd+NW>|7uu_)6qlLa{0 z#jQ9)C&MeRrn;hSTq_G=8mrS?U=hR&7iKVAr|Fq4Om$(VYd|7?lX{j=&my3PHzcKt zrCLmu*)Fh5a6OSg5m%e>9n*7M(fwRhyD-Ovxuh;38`l_aJfSOjp^UBlgWg?YdUvS{OX&Zlboeq? z)TPTAQe7x#_b!+2s9-Q<0427P-GNH!+-O8siNq>OY;i|V8E3B$$O=MQ-O&cOUMba; zY)7>V)h^zDdXrSw2(*T-X^^GJDwj~M7FcXGN!PHhbgk5DSzYVG8W;F?l@xokj3V&~ zdDaQdIw~tj_wuepAlPB@s|#CP*h+skxIn6glmoYkzHQW3ZblME_I816C#1?iy4-q)Kz0yPL&%$|C|x%S zq|x=Rs&z-p-Fl}~cT)c@7k0VyZWn`clMB0DXmWA=wa4{-n%?We9vAky65ED-F4=JG z7ry=EJHS}$!aiOdbcw)2f;hx#GvjLlaoB~!W>_9^;h+mgWLR>5A2otnguaFJ$6R1J z%B$l>&H>>kPP%Z?NIK=haTiXd1~~Pe7CEO0;I4@FwMn&&EN5Jx&(FB* z3hAmIQQo}Hx{!vm#GP~T=GE@PITzYlJJJG(mF71(pkR zsNB6S8`jIDxWW~wG3=^gy(ZeP5q{kT7NNMo!0N))WZOFpXD8t|x%M=iw+!cP;k-?F z7sns}6OubFu-r0@J!fd|3e{Z#CM&V@o>cFV@;)P|%U)|j+XDeUprvK*Xo*`tl1QiGs2DGZj5k$sPo+%w4_+dZNWFxYV6o>9NO_iO^-#%MMG^5=KzYS{|FtQxzAp79DkfN~jLnWmunkMw$GPnjrnf1v9` z`vy1a+}J?v8>PE8nsG)cWZ5KgH<|V&<<=W%`EI?Lc~YiMi8JAwkS!u?EAypHT(}3N zeaDL!rO?<0L2PrQ!HsQf#C8$7-MGo5{Ygab9pb@8H+Hzu$QiIxcy_t5lPL^Zwp%RQ z?S8ywXflr3<3^Jkdnj`+J1L7C!ZtQnspWCLh7{ZcGIV2>9 zXh*s0n`vpe>vgjLn%x7f#w6gd01gwtfSz#c5jT#Qv2avSN6FmfqM?U9(;Q=by-DPm7E6T{Sn+s-#V+a~Zf z>dAMf?ucjHIOFciWc69`(K$EHx^a#^Y8M~1r+SYrJs)#N-_{r0IL}lCMPC&6bhy#M z7Ic~0`z1;@-oNa|WivLe7zhXJRX45@@{jtOJ6h_}*Ts(O6mr9j8*bg{1`CO=xpB!I zGJZ8}ktG4iZ@O`j?Z4^fEzj$f8}%)j{I@9Jwwr;!%Z=M^bg_De3kz|AzUz*9^gTE3 zxN+Bwdv1HTaln0PF{(6PnQ+n2%!{6emYo2q$lpNBT4DJ`h7W_&NXyn zg>I~1;j-(DiQ@z`j-pFk(djNdUaI3MiF<&8bTisYTzY~)Cy)qiPhq+c#sw57VUgrg zCQ5B0Ym?GZln(waOi$h=qOINZD~{kD;wPtLa(d5P{x2=)9p?52n6~yYmF<#rw)5;? zs@j-IutX%C)r)83*@z_1A$#ek==`Ull1JonukOy3#ItZGPRV-+;yFBr?&7FSo|3D? zDLEffNYgJ6@*+uJ%+cWgcy6wt@q+lmq(@&O?j@!LW2AeT*DuR+8$I#V6RGpp^;acv z{tCW|S90{L%#Zh?ie5RoH+qYTK4j}Nzy&(wHD1aA03Y;tJ(g5`bmr4dWQ!DJQ9}%e2oNO%i+m@lApKnwkUarC*kkN$mD@we`-mbidU!q zm3k(mTAi=_vr0Wj)CcM4!^|Kj&TDv$&knGs{WOuT3yz|QPtm{raraY zrN`B->J2kgrSilTdnBE`@pAR>SxPIVozi0Untm>({>O^B|L6Hw=Km;jt^TK5vg0iN zKIe26tKV5yBk}U47gdK-I9t6GX^)tD3HN*L5uFMCb~sySt5@FYi0FXiw}S{En8Sx8 z5+otm2-#gSI&>Ho!u_qbh~V0s7v`w$&$O5dnfZhS+hghO37LOBN4?yql}Ik>BYYm> zDfTNvyXcGP7iDJ;yqI_(!U&r>M?LRrHo}@C?9?V_;~e$I2Tc)nm?cjz>`!Qo@brcZ z`y=eDzIelKFjMAD(!AN(tm;P z;xBUaC(*Kq{vNr%m!rRr@AI(%L;5Er>MN?u`HB3rIsaXvda+hgqF&}tLy781;3d|c zZ;bHF{g=I{<6kM`UzwA7+(o6%>+{r0A?o`N{0Hygmj1Qzp!4_hRR5<5{(ZE@#nbQK zgIj}KCAd;&@jTVzk4sD|>LNVtHv8?NiuXFJ4;{jzZ=oxR$np0u9*1Pg@i&3PRiPeX zaLtZuzUmjFd>%uwo#V_wQt})s!CN4wP{PaODCR49a8g8#eXRP397{28Nyubl0~N*P zn7bDbadDTpxeY*taHqEvNPdCrbf zdLqxcQ))c%)rG2el*0EXI(olJ_e=XCa@2CbNaqR5LFG@jJ0fQ+hY0t{8H>du7COxt zzfe6DYmj-sgAJy~2&_wal4mP&rptwhppFssr57V|#B$ttjpro^U$n~cE>6&WCxzi8 zeUO-lwCR)_S4fLb6U9@Eh@7RcoTfA1IwRy~o>a}#l(WWE9$i>GGLioEdd)gdxSby? zQg2AVTr&NVI+)=8kL0Fbcp$+v8!hN$^fKd<#}XEgB?ekugcu8WIKhM)W#2cDwul@{ z+%Q&l5@q^@hZ4L_o=Py`M(SMY7oItInRBD{T`Jlcc6^J~>(u28TCASqIQ{Fzs*k5W zBBu+K)8>p?tX|4yfaAFU%W!L;f;cmJJQEN!XO&4hPqKI-fJsC+25~j){8O3g-zIutfb4ZzrEGQO{*l z3e)5)mC_U;qn6?&>RIpAaH^L&ocbjkvCYo)C8}S)<}jPbG`3{1nHiGWCaG;=ZU5uO z?hi{!TUz6Mf2n$_2OG8BlFSWr)l6LPV569-CVsy&W2x%Vqbbp*h-RL8H^KM$0EEG} zID3{d05>>Sma6Afo#R`kUP4WZ`iSu$bHPkAAEittl*!!We0Q08*%^lM!@kFW{Tbv=~>h-5v z!c4Ss>6XjgzvNgy)q`D>RbQ@pzf)z*s|quB%CxCWJmyb1V3<27Pg$PNQzxR>&XL6N z-r&5nT)me~KTVMIp}`a;F~45U)5mgW{&Mv#{#;zHdc8;Wb6q?`W&)7e#1dDIWDqUp z5T#3emJC5A4J~F4nXh=jD=X6z*cJ)3$$n%XMKD<-Z? z){0TdG}SaFteL(#Mb+IUYsG^BqKb@hMb7#v^|kDR#~vsMOIFHwAbo|3zD^HZbIEFk zStTZ!u2VX*N`en-=9D^3dzexpq`>*N73v$$jxmDAgcG@;K8(Ul3=v)AY+a$g&O6*a z`6+kaT&doUkc^p@@q9+X$1F>N?AI#|*`k%4jOEU`m0YIeQ)VA4KdfgbX}VXFnRR9+ z7Py(KNV=lP`TJ`10(JbJcn|T+8W`2JNqXi5s+oZOlAh`5S4sa`je0@4sLt%|*K-SN z=6Zqi;~Lc?Q1GO?i=4a~^&xp0Yt&2pxl*J0zmzA_oZDs|0CDe```Dei>_lTix%1(w zggd#rr8`^ArZ%~~O}LX=+Ed(t@Wk72+}f6zPn-aAIr9 zePf~KzLcjgv^vi?pIR@=Hjw*GZd9*u!^hnz?-IteRMaYWK3=W zKPMe?()HXg>EEd}?*BY)vC7{c$e3zp1!V7Dxh?QoRhWc>rZt)hIEGXDkGVw z-fPt>TY$0oSe1lHP!4)TFVgL>@=-a{dBYOAO~_&x&+ug>1ayF9&QZx8X08b zgK>ixI)A*5Om)trb*f)R9hu%#jn2+>+>o?6SJtWbpQDH?M#R;0TuH}Oinx{%@tyS? z40X=GuIB`XUN?zt-7v2k z=94;4&KMR5?*i7$?Wk00rL5IH_GoQLFEmDVI7J)OAECvJBT6ebrZ4Y?@@`m8D=G|C zt#fIE>XA{C@T?Qq$aPzd^Xf+R@>5lz_tW$m(Xgi509UD@sB!+D>%WW=Q>k)>Z&cq@ zCC>JZ>h&L0h4hYY%mg=fi%t*eox-=1YIb!4%Z_en>}GG09gsMT1iOV`H%%{2$O`GE zZfNS(n>X=2g4#o!1qM~(e6or6#a!o?n^eE2a>c46LUDu?U1sxF>{M=2zkV?{q|XWB zTsN+mY~C7Vb`jW4AY+d6QN4P#9}%*;G>A(HL`Yxm23}w8R;aItfGb9TS?v@%v+C7< z{k$Ng?{{OaEbTr0pd0RY!-H-U^+UtnW$Q=X!1AzLT<2zxJvYPXPpBd1U;_KlB0VGn zEQ2%RdZ^G1HFQZe|Fv0dd@(PiCkbW}G51p~AkZ-q#yCIP!WIyb5KYAN1R|toWPsN* zG79xf5irvTNQz#*MQx51h4k`_L<=f1usj15854D-VZU$dstmAH(y|r8z9OMNp@y6* zQ*_lCU|C7J8lkIsLJenf23BRr<9e$NIUBqt11zg))u**WUrYLAmxc7&46G$N)3Yh* z>odTzj^uShU1y|oU(RmU8w9c;Lk6O0R!vB6%)rJB*^O?>u=s#MhMW>`aMd_J<8xz~ zon~ls+D?80Cu4`RvO)E-J9$KvfhKbG)O#|b9nR$j_3j%Twr&>j%^6(9+MH#FrFNLL zb~_cj+HHM=P+8{v%{KMccR8b4GbBfSG6Ss{IGK^7PZ>N3PiKJFr!$f{>Nb(qMrm!v zq&8ch$-o)f!1E--LL(1S=Cf>5M+S2{mom_iflCy5+2Gq8KKIs}ra6DMUA_7i1>DZS zZTjwQ-9-XE78ufZGQiSB-`y2;cj>#Nr^q&!Y+onaqYOME+d!Smd`cgyjAJtsEV-G5 zdI&)nk~xr2ubDftj()IR^~h?sB}{pv(;e(k&senfk9P0@uIbKy?@+6rZ8nYK?4O;9 z*?gy^r=DYyHC4`^H>x*OzVo|A^~!hi`FOP`D9dE%G8}B|l1wbgd{g=KQb8@vd{?#F zJP2PVwPl%u(oWgY1|BYCM!VAWase*SWZcT6Ay*r@6`;;)fmTyyXHdoo{ZJ#2n#=)K z7a@Gd!1-jS>Y0(7Fw*&NR@`}ZwAq=vQ}rX4b6}_XP<~(7rCzr?gL)_(&8*3jVy;-Ga1iMW}-C{Co}oTMkXn*>{7jdde!K>8r0`9agM%7)9oUz zod$LoR7X&s&%}A6y6X#qxTS-jgZuMr2dhciAex}T+2O{nPd$TEJ(!)$VBq~!s64WE2_NPqB%|dRLpay3V zH8^Xa)to{N$-)q#e0r#$h7#41Lgi&K+7HW;M=FMAVOW;)+a~o^23t5fE85^xG^uwZ z4MANfe1%!ecp1LNNqf}G@6_?Sk5w1c4zYb`qn?}v7AGsNrwGFoDiX^L(Nsg!?EG+# zdhs2xjGN=2o@t=_gL+mLSZ0#7SXhh6DlIcavkg&;Q%2UOTY|D#m?uQ@XizPQWICVR zqrNF-FUg8lIj`+yJg5rlDxs<(RZWmQE2Or9wenyp9+U_5NAJRAYa_7We)#KSRqpd8cH)LT$mJE%JN%rtQ)jLAOR#CF`v0-J-clW7hUZih! zWMO+2c4SH7H&Zv7S|jD}%wp~_Zy!f!jZ?8t_4*2h9L&N&_Sf6`kVrd3U$h1j@zS|X z5^g*AOlx*#TLReOd}F^F@WT>mV_O#5vMTf$;X6aVQX0(Xl!N-LK+a~#$V>$WHvU`| z=RkWF&SjyUwwxED^TtCaSR_2NV?P%Q#ir%O&h`E34Nq}UUngmAtI6qefOqvK=c5Cv zcT76wu86ox5siVAlN$s29-(wHhjte3({In~2U#HSLDon5q1f;!3lFpKDC={b>p`wZ zju6Q}&cUAK#Sl-lDWHe4ilLqyo##QGM-TIG^bYr6hzG+xu`l!p4~BU#g7|z7SO$Bz z|4RxO>7kxc9*p#06bVL)q|wAT22$%c+Be37F?{Rvc|BIB$9XW;gK?fu^?0EkPwFSv z!Mec17Ekb?z=H{%k7K$}nBpE3dJy+~u8TY$ zc03>H$s%Hk2a`RRLJ?Cvn40ni8KxO0Oc!C(*@hV&%<$-$;)Gcq#HM*L%kzaU_F$$5 z#l+9{V77UOc8+k&q5ArOXr!dMqNl`zxgL~|a-I=9U&!XOy1;`49$hMe7kV(ygN2m4 z$b(W377@MJgT+Q}nJ|=5ZXM!0VMM3Dq7{8woWcp~f>P zmbQ)}`tq+{<&l84+JjXdtfm{+czCd0>%kfiYCRw5wbJ-?9<23X9kJ^@)_YugtoO*$ zqc087b%uX~2X!87AjL*u*yO=R4>pm%UaFftsP|wqv0FUY!cL0GN{b1;fZl3Mrk5Lx zTepdU+t`%t9&GpM9pctT4;nmZq+54-u)~9$MDOx|Wh>oj#w?w-J0++|H16@B$%8$l z+-v0S6S@0X-S5GEkB%J>!3RCq>%l<^KIFjx4-OIE>;cPe5o}DPWrs!J5f2V~aD)^` zMbuFeG(4US9F{E}<}r?W(Bi={5*-(!<0N`wgA>#zJkhFvZsqvnA^{lKIP%F zyr+#D+dMe!K^q-)#)DHHobcd`=gVybna_&gvlLuo#z0L#pOcx@?!h?^+C3lY^J47< z56*jVfpRV;I_x5yo<>B6uy=T3gVNRpl3QPjxFjMjdvM8v%M@`%L|paYiU(II;u=NZ z8he~X*Mkv}Oo*H~NM^ZWx11dbCsOovfEXp1$P)eUnf#=5Kj$%frVdpVzlN zAoMmTa+m14<3X1Pcc|~K2X|8wnPdE(jPd&(-1Fc*efGdeqR5BRg^xUV=)og)VXjw# z-e7hb277rh>;+3MuZDUt)GPO&JTJ(c=jF7Lmu~bhp&jOB7A?Tr%y4hC)vregYy`RT zys)Z++f^+zWM^mwU` zCrg3E{RwII8|6C%G?{k#yZ(*v<&Z%p%I8hz7KPZzf7#1(T`k?37j zlDHU@Ha{TkpCJS@D0ik8GrjgvbGA22fU~@V(oRrxU;fp_UQUDAUKD#V+xzc&j+Z?< z*NZt`%=Pj;BcU%Lee5_Hm`4ogd0x!(N^qO+1S z8pudXQndr`3NNa>SiuIZWbT-gW2HB> z6$|KUFRIO`sPTeqHKrpo^(s?aMTx6P5c5JV*LbnU(AIiEaIMgCR&v)G`=(xNIM#Xx zT4@QuIs;fofI9(LZvg8F$V>q044{qxpJ~MgX~hOA+UUhbuihjrt@mP+H->sbHxte6 zV?b{a#8xl1c(Il61}_?nS=+oI&9-C{wwu~^66_EH$W@~kjfQlm7liIKr1ak|(Y%WU zyS>=$)lJ?g^d2voyx2qFUba8c{rkMw#{uZp`=zH2c(LD$1Ee_U#X%$YkQaNsI3#kD zEX`gt87`ptt%YKb8Mho~`x%{CKj8(7 zU|PLsHNsAMams4XB%IY;QSOjt1i|dB- zh8I`7xM4Umb*JI%B*9I?c}qBNv3lDJ7D04*(dCUv*t+AzO)u^kR<1^c^e$%!Zw!2u zo5TIMU*D7Ae&36GUfkz!f57362VQ>~DLC~W3d=(?^^$$_NP02Xher&(KEA@^!(g9; z-XY9MV~CHTHZkvGemzt`LkTK1AO`w8AMyO;H%UVe3;12KEws$MWIg@i7`bqrkKX`;a@$GkUq3cPx67+lYDXQ z_&5{O-qVwPaD15To2aJ<+Z3`*H*C}Wda6(E|5FK??5EAsgkTySQRGi;1B(25I-%x< zIm3q;#w#;@n8}N5Jfn~j{~!yGnHB{}E%FxPOF_@dc*o)0BH z%ww<27yZnI`}G1JSXtn+JIz9~R4gf_B?ZRa1%AEIhlLc8sTU>ux5y{!KGXQcB<{l& z=rSKz7W)eI65(HB+LiPnZyZYnxRk&K!@&LPGSP2X%Y9&_oUF@*YB{MIdBFo2zpn71 zf`cGUR|=|Vxq4|Tk7>kUG)fi$f?KHap@ z2ddaeO`8l0M_9cN^*)(un|&Z~voEou-QtT$bqh(i3Wd3%dm0SwHXjJxCbZ%TirMbN zb`Dfq?+}GMeDA8xlm@!1k*KiVDX5)9-AbW$`LK(qY`t4hyNT*bp_*boG?}5lM{s+H zyK8W~7wq+6FIxw_Pf+{Vx;!%)I9&D{8oJ_u4+luoQy=t2t9<&9P#$7y=*DKBKI{Vv zi4Xeh`cwv-WJiST2nFW*&H950v7-7IMAFfl}4IgeuP+~-7G&QrbQ%G+5z)rr& z21tkE7Ts3lm)*CV0B7ji0=!KRadpNujr1(KNPNeKJ3f6^M*ck?*s1pjyifn}EK_J6 zu=`jPL)NCHP0pK@%C7Wf!HM#uaZL&R7=#u{Fy z9qMP*pBk(Sw7Z^bIOmd}#2*u-^MrLC>+}6!5zGQV78q9E6nW1pHLSK?Xjm7L zV3AR}SU4B6%G)W6AeQ*C#BeV4W04-~wDYP4}XQ776q_)+J_25Q?V+BS+d zGgr6?+$03`er)oio+37jtj+AI^5ov!EZVmS(N;gU__38z8vIu5Jv11j>%4lK@N6UV zc0acJ^$u2h%O0-L4_-GW9l6ugc9LwDU-m=0g=;sfO@6QlVviqtj34*?sMYa_)Op@3YS z_2aBja?TGz&k1SL)OJ7GIXR%uOWV%V;anuL6}&fG@Z$neJ@rLFT_lR@L1`e*di?0{ zOSHcf6Wk^LyDCp&-DRm==13dP$eyOJ(7|qfRe)D%#x)Kquf8tT>#W}Jp(;U~GV|1f@ie4`4h$2AHM` z41`)I1fmx6uK`R5pfK=-jt4+ooJ>Ul6dBry0Z_oiK=LKrNn-van$JBId$QcCodBGG z9H2}ls*hFU)l&jsnH(t8Q-ykJU?8D_tM%$>Mm5={2QZy%J{_A80HHGiKh-m(U9$q1 z8Ne*It2p7fV);N^l6`gnvjcigDqlr8a|4)b9=6@pUfhM4z>ME1e}78>s_N_c;90E+@xOk@RRAjjpU3n{VXh8fWdPL_ z&1@d;kE^7O)Ui5%)ly@YAfVS6?{Toz22e|B&}#!AaBbi-%`EP^K!uiku;~TnmRZ)b z7dA*+Hza$(7_%{eji%2w1x6oNz1K3K@4FQn8ArRNw zQcAW5!0YVS(aaa$y()b8GS21aN zcL2Moqe;Xx88OL+7|OhQPav_A+8e;00QLqZ>U~1CFF~ecwZsEmuij6nndS!qIA8|F z!2nqH(+P(JghOPJO&t|Bi-_hxfA0StKlNAY)rXA?PQ)Vt95EesG|^!#0UQmWg}r+$ z08$;}L_97%cOrn}0h}PBHGtM9CgMpm5l;nhGJsQbwgB49CC2A98J}E#8}{n~To33Qsi{RdodI+jIX45iDJUiv0{WIHzC}MK zA|L5)2XNbXyNf6@%kKoh(nYu573#aBPE16$^q!b#{g1_v=D_^BQmWMAe5F*Jz0;KzEHV21}WEQsMG9>Ft9 z#@-P@6GF_`&krI$C;@h4&;;1ns31lLF^bfqg?UU6qk|Yj(PM)c%lvIHFFMVqzke1W`gA^F+)%BPKZ!iy1_N ziHW!%i1|S*2u{>;Qi{?9S#lzhZXuy&A}$JI5u0c0#X+zvq!V};OlTQdY-3=omZx9R ziA#f662#KrhkBXxLwOL(f+%OVEN3TTd8!LZUJ+yxqcVt!AS&sVDrz%Bc!g2RURfE$ zO8T(7u1@rEO%T;V)KJ!{6v^r!R+FTMj;%@1@JM`35VfRP8wAPLQu4YW*3lR1gP`d3 zG+qwxQAgV+n_0&j+J=D1Yqn)S{g*yf!g7HU`@jdWZmHLkP_^L+idr z4;9c*`^g6$=u$p4#IGya$g?qw-{c)GM8j?A%r75!2pFSQ{g3 zjIxtU>d`_o#>QwHV~8DV%l>Pu{bhI_XJec#dxr5g#@os7jTDH&0xIOOAUnCsqbJxr zrz^BE!A2o1ira|WlD8S*skx=hvYCb{HVvO`qu9o563wwO z%f_5k!{>^K5*u@Eln^_QA}C~@{q5LeG4t(ct4A*oGZxT{QX8e*?~Ck3M)qPGi)<_= zcbScaHs;$Xv%j3MslMUuC)^hrM0HEmSpQXs+j_Hn9CV9~%{I0WxRqEwFXqt=HX2MnZ?i$*wxs6mrna4wJA?q+W4vs%(P(IQ z+8}tRp|$lcL%WLvyN%Q~k8Toedu%k>*hBbU8+#4oJ{zRjmsGOf)b^9$fDk~g4%#?q zNDtW{^pGKiZjKox&7?S-GX01sIcnpGjiZF~nZXvrdCUfBjwO{GH?`v=I3Wa(t5zGW z_M0kApR_^fN&8(TLEx0Q>=gTm&rc*e{ ze#^!!wxGMdooE3cx4mtni!Hb#PqyB*amU78`(u4i2Kap&_iWsc5&b|W^n+9s;^28` z;*E&Che2N*#C%Z8+#HWGH<6SXwj0#~CIlAl7A&d@H>M`YzVv_ z8;a|3!ZnUuR}B}L#)mMTOwVgRDqcXQ2`Q$+5O`fkrnoT0$<&!*Dhi<}Bw31yA&JwI zLWoTaVGk zQ_PGINHrt$k)A27pB2K)5M~j9=*~KwFPx`2)wQ)k-T4k8WNQlV>r52g|NzW_v#Q<$Jljigk%j# zN)z^SgC9a|NCx0qL9HdKEGt@^rPoPy9h<&Bg!Lg^7h#lH|&>g zIS|7B5DrlG!30Z|J`@744-wQHijK+Bhegd{R*!^mghxjquuwsB=*v(I~ICZwaKHC$E9{W#OF`W@{!#%eIgWX=LhKo+DgGEL*ngIQa#1$=@3qaz`rL# zsZd1fHbJ)$eI|r6p~vZJW6a# zUnkT|+Z!R=Fs|=ROxv3wbjCusN!Q;Bfn>KhZ*Pm9t`KgA&_%?Z5biuNZ||CUdoP5$ zA>5-Gi8s60tq($YVCLdOqm61G$+XQ4;}OGW_zOKa459{y`9M|}L&7q{hlUw{8AHR# zc`Gk|A&(y~$TP!-GKR@3X~V-97RK=K$9hDVw(&i>5n<$qKi4DqiW)|SP3Se#b`%Bl z;X+%F4ujXD!-ZPjp+sx6ihNv@3j|*dLIEHbg8gF2nw*_JFx`3bw!Z?A9 zb>=~HHnA{_!m#vdTu^bM>J5rhnlB<2g(ZSd3}a%rQcn_!Nu+4VjMnn2bW(NLbiPf= zS0bl`Ic=wgF(r(tF+!&iZRYLtFs6rP-p&Yvz!~Ahyq#%kGf6p12q0I*VH6wE*aciwja1jLS{ugdF!;A7oSL?zUMuLeM6U~DT{!l{yv@tf>%&;jKKAK4Qki+X zA&d=dH}u9ZHnM9sg+bgVj*xni^x?f#Zw`Z{o}euvdkgzLamS?-wu*Ba!q^%{19ff_ zf^BSDewNugd1I2k?8|+--Y%3o!q^_h4tljw26v+jZi!DjWg_efM_V)WZV|DYviLeR z%dRkXhEpFoO3d>;VeB!Tx0j?$e~0wGF!q_w+n?yX17YkB;{esf4u+%L*oSd2j6)RK z9F8_-=)1nI0A3 z2})`;#-EhxNmfsV(Hh1n&cEZ2JBQ?_1%I0OwlLblPxKAnJvkHR6NP8PI1|QMQk)ag zb5zcEp_SR(bCkA+d9ZVyjpRXn80W*dz&2hCqdkm^;p8T?LmYi648CH2Da`!GW%2ao z@Z*ixl`yUtXI)J=>slCB!?;F4*Qt^dHLP!h!E&8ebcz+7#tQb(O{v{vt%2`l@oQkD zZphHL3>&Sx9mZ`Vxho<04#z(~aBzpB?}kCLyWx-YJu&Zo821<*iFgpk1CD~!!s%gH z7EX^COc`0JKi7Q!fwBijFgPMnb%=pb?a&AVFu!y$G=jXy7kXF(L=B5@10TU~LpmaY z7zK=oBm=N~1Oxf}a8SK@`HHK|kr9lH$bxZHM0`3rf>9BSj(o1i@cSop+nC5>w~dWp zETwkW<02Rrk(KHA2*yV$b%8O6$8QrNU@3?&_a~mA(S?y13L`S#;)aMC`H7Mu!#y!^ z@q(Td0k0>~a3=yMQla_H5|U4j@QoS6RiB}!MljXLnHB+o(}eV#FyCuUIA&1q`2v zDuOEdGPWWD(yySyRvI=svpRxmBd8_<0&9p{MI2U9nY_$soVhxJ)pX`ddW|@fALLmR zLG6>iT=W0LaK(44Wfh*+hmd0>TzyNIXNsLAN!6tt8_Y=@J({y)6P>ZzKJ7_J3l*upoddkESq0`^jXyeDd+#Xe&) zXXO3}BiMlm_?e^wk$=|*BRI(R?_+Nq5~f3(dF6(wHLMe#St@5NjxgPQB!a^c9Ep6U zk48Y$QS!7HvFxv7!hDR()5+Y2hU?=3IZhjj4WuSRpAg6iLQ0GRauy*s0 zb=ms7shy{_7a~z&FADudRy!hKIUkAfbM+BiGU4cQ1Q#N>%!bI@URMn371CZctk;C~ z8mreMU=hTP2yR4Vz0?`O)d)I8srX!86pY{|h4K}`Tjb+WHJ_A(T?7G7{Nm`C>|N{WX{b-Zni8G z24`b%cBLMY4dRAm7wVze$&r+ojl66b7%LdCB;>HUI<0(9G+QKndkj>l6glrUK zV*>vfwOAq9QJ5{aEVCk!KVmMQ(uijxo-NOO7G*Ow7G)>bA``Rey-C^8{oS-9%nrp& z&IZe*Y)s64VlBdz$CPYLp^Tn-sxgz0Y1x>@mbmrwY%U~YE{L zV`esHQD|{?w62?;EjnhiIwu=*vi00-uuxiY_Lr+hl9dQq3ENSW!L`Udsm;qClr}X( z)*|z>qm$G10s$_dq*7!2LaF}KLe>{$qcj`*J3l+MP$c)HDz6QR|Dsp<(E$OK6Sq7Y%bjz6YYJZo9vrZKpvF4~<%b{a2=ZsD zlN+@DTFrG1No|qyy3L>E&S3eesXl01Q(XK!-LJAO`3}H1`RQ`X?8gYV|~+FoVKT}Pt>vMcb>6+Zaq^lR$h2nrm#f*ofVlc zOZk3vzO&?6YfJW%%;u|C!akyh^=-ZZyt9Y(GJmf1u)6cd^PJSG-+0bi;8M4ogD+S^ zXx`txX!WFdzn7n@&RqUH({A*wXV!uVUQ6_?V4P^JKK`OL$od0?{7CvOu7q2h*I%;s zsrbs5tvM-k`88*L;CZWjOPQZ_7IRm9)oSO42I`ZrP1pyhdlyO1XpnxD#c}0++ zC>ueRvX?B8AqXl6|L=2NO@p86hv&KH+0S#%9q%3Ic-ubxu03k`d&1^7zb7}{iOgSb z*{iqs>nSonOe^87t@ys2wj`q{y(LOdfnE4MOqXh3{(=1SJK9I}mQ=mvsL)O$ZQITt z*gY-$PJSY0j z>p9^x^*QWwwYCZ(;uGHcp2xmhtG)j`cCmKN_B_eh+MbvHe0P}OL)Sq1(3N5dGE*$C z{;wP=p~HuME$2#7ur1~{@(#4M`(KtH1N!O9cqgXOmjAN6lP?JfADr~#`>1x!|e|LI6iB_Gm zB#9%`VH}~tZAUg>9vB4l#6}UFv6NsnwfAl7HAFgxxmDKf5zH zu8H+;t_j1Fbm+4+Zn7JG>jTky|N21wp0p%z%%)1wo&He%iPWXt{!ng`E^7^&fv#vN z9|28j*1rJFYQNhePcMmQFD({E%76G+#FOyx-QZW*+CP?$%XiYnY=4*tuth}GOzCRL z+wVCb57SaaWNP;gVXAzGFg3bE987dOMevX9lnwte_^1Dh;BRUF`m20S+M_+QORkrK zHK$L2;21{s))m_i0`3vMbIHfA)|+rsjDM`C(w& zsE54u?lC?NFHhqy8LCgrK43$ z1yAO7?UOf3aoVMQpPyUyDVPQf)2oY}9p{8_+Y|d`Pa3qxga6~shAF*I(wRlO20p~Z zpng0=PPj8z&x^^h&kKXKbdu4ALgY`D1dmCn+k}Z7p(1!&=v_-rw#iWWz|!E0b(Uf} zr`Td5WaHf;w(BgdI!n8b!fwNa$2YXX12_y%_|c)IM`!8MS$YJs8_Xe1Iw*g-B!sIv z%T;lr+ItWMPOvo}lz*lyk!aIf+UR^^`(~`Xdg)niMsJxBr=s7+$pI)qciexhl#jvU zW1vcXIbIBOmw0*QQbYJ*lPDxMCx}91B#1&ZB*_1Vq4!Fn{Ee^P5E;>=JD6(cN4)qw zdQ#4u#pFAfWJU{tkTj&7Oq5^3OkSo#XeHa8ICSrkbk1Oz6P}(=5}pE*gs1EzaXy+r z>pvVcSo(yOURb$dyO1iseD^$rTk4q5#Diwiz+5IYlAby$S1jqIFq0*W&Um&} z>GF@4);7mv$q^^R4H@X+0_|wVJ-bky$xC_$wg9!=8-MG ziXLvs{*MLnpvfs7!?|^34u;y`c4p@)vo1<^YyxuBFYa=;+*cGd7hNdNTJ#b`M6|E(6;2` z%$}v4$-l>y_#TyF$ti%V6WT(7T!Ey@Pu=a+HJVZ=`z;A?w*x+TB%Q=U=oDinHu)my z6bYTtBDk;6%*Aq~RIeo!%SV?e7tz;dr2JtCl&7?u61h&E57s@@542 z+j8tUWm;`HTEp5?72q{$J{5vDRRLbRw!IRqS*^8FIQ@2&aQbqUI3ax~S~kBb`K6_Y zW4tt6i5G+0wXquE^~bfM7%R?`w(W=Kaq3u-Ki=;2zz@%4-(Eb~NLM zOO5vD7Ww89r|HY_#tb?A_#&K6Y9}tDbKJGxUAm`p@Zv{;5R{KEP-ewteI5=)i^Gk|^*9ITw%X+cm9I>{T6|B50{g zRQRDTQL&$Q-CHp{x9k;apLQdtBCVtwXWw$|=^hO18f{Y#26ls1&?AWd(<_L7?v;Ow z4$bZrCYyWjHHl|CM^{iJ%lcumQ+uobp0R`n8x=y}h074=vxQuy0u0*{2JD5%9u$S( zLn4F!8p6Q5tUWt)kCkY;CrfUAFf7XHI&3dz;E3Hy^c7)c{K|hU=bd|8cwuoJ<~RH9 zD8|*aX1*#nBD1cm!Z9C1f6r-q#_s8F{QOTA7kRCl{lKu%6#dbdlqW{Z=hMd+`)jhqf@0k=imUAIM0xE5KZty#c!qU~o3 z@=HrEB=S~U@>Y}YXo=J9fqse8?rW6!FD2=$?FG)iymTzzT5Y*S3bubL{2{s|3e}N@ zmZ#(ND{j`_dRWgNMC%87VeKtF|Dl2ta*&yShSe*yeP+H|`?|`1!8@HE*4|h7_Z>d9 zK7ucnah)Q&WNPUu|I+FVX}Oo6=q-u`vn(cK)lR%*ul1-Lr*qBVz%8qiF@-)({L3x( zS@5b7CY==$KXc$;!_2jRa^T-Egx}HH>%hOHhG5!mJk5bnh?ecZA2meYwduegcq~M6 ze$?_`mPeOoiqD1~gWJb2289R~r23ZSTl84w+b-eSmmN`+WbLPp+@c14ZZlGQ-;saq ze#G>Y)pw!vjO7`j^sHU! zmLvcAH$eV1Jtun6@@vbBA36U7xaKr8lccYe?Eo@GO@^F|oj_>_ECW|L*pxA5`$`y{i=`2))bmiL2kuS&6e_!KSh z3SZhc@8eHA{3iTuqq}!dv~2&#d52{OEo;A%oNm95e{Icn=f8pTw;%E6T`n@LSFc$9 z{*m)PFaulaeS9rW=ojzfKX?Fvi#haZSq#jfFU(t(^VJWcM!u5E*PZbb&6j?qVH%e^ z>{piaZ%R*Ue_zg@0?J;_pKyB80wyi`j-HRiq~mx*FS%H>S@7<+xI9VgvnyCc8IRqG z{M7yYQS|fr`#DVo|IhmojZsUwALfi&_x=0{T0~b{v4VfY8i*&C2nppcpp|d2x-g!y zVVZhOSzn0dVKF^Drm-)Q?mW3Hme7H?F;^^MMtXb%i6LY;E#{Jk4GfeswBm3nEjMf_ zMJ#72sI!;^9m53^IoSQ2qxFO7_G=k@S@H4~W{fPO^@i~lI+?E&>j_t4x$r7duY&rP zyQ6;#Ep9HB9ImD%hhK88C5`hERvgBP<~yA0BugE_5oJV5^|Y!v)#`$vY{62)cvOUm z(HdxZ;a!;e-f97>389L~?@6>pqP4j&=RIz(fsPf0FNr10v7B&=bY~GJ$^^ZKIq=(H z9=G^0_r1LUSWo!#<%E#|?goI>1v}jocaNCzz6T2ni&crYIQLqqV10KM=fy*3a@$WC z)6Eci=43aEb%XKb`Occbc=AkQG|hdaWdCTz9?uZwmS?m^?-2b`r$u^69XrJpTBVng z8xtfa&l1@#KTzzljKMS!rQj=Q%Qq z#dtCFuo&;Wgw=TQ8ab`gi*jFHSn=S2w%?|z4^adwqS-VLvn%UGQk-#OCK zy!d)u7DdA`(H(2CI(y)Ca{Ge2Se+Nkpkb!<5J@~@K*AZ46-)IZTrtZ&=GwU(2#_zAAH^!5B_8-K*qwoShV*iZ0()?!$=9F zrFqFnkT9|jZ6og+=Ddb)QKW8Lz?b-&kI;>qpb1H4l7B@fh1g=A&;=_xE@$`tbBWbyPrQy3 zZh=l+sl~m{os>GAx<+$;jX&t%GNe-#p@HkSy5I9y{Jz=o2H(Bf!?@JcBK|R#5Y7B1 z&%~3D{5Sb;C11_)E&d0oSNqFb{K1ts%y%u#n^pNq##|Q6TKHRh{H-Aevi0H9jQtsZ zui($Rj=9_r)W4&(9e>0ns<$J_I<8|(hd-J`n5f}`x)rSr`1{}vHCgL^o3Hxn2}f1= z3gzHZfGxAwD#n&5g-fZn@*VChcROm*>wN78-pf?OYag!PxoIQh1DC0~*Ejur7dAtd zsrnZ_UjM-+Y#&&rnx5OTZT+szTR%WEfmGhxxoyi9G>)M0^tPQFH|<0t3ypQ3{B_s1 zkI^^*3(xM{xs4cwTIDg|YIdnM>w!Rrjk`Uw#8}Czh*5 z$g?MnRJr2is`A_muVbqe^jDsJb=|WsQLB2nDnANbyIj?Oym{+SEZA;buJX0C(L%)a ze;33K2tEc{7igbZc3K7TG8$_wABgQMVta$wo)p{b#r7<$S^fphTX-AeGs~`R+h5%D z{w~4VbHD1imME`o{@_D9DfoW%zO|MO+jgPmpUcJHuP(n!ydz4L$kuNCfj=&_X^;Jp ze;w~ls!9-ggSoh_P?xXUvi=```qML;Hhl8I?>BGy8>m6r)<1G5Q``zw{yUlpn*Sg9 zSF8mq)MYQO|HrmZc3IYK+xq@y8V{8#5V0uA3e{+4W@f~H=F+@Eb$oi;CtEjS)L5S0 zMn?KpP%-QU8pifo%RfY7<11A2TFc)yZ`}2vXy06+s%tGDZu&e;j|bHI$*mQBpV_=~ z(|fx%Z==2seL!9I`pd8U>GhZY^z_TGzy9)XKuZAa#b=*;ortf#@T=#k+p-?Oklp-G z`}jTafNK1=ui^(((-%BdfceV$jTAKW>K{bmo<{zLu zc77iAo|URmbePC0U?pW`?<+xwSgD%VeYkncM$50(Z>Pw$<$va@tT`)H9VGzD2^gS3 z`90c;U5Zy?_rf@Q_Ej{>R;v2D>D8=M6_f$gMksK|{zfRYL*etf^g&_Wwk=|R9ERuT zwr$;IK~ZQApMsibV-Lgom~$&thZi?*-DG)QbO8jsR;jx6pX}O(O}|y@eJ^g>wQJK( z%WK=$zh^Jh!BwjHjh*YaTYj@`BN;rjO4Yyd@~h9hhV8Ufs!@lS4vCnK!O}}Fzw|5^ zd8<^@OV7UX;tMZ5OLC`IsVa^>Dh(}rm^Iqt>-l33POef{yteI=o$qZz=YPCu>tE6N ze}#g(wtYQz?W0br`Li#K9-9-oaOb8^?c=z}Nj3d`)6QKug3$4*+)35#+W85^SmUJX z-(SDwue9CZq^i$v+qwClD2kBlbW#m;l-aZk+{DLtt2?-q<%yD?t1=^_Nxut@r~Hk>N5Mm(eefjZVEbmHAVaHF>+$HY81P< z7!t*+RrRwkj*+U>v=`Cw_4BG+)KWL_|59$P#!)VP19#F!;p>5eYgE%4>vwKNe~_ER zHFoZ5$Je)Q|NH=bR(tY2{POEwbNAHLuf6jg50S2E6Yuel@aXKFjr^CUkcU-F0M6JO zw#1FRevSTTObM0NYTtF|4}|@T-*1cg7ys^4!U7303rY+mvdwku?&pfM}x2;X# z?=G|6EReY&^pq?c;tALQSpO;6sH7LlMk7y`!tSWh`Z zNUad8iV9GZD*;Xcu#rlH5L^e=Q#_NKA;mh%!qM&3Y(87Ass zCgK7>Isj|4UXYE3J9Cvx~qq0L#0K=$kI1*-Ky+fF%yV$=HB=3MTvp zLCqjg3SecEgYaS-25${-B($7Q5;Ai45up$}0@*wQwE%1m_tq5etAdqw71VqJbpY)4 zRk$e|6RgW)poWYCqyVtyad=t02G$xLIR&(w=Ml0Rc@<%17@C5t+cZEJ06Q~{)W&Ae zoFfo43tAIyX&EN5Wmq5(d;_%N8}R9SQ$7n5$u~hgL*OC+^SlM0sdHd0=jDWqyp<3$ z%+5i^ZyvxJ2gqvYkyHMH;B_s4JVwBM5vkLtmS-$kdb@)3Bf~tkSQe40Ki=R`7-5dfMD$l1T~hxaRAmE2=i${ zf>jv=>dheXAFvO+{C%*W7y=%48A8})2w|5Afs9WmKr{fW3Pm!_8k&6s8X^GvBLU(8 zSaKvcv$;sVig`uhP-TdW0wzldv{ ztQg1!#PP=sX>s6}5oiZsy>SrojOX8HEF>N>2NL)X4JQ)7t|HJ4zy=Z^2=GXO%<&ZddqYDC*kc6Tk3h!f2xQWZ@OK%@$0jRD z<$pAErBeMDQUQX~AQX`Xp@KAyb6*uUS#mnxYB-k;b_aoL0BkWGjK&P!B(cs+ZZ+)A z0w<6_A^_W;jm6mw#W`r72jCgGybqmNmJ7n+0)W_Zfa3t{bUE^8nHA`bj7ok|Vndbu zn8dDCahqfatA^Ow8h|zcHd({X+`Eq!X7#{gZVxOr_6Um} z{k%xxhcA;`e(o~AA}PE_AbrXp*RMUeTGoyEFeF5OUMk&L*@zqD_J1sc{im%GPLeiWW%BdK&Yo8 zvjk84SWEL!(j-OmQzl^gmY>2_F8V2YmbG8Wkl2A>B}rmOLm*-}9}2xL0@DD@Eey(; z8aP%(3s>mGlphY}1p-3=?0PsP$|ICjtT93fkyzXTrB`C92bFP&%^y_WH|&dqXf%Nw z02UXepxYax(e94}xCOvm<6-1jyn>-}E&+Ttk_3ZVG8r68SDaY+F)Ij*$B3}M0EF8$ z%9O;~Yn3(ZYAxx-)G1DeygFDsMzj^(*hQ zykR9!V!0!VRp}W~aA+{3UV-7EQGf*i=5ZC)L#~qb`7xyh<8DH^DY1?Tq@tzOkG!QVW9fXDAy%+dJYULv(1CUMqPD~>T%Oy+rwSgDzQO#+CJ)`b7G5obgNi^ zmkw3R@xf-8uWnLOy!Ptm(CvwSI<_*!Pp4-A{<>Alq`z(+E?NR~{isYJq!;(;&cj@= zu1#W6 z&sa*D?!Q^$QQc2iOuFuAmX)DE33$b95iEsAIYf?8I@MyTlrDb!RZ( zY`Q9m`Q*W9!byNr`MSOE-%^0>$y2(W%(qB~gp1MaE&;f48X%}t_mJUQDME5T3lI*# zPn78trgWC+bc|2aw!W+!T~J-F(;K?WAr)EykP5)^Ds>0ZXH~jX^kg;cCDrKiQLI{Q z9ykxM-&zOgTd&K(h`XTs8p~+VB}j(jjj#~k1aJa?)ivqNthEJwInY9bpz;znFJD4m zRkqSrE4I#eU~5k&vGaSed8=2q#?aFT6MF{$;s99A0PIu`>8jDw!z7tIY=!EjVI6k5 zxDj0s@*kn0<#|PiV*MUxO5X0YUFi;TvyUEf zK|w^myT=PXKLxPA5VY_@z17U}3iTc`i!RdpN$gZH#Whz<;U6l|<7hBbs`o-} z=k&)UR#8FQ=`{qq>Iu3xBANY-q}1I=N(C47sP4=qqV%@u%Wytw*OyAHwUctZ(L?n9 zKBDIg(6;sZ7@_=Wiott^lxt@R#?0w2;GlS$px+`<&M%UrhpS;yVkcbb)`w%h0Y|Wdp@vV{u~37T%=U#F;4vz~fJh=EN%ck~iHF8msWBNtjfGg! zok%2WNk5*rrqNIJMmafSg`1vfH@ej>-$+E|^uz7>Xy*EIfyFuh*b41QsB=UY&ZhLJk=B0}UTA2FuKl8v_f~0IWC0Xy)$m#!#!wcpR{7;YEbj z@D4)D`5Yl5n@cdF>(djBPV9Q3aYkZchY*~ScgPrq{o>{!BaZTghY@4LVdD*n4;(gX zusACaJDda!r98Ml{xxX3ANh-G52apGN_t5B(IuA%Xkeuc-NALm|7v4Ef5>8g%HoH7vY>I#8^%fgsYoK z*xJ`5q-X4?pjouK1!4ouRQ8*8T2u?MSV9ZA4!lUNPh2F|hg)H-sFkcWw+i)Pfs|uy z#uy|u)h2xVv8kuEYF+zrz_ut%sKBE(pHFC69f zlA{Z~!qH`cl*~S3EX<7e32D!MA$?(h9PJ(?NBaha_;G<){vf60H%!u29#5FD@hcEl z+(wOYXcUe@i=DV?#KFdE%(z!(0pk?aff+=QGeZ$n&IpqocC;`nT!-8sTfF3k=*AX8 zxRW?Xfi%rgApLVf%X^*>3z#=r5y?5x;v;tA#5`3Y`Zfj@uUHUfy9hCs=4L{Og>EJa zvBS-TfcES*p$8Urn?7Zly9r^XyPK$@B?7SpcM?kSAfbJp5IW*XLM2#&4ML4TwErL2 zBbtQ*vC=)JX-R3{V~U5DXfG2A(d-SV#QT^MKl15&5u3YwI@dsP zbu@^$ChRD;QM6hG!X+NnaikHN{7|c?eLf+^8ropsN*fv2-7Zu@?WoO;76oFS9aPTn z4k1xM$jaDhA{sh7sA`>5H2_x9DXP{fs@6qS>k?J#5~@uCDM8()6L6m2O$kNxP^M>l zDASf6Qyv)py~McEOAM`#7%6?GlVEgFgPrO(d1Cwz_Y-HX-;@td)@9-Z4v~} zaAeB#2){OMveE$dxGsw5KZ}9Ii)Y1PyFiGswwrX!oxN!)LZjstsTR$fA|*cQiWiU> zt8g>pcr)c@E z=nfVdQ+AXWB3c~+vAz&92GZ3KGmd}k>_O;s93-9TgF?zHl8{syX)eGImq>G|tc*sQ z&%%FNl$i>4nh;}qW6jtT^I{PNFOLVCW(&l|(}*2$ zl-%T}i=x&OLcgS&&%tL%1`ys)Xv=_w=?t>4H&a-M7DyS+G?zi3J_~)yTC&L8%n8T_ z=8^2-JRzGW5Sz&(cI-*&g1CGLoy;ep`g|eOFA%#>U=ES_RDqyrrwFkq>nSQ!rfBg- zJF%5$Y~qv|=d+MPvRqh5mh*~W`9cv{9xf7A=I!Wov1knl#72wBWM7F$+UK-LI_b1X zx`q(rk!Q?!yu?of(fQ|kDfx&wOFqKO;3KPye3X|7t8I1^S1wv-1!7g@|xrA_GZLNa8&}#CRRxPX**^y_BXr&0mGHS@q zNDY-_z6RF#`8tu`WkQS}ZxB|i2;p+O5k?mp$!KVkFq140yWB*91U6Hq*)0&NvbK;^ zZ;Oz+E|5}u(Ody5yD!n+<$Z}%vM-U!+$E@lw30?@tI#O4Bab$_7lBxM8wH!v4t1ra z-CPM<5glZ!ro)WGntLZPv`#afqOF&x#YZ}Yfq*VTEToGnnbc*jLL;w>0_f|a09<DtGfpOvrG4e-=F*!;M z&#PuS|62kv*D>U%gj>hV^^j;CBk}fe^95WNEsmQTKs!A_wB`wOBO2k8 zXt3x>%B*~nGIPI%%p$K*W;xe{<#Pfl`=-oI&}f(}79B-S%)v|j9C;a<6GrB&0xRd{&6gnNeVg=aZc_!_7qG2p3+7fZ zE>VL;FA}41kr+dZ<~A^nxT;``yQ*Lua>KTg=ccxUF-Hwnyqg#^yNTiJu2N@IyQ9I| z+*OP;zGxMgd3vang@@V!i7pRPP4pzyR!>qL^He**$lODW+&wDN>)xZHZU?@Veqn&Te_DUFg?-AGI5($5-tE%eI#+TdVe}G}`?ANHEe*?S;f1 ze2u@}+ zH726fAv8*3h(8xYq`+8p7^M1GG+0<1F{$2G5FDuOOF$3F;_Nc%ph0 ztg%Fr+kHqKBb$fFz^TKkHB08zhegyA01eK{IbsRdjWEErhR0^_f zPN8hCrU*UPBO=?XBkBaC{8Pzta4M;vN+tE7RCN-Jv@}v5NQ3%f8mWgJg`So16v9lI zKB``WSZ+G$=Vef8;~5mPd!|Z9m$R9~D9<9sLKZRhXNw`xn2iSS%ND_Se| zl%r0eF_=S|S92&N?HG00;BiFZnk)KW%N2@8>}bM{LTtj!0UONlqoTpcS03dwlP8S%oFt?)o>ZsdKP;c3ZOT`#gLWfdodGSsfN19ntm-UU`%Y1- z?v#+2Iwd4>3qj*&3x&a9f!KH<`PPcacS#ZX?ktAy*<$h?P$ER*1X4yz)Elszei~NT zvD2i{d73mL&Ojsk3~5wgJxj#N+s}w_lS;)tJ6uXCqi3nm@#iS8+;d_dy+I8&S4NDi za$=k<7d_xrfd&t&5dKdJ#EL7Z2QF5qHxb2wO45w2q$nyYDGJXjL=j!3S`o(aDxp{| zkP=)i#z9jxsa&ifX92b3EWTEZgMMnT!Slq3sv|~Lorq$J8hm%XFm_lVmR3(ul-8@a z5XGJgq}gzRG<_OKGpfO=&VkcKEq1Fx#pOj`Bbm9@D9nU45n_=|RQJ**ihryL@hcI{ z>O2@7%`~X{T9C|q3zanZqTRhf%H&1$Hl%Vck@>t!q~3Rl(vNP1hOJel-@mo3LZwF_ zC9O@RGr?FJspPa%ti$ctR&KYe3t$v=5W~Hb7TVcl8bE#c`5~2l)m$co3z|{neqofVH9Tq+2IfZv z8n~*`uZwv?_-Qqv;@3sn1Xayrl8T-_sk+1HwMi;^@D$9XO_7;1Q$oF2ASG^E^?+30 zG-Ah3Ji!XPPKZTbrw9*UrwGqqS3No29}J!$Yh!b;<~2{&qUVK5mL1L7(ZSooK-_II z;Il|EWiL`p?ThLjcuR40fR#!&2RyEHbAXjwZVt3-`R^vg0^J=@$Z!upp6nqw)dE@B z1rG;Q($`ZE(*_znHdtoNU&!GW_6+egF z_|fO*;EJdHe$evw2WTTO0l+*09Lzi+zyU847^<*1sG)_xC;)Q}1S=-c0gq`7Wq}|x zfndlA0>2D^T?&F1pI`?(P$&p?aALio4y&weEYu+cS4&}tn-zyUj7j>&gAUTlO9vhF zcvk1|P1YObfV+N!G0;elBiY^YL}-h5!1KDg!?1ppfO`^L>`kH^>XYEeJ(&{iNEV4U zq)?tx!4U^s7^b3=`myXLXVa-x%GM)|vfZ5lD?tGKWQK#n3^$IU9dI00laIq*o6P|a zii%D+#Npt0f}*{UN84r14v#SH5(VQi4UHNCeE@8Dn!>ma+dO#2f$kRg&N^V^rOi6b z(hnPy^V0fZez@_;@ilvWzpfhWSCfll{i;Nyk-NyPPsaoS&geB2A`Lk<0+X} zxjBZR&1Yk#eAr!h7j7&e!&J*YdU?YBDH2FKC zL^*+us6}oN@d@+;u&E$NJlFNv=Sc5*WbOyKfIz(!5O;JP&4%b;w2u%d0$^u@LAymw zZ!GU>hyq~gA)sBSrdudL7ywHO1+9;o;{-gyK=Ta)?HINUX9!#*+GWuAY0Z&_eV^ut z(O{U>u%4a4Jscw804zEjYUR{yAuvj`o1pQ62uFqS&IqA(Edsnn0wD(=aNq#>io{kH weMNca71L*2UU$*!b%9b6XF8viserK$r2*DIbQG}v;dH>gk7RJIu!np8f5#;8RsaA1 diff --git a/bindings/odin/clay-odin/windows/clay.lib b/bindings/odin/clay-odin/windows/clay.lib index d8eaf8a2bbde8e84c55dea19c48061a0e08cacdf..112375b23947770d7e1f53dffbbac168df99478b 100644 GIT binary patch delta 30041 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 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 7a6408c..eae1855 100644 --- a/bindings/odin/examples/clay-official-website/clay_renderer_raylib.odin +++ b/bindings/odin/examples/clay-official-website/clay_renderer_raylib.odin @@ -71,9 +71,13 @@ clayRaylibRender :: proc(renderCommands: ^clay.ClayArray(clay.RenderCommand), al ) case clay.RenderCommandType.Image: config := renderCommand.renderData.image + tintColor := config.backgroundColor + if (tintColor.rgba == 0) { + tintColor = { 255, 255, 255, 255 } + } // TODO image handling imageTexture := cast(^raylib.Texture2D)config.imageData - raylib.DrawTextureEx(imageTexture^, raylib.Vector2{boundingBox.x, boundingBox.y}, 0, boundingBox.width / cast(f32)imageTexture.width, clayColorToRaylibColor(config.backgroundColor)) + raylib.DrawTextureEx(imageTexture^, raylib.Vector2{boundingBox.x, boundingBox.y}, 0, boundingBox.width / cast(f32)imageTexture.width, clayColorToRaylibColor(tintColor)) case clay.RenderCommandType.ScissorStart: raylib.BeginScissorMode( cast(i32)math.round(boundingBox.x), From bd2ce4b8332a73a9fc7364e1aec2ec98789db02d Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 7 Feb 2025 09:34:35 +1300 Subject: [PATCH 05/11] [Core] Update debug view for new non rectangle API --- clay.h | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/clay.h b/clay.h index cc7b98e..8ca24b6 100644 --- a/clay.h +++ b/clay.h @@ -2212,10 +2212,10 @@ void Clay__CalculateFinalLayout(void) { sortMax--; } - bool emitRectangle; + bool emitRectangle = false; // Create the render commands for this element Clay_SharedElementConfig *sharedConfig = Clay__FindElementConfigWithType(currentElement, CLAY__ELEMENT_CONFIG_TYPE_SHARED).sharedElementConfig; - if (sharedConfig) { + if (sharedConfig && sharedConfig->backgroundColor.a > 0) { emitRectangle = true; } else if (!sharedConfig) { @@ -2248,7 +2248,7 @@ void Clay__CalculateFinalLayout(void) { renderCommand.commandType = CLAY_RENDER_COMMAND_TYPE_IMAGE; renderCommand.renderData = CLAY__INIT(Clay_RenderData) { .image = { - .backgroundColor = emitRectangle ? sharedConfig->backgroundColor : CLAY__INIT(Clay_Color) { 255, 255, 255, 255 }, + .backgroundColor = sharedConfig->backgroundColor, .cornerRadius = sharedConfig->cornerRadius, .sourceDimensions = elementConfig->config.imageElementConfig->sourceDimensions, .imageData = elementConfig->config.imageElementConfig->imageData, @@ -2647,6 +2647,23 @@ Clay__RenderDebugLayoutData Clay__RenderDebugLayoutElementsList(int32_t initialR } for (int32_t elementConfigIndex = 0; elementConfigIndex < currentElement->elementConfigs.length; ++elementConfigIndex) { Clay_ElementConfig *elementConfig = Clay__ElementConfigArraySlice_Get(¤tElement->elementConfigs, elementConfigIndex); + if (elementConfig->type == CLAY__ELEMENT_CONFIG_TYPE_SHARED) { + Clay_Color labelColor = {243,134,48,90}; + labelColor.a = 90; + Clay_Color backgroundColor = elementConfig->config.sharedElementConfig->backgroundColor; + Clay_CornerRadius radius = elementConfig->config.sharedElementConfig->cornerRadius; + if (backgroundColor.a > 0) { + CLAY({ .layout = { .padding = { 8, 8, 2, 2 } }, .backgroundColor = labelColor, .cornerRadius = CLAY_CORNER_RADIUS(4), .border = { .color = labelColor, .width = { 1, 1, 1, 1 } } }) { + CLAY_TEXT(CLAY_STRING("Color"), CLAY_TEXT_CONFIG({ .textColor = offscreen ? CLAY__DEBUGVIEW_COLOR_3 : CLAY__DEBUGVIEW_COLOR_4, .fontSize = 16 })); + } + } + if (radius.bottomLeft > 0) { + CLAY({ .layout = { .padding = { 8, 8, 2, 2 } }, .backgroundColor = labelColor, .cornerRadius = CLAY_CORNER_RADIUS(4), .border = { .color = labelColor, .width = { 1, 1, 1, 1 } } }) { + CLAY_TEXT(CLAY_STRING("Radius"), CLAY_TEXT_CONFIG({ .textColor = offscreen ? CLAY__DEBUGVIEW_COLOR_3 : CLAY__DEBUGVIEW_COLOR_4, .fontSize = 16 })); + } + } + continue; + } Clay__DebugElementConfigTypeLabelConfig config = Clay__DebugGetElementConfigTypeLabel(elementConfig->type); Clay_Color backgroundColor = config.color; backgroundColor.a = 90; @@ -2964,8 +2981,11 @@ void Clay__RenderDebugView(void) { case CLAY__ELEMENT_CONFIG_TYPE_SHARED: { Clay_SharedElementConfig *sharedConfig = elementConfig->config.sharedElementConfig; CLAY({ .layout = { .padding = attributeConfigPadding, .childGap = 8, .layoutDirection = CLAY_TOP_TO_BOTTOM }}) { + // .backgroundColor + CLAY_TEXT(CLAY_STRING("Background Color"), infoTitleConfig); + Clay__RenderDebugViewColor(sharedConfig->backgroundColor, infoTextConfig); // .cornerRadius - CLAY_TEXT(CLAY_STRING("Color"), infoTitleConfig); + CLAY_TEXT(CLAY_STRING("Corner Radius"), infoTitleConfig); Clay__RenderDebugViewCornerRadius(sharedConfig->cornerRadius, infoTextConfig); } break; From 7a84facec968df81b9fd7dda10cee60c9bd40beb Mon Sep 17 00:00:00 2001 From: johan0A <85748765+johan0A@users.noreply.github.com> Date: Thu, 6 Feb 2025 21:41:38 +0100 Subject: [PATCH 06/11] add CLAY_DISABLE_SIMD flag to conditionally disable SIMD includes (#251) --- clay.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/clay.h b/clay.h index 8ca24b6..c8fb851 100644 --- a/clay.h +++ b/clay.h @@ -15,9 +15,9 @@ #include // SIMD includes on supported platforms -#if defined(__x86_64__) || defined(_M_X64) || defined(_M_AMD64) +#if !defined(CLAY_DISABLE_SIMD) && (defined(__x86_64__) || defined(_M_X64) || defined(_M_AMD64)) #include -#elif __aarch64__ +#elif !defined(CLAY_DISABLE_SIMD) && defined(__aarch64__) #include #endif @@ -1384,7 +1384,7 @@ void Clay__CloseElement(void) { } bool Clay__MemCmp(const char *s1, const char *s2, int32_t length); -#if defined(__x86_64__) || defined(_M_X64) || defined(_M_AMD64) +#if !defined(CLAY_DISABLE_SIMD) && (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); @@ -1410,7 +1410,7 @@ bool Clay__MemCmp(const char *s1, const char *s2, int32_t length); return true; } -#elif defined(__aarch64__) +#elif !defined(CLAY_DISABLE_SIMD) && defined(__aarch64__) bool Clay__MemCmp(const char *s1, const char *s2, int32_t length) { while (length >= 16) { uint8x16_t v1 = vld1q_u8((const uint8_t *)s1); From e97031f2346721590096b4ec093b18fcd68a3bd5 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 7 Feb 2025 09:56:05 +1300 Subject: [PATCH 07/11] fix mistake in x64 simd comparison --- clay.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clay.h b/clay.h index c8fb851..aed35d1 100644 --- a/clay.h +++ b/clay.h @@ -1390,7 +1390,7 @@ bool Clay__MemCmp(const char *s1, const char *s2, int32_t length); __m128i v1 = _mm_loadu_si128((const __m128i *)s1); __m128i v2 = _mm_loadu_si128((const __m128i *)s2); - if (_mm_movemask_epi8(_mm_cmpeq_epi8(v1, v2)) != 0xFFFFFFFF) { // If any byte differs + if (_mm_movemask_epi8(_mm_cmpeq_epi8(v1, v2)) != 0xFFFF) { // If any byte differs return false; } From 0a9122e78d88eef30ea3c0085278c41eca00060d Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 7 Feb 2025 10:24:57 +1300 Subject: [PATCH 08/11] [Bindings/odin] Update odin bindings for debug tooling --- bindings/odin/clay-odin/linux/clay.a | Bin 167988 -> 170748 bytes bindings/odin/clay-odin/macos-arm64/clay.a | Bin 252720 -> 254664 bytes bindings/odin/clay-odin/macos/clay.a | Bin 140088 -> 142056 bytes bindings/odin/clay-odin/wasm/clay.o | Bin 254531 -> 259247 bytes bindings/odin/clay-odin/windows/clay.lib | Bin 168803 -> 171496 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/bindings/odin/clay-odin/linux/clay.a b/bindings/odin/clay-odin/linux/clay.a index 5fec4c6825c6ea7da347990de30a38e4d57d2f87..fec4aed0dda4438d15d3a8a3bac546e75b98e1bd 100644 GIT binary patch literal 170748 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

JgCfuOSgE|7S4i1q{q7Z= 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

uZc$KMJ)c!SL%Zo#=5$PD{bKa7cU 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 UP5Mku(I1P$&oY_!0<+Bj0n64H>Hq)$ diff --git a/bindings/odin/clay-odin/macos-arm64/clay.a b/bindings/odin/clay-odin/macos-arm64/clay.a index 1b14f7456e0ed337ac4d6ab5983c5d143f840f70..6aa4594b06f9041ebfe60829d0c9df9b3f8831f0 100644 GIT binary patch delta 69365 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

sQdkIXCU!94c(7~9v zQ`M|)48rqIE(Ki%Ht~6 zbE;z1TQaCEMtN&ziW}{36DghEN@1ckrAs=iXX^WGOuVe@{#kcQJ&s<<#M?^K8R+WF zN}%e?!RVDtq$umpy`RFp(dE1x^WMT%o9g{!O|21Qhu5vI* zw?mk0N~%aYjAvpbiL-sw-WtV%9xm18WF%G>J>^C||@< z0iqq%&w5TJEKr(S)Df(j%4m(qq}C)#6|bpgQvY(^dPPxQR;KPpjUu|LPE|%1kclIz zQv~!tSRTd?6Za3Mu=>}iVyLRYhl;a0DI{jb&~F#2jhI5Ji04#yf0>%knyV`CI!!WC z{R38EqpnQsCRMC+q=dCW+11XY?juH1E6P38>f#SogNJ;2H!q2gQW8R}z8SemGKYb(`H(j90Q{WD-@^`;UfT{6KGL`^U0788?n0|q6M zR-!iPY56PN!qi~uI*9t8m8%-%CTbw@b0hlg8bhoXu&!Y?REo}0jrf?V#%k58YLnIZ z4N7ziMR}X%M^Qk=lJpU1CgN4QeV_)-Vf7nE(j?vgVd5}MZ^NR>#%VNytoNzH`hT{n z@6j@`uoJPy$I-7>HT{Q;DI7$qs1M6Bk=B61DXJQs6Diy;2)|+&bt>zBWFblSu$V}q zO3G+ugEk!ywk?}jt&ys$COtt+CzFV&54C{!S=FGmqSMn76SKP0@8hbcs?U%~_5YN` z>5fFtr8X3k$%=BKvdt>$2GUDmNw=Mtq<03HXsY<_*Qo`|f{B~y4Y^*?bZ&AHY+%Ir^2b69m$I6>KIscOn2G-xEf%EBbwo?`M6elQfM z6w!+g1Tn=8px^3bE=hM&m{p)MsBf=`ZG(wE7eA<(nyZGX0&3kuboGoY>Zq}~K+UQv z2ZC`!V4eL}B$WkHrycK1sK{nb!-TdxhE-n(L=vc#A&4{gU_ZBE#6MVFUMszgj?N4 z{a?PSL~lw6-BEGL%SO26}| zV~Y2c&FCT|6Ss7u-*Rd!{pC3^06ia*=hM{x`A4cZ{;cMk<*J)3K>{XkrEfLLCeoGB zz9y|Dz08EUSoLIex5}F8CQ4L&N>x{urTYGzXhaIh{(+RbM_K4xd!o=sdzjcti>oc@ zX_ra$|EuLeDqeKGn1EvKjkm>4qPFkd5L#2p+avSp?vQ~p!SYayM!$I4`n;f?Gx82yWCrUC8VA5wg+nO zxJgT>!l8_QuljS`r?gM~CrzOniE*5r4bkKNiOq3>&bm(eN-zIJRk1!$yyF_Bm*D-|1;1w1r-h|)ZXz?D(-)K#bZj(R5(s_^Ck)pz`hE=!{+!w=Upeg)O)N@+!I=Tb@b-p&1*fs+1fR4(8ou9 z_qJLs%IfC2xQhn{O><%0o`R4&!7oTOso`RNGS_>{8Zp>!&d@1-@(1tSHKLg~Fx=a1 zt+??&J;6TyAo83z`D4 zhU!k3B6`#aawkwp>m6w|APsW<8nVVuPO0r3_o-+t3RRhny@x*)HT)qf39`K9pNbp3 z@2?dNTtRZPtDE;?k*MeWX|0H^-Ny)3<)rzYog&w%@;B=|bJmGEfeC(c?KqLhWwCb` zWO#|_^DRPUeo9J7$NXT~b zHS$a0U|8dwv0e;{YRKhQ*g)0TCu0p{Z1w(ctElOX+8{iBX^P9+ZG)&|^+i}|Vy_-2 zaOYy1YmHnzu3HcS-5g7%`GJJ@^gu#DG*euEFJv_e0fXrGH%0$V>{*CYxqur9-1I={ zRpc)AtI8mfk*-t?Erijy+zwR>N!9J%l1-xdwbW{xMSXwpqGxQ^bu3VI+<}Y*lyS#Z zbu6Gdf`l}xBe<&QlIDlTD1f$LxTcQ(Cibk83s}|hYPnQLBNmwIxI?Mx9ljC0?Lv`= zp-^3KtBoSuT7|lJzu72m3PJUEp%$M|Ep}1$>v`vH6rrJ?D9cnyTC-8qw?Iwu=57)< z*=XV2$hVU6?Y^q^E2;J%A&qJeuD{oQC29|bYif@S*A;sf;#4jYJBBy-n_Q}W6$aFP zx2nChf`-M?%_744#U|0PN;GmaMi5fbrhBxZo-T%Y;)_Lw_rj<67wOBDHv3S?1s(-tt#n#k?t)l7SW-(s(H$w zTrMeBraSI6RMl}oMJ3C;_icfXXO61XNo1Tu8BbnSt2tCFkdQ`A2d=-@Y7UeI!!=F! zZ(`3voXQ2PI_}kSsg6Dd>bNJp)wYW0j+si;a;Ta~s+M1+Y9^@)64Iyv5c<2SnJBbe zH^9G1ItvM4)RNEuS4$%0s-&X<%DwxcoPA|1%^Xwx*2pVkq1;rg1!lRxBzI*jlmm$Z ziz)DT-L8zCLS&Kjw>j?Lq@IN|l?zxj>PLlFl}nmdVZg#L)z7=SSk$x6jHO{U8>*fm zRcBwN>KRfMB&3lY5&FBXXHY80;;OX@3&+2SJ&RP83piH5s#nV;U40A!R-NtV?YTwN z4f{@+^-bvd9qIa}pLhQzES_pg`g@vp<91BTprWpCdQWdhs~lEUU4-n1Df^>c`M^FX{TR zs_M=EK(4-7#Q1|7gZN`_`<+XVK!X?s1g*iC*yJ6#L4@0Dl*(J7@)}Zk>s2bRA(cTw8mSDf zzpK0kg@fT5mH$obS%_1)fSZ%bSIZ@peGH^B3Q#J`K<~z45n(S=I+sA_Wu$Y-RXQ&t zok2nx=?t#F>%0u5gW(#T|4r;!h*PIG2Jj{%2jXd6}9XgU@8F9 z2{8Q$rcJ=fn7Vd=>5(8L(d_oA>q+dmU9WK1;mK}tJMt7F&uQ>Z72RB0fuB4JayM7M zAf)Il!zs%flx27~xeZxXBTEHXUlUVY2Y`p8m>S!VX>btIbfzJJXT3-Eih6vFw_>ko z8qm$P6P!cb3EpP=#4Xh*xL6h=&wwDg*30*aS}~g;dL2an494jYy%W_Of@*HoTu zUw;0q>vlg`;Z6HoO!vDq8qWn!3wJuW{A$lUd&0_=hsEtzVUMvjg%jvPAfvBx{GRJ3w`G`bs}XXF7=q^&z2v08rei-M!2;w@hL z&rx8U8i+E^xjJ@2No(X^qq_OY7Ynk#6nF4|qoc$G?h26$y@!s9W&wv(G)#Wr4f;wn z4LdN3di2u3De}OmZmtn>skif2VrjttTRR`HNXzQ)5A!gyvn#9YF1yPr>#{4ZtP6@t zMa7+@R5*@?Nrj0iKeeOTcpBb2WMy=6+|NaZXoYfCoqdjy};2-cp z@US&|5)B`w;hsdphy4rx$RHj-v$~~=8QTp9lU$xo;vzO zj`$buuJV)Q!d*j%q7LXkT{sdya{-4sfV zhH}G~StDkloi+tw?+yPWe-3Uvt&OxU344E|Q3Wqp(;3Kyy`f5y{uJ#K`z+$Z-c>Zp z4SNf?trGj*(CV<j|IeA=rtn|CM#8>-;LE}2ikA`J}=DhIT|lhmmm9 z`<*tq(?9et!RZ5saby$!5=Wgs?;)*!*x$nQCnLLRnpiOJrQM%>CHU=Nqp7XL%91-}z{9YI~YKloZOW7S_S=E@#wO7gDvr(X+}7XOLbG;i1H zXlNU2csNV?Ns3LOlcS+?rQl5`Vs+tg2oBqr|8>#OfinMpyjadX`+GP0b#uY)$k@e$ z*uDGw%-4et9>4qIU@eW^ zb$iUud?Q%C;;uyhzxCs91dm;DC*lx}lwZ9O%wN-c@!n9iH$jVD%xk>~f7P48_=;}C zMsLb*dox(S{<@0?z1LPZh0dhECht0`wtKJno9BZcS$Sn5{q4LdQ#l{JWJMEo>E8Rh zXQ)fce)%HynRf#x|05XnhnSX6P;3fSL_?grk7)8{5)PgIC-(-w5}8D-X7&C4y}>h9 zJdMiWG?xBWuyW;ZE|N())cb{h>07}KUwY&sIRibof0IWkwp?ODu_bo)db-PDk~7IP z`~W*3(f&a1p?_6}y^OOHed9A@%P{}^vAUAeSY6!@b)#otPN%-c@G`XfPXbxi{9zWn`oGXJURpHcw}5Fh9wgIUp*f5-BxN;*7M$oALAi8NBq&AJxjW z<#p^oB5*CGXz07q&;^_eI9Wu=o+-XI5#|lTP$JA5xL+$_R#S|Ij!aAxS6m`6Esq_* zS^fT6{&~w^w-l_1Tuzc7;*{lob1C@b>enya>-{J->LuuZ=Dpytt6#!&6Q%_Ho8Ai^ z?w-4ln|MsmT{!qZryqJhc&r;EL_Zh08!sFTUB>rN&)m1wTa~o(QY2@)#x*`Oeqv-|4?-gzr-#B_-F=iMhId#5L@+;@J$ zp?R%;cgV{Rzj=Nl$=5>O_Q=cUH-)mp-i`hy-pV~<{Cu`iD9`I#8x3vZkf{D77~~4| z>9F_Y`LcoTS=&S@8fui+M6ZOs;?UUn%)Xzu!u$NnM-t7C^d9uvR(J=m9Zs|uro}KV zE=}@={oxhfaiKl5c-UVN@eT{$FR484=SRHfBe#$WGx-O9!%FY;13J!+db4W>Js3L1 zo88^G(yI?1{C15b=3UQ;cm0W>HQdL^4Z=%Y0&?UAV?&Df=$a>Mn!J0~MZG6$28E$~ z|Dx62I^SFEow54Y)D2SiYw8C5^H+O^Mjp|S5AVKywU?9>xs_P#gy;SL+TS}l-h|)# z`2PDg1`SHFs z)|RAlaXvbjv(|ebGtQS`W-l%Weow8<|J}NTl_W05x|~GLT261AC*Gy%IIjKv=mFkm zBCnj6xK3T~Z%g%#&zq)hjn_r1)nU1DdGS2CX+vg4jt#AR;6yHI9RE>oidJWZy`TBl zrFwtg_>1%8e(*QAtq%t)*RjQ=*)RQ{uJJZ+y^oNayvGxj60%?F9!uk&`_JQd2yEFG z*LVk=coz{jb4!iireGa0?hwDT3x|MIooSrtDa1}`^e#j)c&IpNKwNhZM( za_}YID-xdJXPt*Uvl+45c~I~au1c+-p5$(HQ}bH*L+@LZ@%Y0u+BU1 z$V(Z>J_ZCine3A|EOD@MZ4(`kX*q>jUVm^|T<=}Fp08!~wyjt^m#~fN{oFLKBr;D` zCJFDpgsP+s&mvcQx2>16ysXwU;`?*|zV+S*!jDOLw?Dt$Yl-$r`N{QB)`s8CG=)wY z^zNeRO7FMpqcjYKf)%oc;`Ick=)zpP$Qbg5-4j@CI*N?yf}R zKP4K6gA+_}=%(PHcT>Xr5)rs#C!HH5;B)?(jowGX*GTyl|CEj1sXH${H*w3_xFH(a zpOZl&%{F_YwnjrAPVCr5x;vgDZG->RMsH`vyXQpZj#pe(GU1`{DPiv&Y=_8cd_%hT z+0FB)OR2} z_e)Iq)I~XUKM>kUu#Yr_cJ7r??%eC`!G{Cq5uA2VwMj0|4}{j!)dO1d>qNxmnzyKX zfX!deFdk-f_u;hOdwfImcn%7>J=Wu;upM0~BzLc5$k>>IjWS2~h`yh(Zd#rrpD1?| zMP3gV9^@6RxFr$tdH=G5yu9#@;y>yC;vjEx#AixK^{@UP5AwEzuacTqeJ_It5MCzb zcm3iFFEhNan)3Vpxf$M(EA~pcd86Nz;T;!#SwyElo8cX?{RJs^Z;ZYbS|7~f7A$_%J9FDTQhsVEdoFjEl>e|X8Yz~Hg0)PrOigDs{@x6!X_FhoZPK4U*vk!H zBjvyP>$Z4VTfbjD7&??m*w_?#nZuudve$*SCI)w@xV__-Z}ARUvG`TWP3eBq7H?a4 zUc}q}ZCkt(4t-I|etOhP;Ut*I^ptC*hGbi=Lfu!vzX-|VMt^?ne(<*Qs# z{@{0S^}Z3A`3kqfabd8L&qVTLSN!v&KPHt z2Q{JXC$Z6@A=ebz)FiJ-Hw}7k(vC~#wf^oyy$4SlKf5WE@Act&0=EmipLzCP-bNDL z%o`&=;6LtX#%Zz&BO_hS+auYRh1Q-JS|u+_sMzH7%Pr~hS#Rv@!O+?AO7@BEUPk6) zgfC{+@HmM)zRYP#F38>}4LO|;`YR9Pcz8s;_V`B}=50uS5Vh5NgeJM-?uq8Ti4niz zFz>L)1H|Wb)35z25A(7kzaS2EqguCH>mEzgh3}I|81vJ!y~87S;m2f6_|a_du>EdB z?e9H%U{m-q|A#wxvG&a!-l6fEY5hU(kMw&=G<0e-boyZEOfIfb@8+{vlNYfc&Jb2g z`dtLz9{5jk+1+)v{CbHZrN|70CJIsGUaMH9yovdLaFw?4L91Ej|DUiD?cXz!^Ai?1 z4{r#^64$>Q8O>&I{ht}(zb=3`G8w!~p7HNG+{=h`qS(JL`@cKfJ9_{V~%mFJ1DP#$yM)AL4tQ_a?raCwbX? zCB7F%F^lh;__Ej7W7pvJ(XhAIe{iRlo^m3VR<-g`_o}#FU3L(^{Hxjvn_$!^3#B#x(M4RP zX=H{A$7TK(bG^;`(Z#z}i7vjcUHn73xB|a_(8U#W@ejICN*7x5A6>*%nkKrqLb@nA zXrXE_^fj-Q7vNVjVK?yK`aut)yahLy>urnAS0!#%euxLx&d|rA-kVi>f@2ip^B?^0C6O0-qL9O|ZF5)UpNpQ8a;`Zq*x;inmT4wtd?dN*w=P%L^ zB?^0C6O0CvWH_ zMYn(UJM#EMNsCm!^WUnkkm@CWAA2$yoCE+hX1LfylCWo&QmG!-tR2_@qJ%K>1Na^z7+N414FrSfK z2`gYF%!bmgo6ppG=vpXxp3mHh9)fFN7hDJHpwySc4d_hcM2s)xc#(=RKE?Z6I0EFXXRTV?9dO z2~Wjd9j9;yQ&y#PnUK$1=cYmFpqP&(%g6`#n6iwl^rK0EvtSmKnTeR5_ zVHq8d8hfq2$LhOGcbe{ivg_NR?E3j5bk~o=Zxeq^>4xE{)Yn28K+O>x|B^rz24SVr z#Y~r&E;3zcx&TUtc~ClR$<+?4;kP87(v?H$uoOy%F(~~M8;f$8e+;ewgN!%}@+Yma zOr?vMW3tjM3U7~nC^zsQ74p+is4oG7b)H1;o9*e{08<3r5lCP@eq_57=Y4GpE2I61=nZ}4OUTS zthM@T_yq#Rpv+VO{5pa1l`acP2boYhNH?Y_T?&+Ti#w76eCQ^&pp3g&3Q{o+x55$A zeXtJ4UZv|YdkYl52GiB>Yxq?uUAftdp!nsR&V(1^m!Wj2345H3vej`8N+OdmhU0|N z4M7>vfYSAu?ls*5Wof#gEKMtX2-d;GZif=L0$xO%a-}PR8{!xWrNAc4SH|*8=RgUZ z1tstzU$!BeYX;WRZd&Qapmf*=rNa&=OVJJ`@m6Dt(ltU!s2axCQm8OP3A~U7#Y$IT z_Dm>KnPxfwFTihUdxCBbN{6#hI-E96DcuB=4u_$v{gBf2ZRhxxiVh6YL5n%o!Q*kP zRk|v($DsHXn$CuN0x6cIbSY30h$vma^wOaTyIX`Zqw`Q^bm~x!f0?=w3^H}YP!j5e z=M$($={jIyN?~G3jV(&o2&G*Olo3`dU4_|;VPZ3y&V(PwFC(r6mueM@e6fl+&O!+| z0gG@PSGs;E3G^vlkLhmHT~J2Y0cC`ZPzG29Wq_4X;>KVNapEOfaCuMy=O|s4=}glZ zPy(kx2|Rs>%^Z}#y-;ST2TGhSW2e%!L+Q8yo=bhbGVZD58E^=0QG(6U$M$ zOtVLz1V~o8`EA;MPU*&>v>$?eI4CxtbX`yq>r}e-1moP{n4uNQ2%DjduoTMFOi{Xk)i1GrQomrFSGp)D=rrx}_~T@+l}IpM;6TV3j1M zbUjcy>{hx?(;cSUp>)^^rNeTu!(#Yl+7)eyCkieH!$VZ0K_iiXOwOV z%GGcfN@Bh6Ec|+uuG8%G@Jrb1l&%<7O2L@%7FNJT{4${=oB<`_G-ImLC0l*K?2DW5ljDCu3i2Wo%19=m9H$dXH){57 z_&MxdN>>X{Mb{`@G5jpLNa+fp#LI?qvB^@pbh9s{%kfXeJO${6p#&UKx_0;(beqz( zLJ3$8i?G)zT?Ld8mn&VV>6qyfC^K0EWhS#>;%H0f_?M}SV35EI8nI(!i#B%gyXr>6eP0|D47jGNnijeD0!!;Ofkjw`o`Iht(6rJ`n0*L- z68nJCb;D1fyOgdLO8W{}jJ;gxN}vp^7)pYLLOK2m)Zp@FJ>4weT1I4eybTd2-zec62GkXP$i(||T1yD{D`AU~<_Eac-@{W^qJjc5g zMflAs-58V+jVj%+=^@htP^P>O$|miAGUE+v?D((8Ac3pku>`7Ax)LaXibb;x7 zD1mdJ1YSthz?1M)^ceh@B&Kx3P?lf_O5Fa`xEA`<;JTnB(hB)_Z>&Y>8q8h=WhTl^ z7ehWOA1hM2EVC~ipdBqj>1f_Kr*xC1C*o!pGsCFq5hx=Yf{7`Ei7A6JvU-@9G04{d z#444p1SV!o=?YC3n9hfZ8G{lxKDECFmT!ubz^{X&UB6GYSUFv5~zTZKrxgAij*!5 z%1kY$XvgzVI-G+tuo>fYg1rAXVGiR~F=`x9x^AoQGJA)y-Rc`nH<+$7U2D1qO2So8 z63&E@U@|OfUlLy}&Xg-%Gi*gSDqSse4{k1+p|K&u&Al&%>{zy>G*%b+YtsnQifS&{;!lc(g#49>04j;Ek>FsXForpHW= zLWw^dryw1qLm6o*lqpYv5+K>%YoPQO zuc9CwRzm5p+*qb`C01W-_CjNU)#pJu5oN;fz{!xlvpJ!3WAG!y9aXvkcpv@s!QJe? zSg#gbCzJ#_l&;NmtLYXfBWr{*vgTwRK?9Tl)I(`sYphYaa?@p|W2Q?Irt@xLW$P~ zKS+J+`@H_5;Oa5#Vq`UNh&QIHm1kta2WXID_K4YM-c$bpDE|G*Guoi+g;ppt*=%f7 zx_X$nYC^fgs(de=D7Z4KD1=+-Fwb-b4E-_sUrK3V99i_p<;rfntum}@}E0i^!R=NqZ4?&sfzJ%uf zzmq~9jvY$ZnyBEd6DW?=rpw@w_?0SMvDtH=_+^?-fk(*5m2QbQ2NDTE@tZU~0(04a zv0*826m&ybn=Ym6Fx_st4a&${pp3i*%E-&0tZ^!osZD_rC)p_PPN3c5KQxh9D2Hh` zjLY%cMFF}FC;{4`1ZXw3C|#ZDTGQ30t4voyNw6GBf`w2L%z~0&29)^eP~xZlgX3Qc zDQa-ZP^N0(ZOyPB$|mYlx-Pf@-Kli#rrS)nLP?+*N&*Xi*969)Brps&(0)ki`v1=S zi=od9y-)&lLkUm?Wdt!O0rDXK&s|v16Vo)56VR0MjBzLf7=rTpVL<76%-#lN4>X&u zjZ@f(V~x@kSw#*!9DBCX@i5>-;JLRnz%-PO#vtE86&qE$UbA<=Z0zkyS7Y`Pco_C# zrHiLi*p4Ah=@$0#CCcb|r5lAZ!V%>e?NHXR4a&^57@L)@-s`?i_^5y^+36Zw7@J9XjZyfaAH;oqlpF?cuib8qmq({wNfrK1rj1L=XX zm)fDkZIgQTUv7&z)WE9=SgmwrP#P3LX;26yU_O+9=~ln=y4FuYS(-^GGcax(Q@Rl- zd!`R=rM?%&DY#CnXo1_PXjZx^v!@%Ap)?FA-Ta((I0vP}8RN9ljhP-bJ#2c&^uQd) zzl^94gN&#J%7|;BjJQ%AV--qQX1dgL3`+ZADDBgrv|oBn+s{HyDX|%)n}l-a>ws5d zZ-0&Xr{F3v$eNWxnZg*95fvMYlrGciGt8c5Ottz5lqp{PtDV5$HN@#tx-KXkcPhF5 zQ;?48m9Exwjp=GABdmln!iiUPgndwEr~}FgsR2sj^-$u~8f%oU3QA&SP-Y+%N@DR8 zEx4sw&1_NWW?&``(@Hl2CGfD)4VdmX-3KMn9w>=sKv{}~S2WQ{C<#tLi8H2*$40f_ zhGAlNLdmcaN`@6m7lSf&B}$hMx1jTsE)7cHRHciUPBtBYlHlTBG{I{4ki7p_L_wx< z@nybdo&fT659lT#SI*pSD2cT~*-R};*8nBad?<5Vp~M@8 z--%PGryv39l&%JDMpr9c3`(F9r7JRBXu1H($nu~}eKM4I@>fdGO;IUJF$`s(-B1$j zf{DNX>7XDTv@2aJlnfhSVuUa;LZ!=w8Te-@T?9(|WTjhrN%f-AEkLSr=b$9m041Ty zmpJ|ZP!g@nT>1g2vAE5P#dB*Z z@a9Ht6_m^D^psBFlyTBH041>&cqgob{rDGJeF2n&^Ncx4mudAGW=}JwCdljmr9WuH zMWvfJJ!g6r%1Ec7jIOm{hbc%0 z15i3>l?qr7*VC|0=_;XYwjwBjGojpYMBqo^=^_+EVu@psdQ7%CBB<7HmP)N@Br#tm97}>k1kTW#b{HI&#nWf7H^b}V6h>%u0_=q{ z;!Y@mO8Mt1bS9LHQ{gV`$xsd-agw7aaEIFadU;+3o3dBwY9WKot%9?9l{bP^LJ`*mkQX)C^^0bGPt(6u9s+wa-Ga*TI))7l1O5ssGaY&YSf_ z)dD4M1(f=do0)$xq?^P1Pt~CsGPvA1(iKiZ>7e6Ao@7nJ?Ml}GWe-$A30MjxUNMw2 zV-A$|X;7AGsMAIcWdJ3eaa*e!)G-@MN2S+mfMO^*+4SO1R98R=TxxovLjyO$H?fyP z-gV8*gE1I^_rPgiIbdvyQ#hWAYBLnUo#=G@`Z)c^yv; z!oLnmM=@ijai*OFu@68Fgxppre(_2QtrYUj5HU{uhzBcS?}JCfX82=R0lzE$@B)|u ze^0=fYk7hY9D-lP-VXT%S8fgD4_xrlx%4VvE(m^%+7CPH>I{Z3%?kcUHg5N+7!wuC${8O28Hw*Ixw9Izm1MS z8QAO(bYN{z{Oe&{9BL_uLpqcxONB3!NQ%-eTwx=F;y(e!zXq;>rSMq-F0}B7BihX? zT`jDqz8Z>u36v!)g0f@_-{<%zx!C;oc{VCDF$v$HqEj@EZBQDHd{6g6AAE}XMz|h( z6+8i!Lz#&}ct6ZAra+mg;mdgsiFW-^;r@|i4W0?DqRj7C(Ocy z%2s3F1?tzUbY-xFqq0=!fA&1@u%kE;#fs18HinH+0E?*3SGoW^j&8?mwAq-@zvDb_ z<7tvjHu6(&_BJBKEo1jymmMS&gd}W-6l;Jps0lF!x=!5$au+4Ncya~TXrK>f25#+BAbMs7R!CUdmRJv5N zPk)i;2jVvjcacCpd;-6|xE5TORn)>maIAtdMI~l0gjdp_K)74%J#a^RyMP^SnyZqHH^{)L3 zJob$^B~bi}l`a`d{E^etKCE=@5PLkgoWk#L=qgvoGWa0^lq%iG=hfZ}#onlNWoAz| zdz#sMKBtLPK=ChEx^yUsOnz4F6A5y??4ckPHBb`iFH>C&zuTi=jDE-Zyf;~>ftQ45SAt)7%@ON;!RCPN%1-~|>D=_=gr`5iw zbQ4h8cbL81?8WeD?29L>|ANwu!?-kPw~98asDWb7gOW(^NxB&uq1cN}7r}ejl!Z!{ zWA=rZ`u9QcuZ7}QqjW`PPmXc?O9lTEy2%r@VJCc=hLxr(p!k(5U5VKxGGqp$uT`1l7%OfjEsymvKT|E2c}dVoK=-paf_zd%fASpd>c+DfORJx;`lWb!M+M zd(7;qP!ehVqz9jq39kc0lJm0-R!kc63Vms9IKC*ee75rfIMkc z;>ZKOCfI+u(;rjA6#OA0pH#Y0v$q*zP&!D_`dCEirkvWlptSE)x;iKw6+l^nr9#z< zQ2Z8z9RF^{Dh8l*P;U-(N>^g`6evqj_EGhVz#9mZtaS2hQE6WQ#h$Np5wnkdSnZ=q zR{`UaS*lf}ScN>`O#;c|$|O*W(p8u}6G|eDA5y=3cmqq4r*!hPENR~f#onQGb!IOx zd%iqL6$dx-0iB`_C=J?`t`=Q?-e;XA4QYd~grOPz?%n@pzR=NQwi8VkO zK)lEdh3XJ1P`YfhFXd_nLr^*xP`XyLmqHmpUyk}!!7=$ib@X;Y|#r?qH68 z3T}3@R`fur=vKOVv&)mQ#a>|cu?(9LDE0=WD}>VF(m`rpRJt)J_BJSq%pa(_`@p!~ zuXka%l|)LcB1Ls9V)mI$mLSA0)~$49P-Y}z_GGh9r&|Y5{JWH{!R$p)5^0HVRL4U2 zgp5$>dN-)O28z8}=?cv*zkw0^()t8l8%!*X>R6H4bX2KyrDjhzPOMe`b|`*rN>^oec>ucDv&_Dt`>TCI>H1*e`d?=iwN?>< zWR^R$S{n=~T_cnZi_BhV_H?sPrD!4rQ2ZA6M zbn?7FNhD_W60>JP2{gOX{FQDPioF>oW+bAz8xE34m(mrPJsHNOLf+(pZfb=#=z?PJ zRJs_HL{iKiG5btd{d=JJcPm|^*^8khB9BIu#LD0Rex*t`k<9OcrJ^HQE94o0IJjCk z;os5VZ9Hce)s3E3Hz=Jvc~A10461!X>3X1q%ZL0wmZx;7P~!9^seg~s@rpd*p9OFC zb1(5W#^g2gQXui#*%d-bpAE)&DzJYEyaE=$7MKmc4>^_t--FCz;4;{_F7e)Wcz4Ss zUe5j}(0RCo5etiq1&~P$=Rw9A&NgNm(;-{;BDHOX!w_W&tzI&}$COme75s=PZFC)90Ih#Pl1Mz+zt2!BEY518J&5XSv_4FUO-!fcLt{H#Gbe8E|mSC~z6{bIF`a(;%#PoBP;Ac(0 zxtb1Hl2luga;yI$_0oUf_m=V5*5C`KYfS&aGQPlcuO)b~>0Hx4GW|`?t+MU&ti$&# z!H2E>Y}3CkPfGM3c)~Jz(i~1UJ#P9bOXykCrKW#x`nQ(gi>7b3g#Kju5Yw-izS3s! z^>R+M^7EEu^p-iCZu%Y5k61!Wri)ESPSf_kvV_)~{-o(F)4#C<^G$bHLTALyu*nP! zrZ2S&TTQ=e3EgP=6w|v*|H2X)F#QqJzczhC8cVV=5NNa|dB75kKWYwzW_Z^0gO>4> z>8mZlmrTo(!etlFnf|6F{14MFT7r=;=nQ?z^aj&+X@c=UmKo$J)Dm!~>ANkVV@w}y zy3q8!mSC~zW=rTRrbDJLG=07$_$|}VBobo(U1|nr8Md1KnI-gN(;v;!U0q~Tc&jCJ zyVYl#zQ=T$`Inmiw=JO|tN*7Y6lcVbnBmKo;e_eOEuoi8A7gsX^bMBag6Ry?@_hmF zbE72`GJUY=G}Cf-8<*p>(lV^I471GPZFuVUF@3cqIA!|n!&!ex zV8#sJvqyP92R19;HRj91AFkF@w%Aba^JF`Z>PWO{jqwu+{G#M;X<*(JepTaq_SSBsYG-#-33fJ1iq z*~lxlYlA|$m*c0{>X#qiyu<4AtbW4uwCNh_pu;-MCAP#LI#JIH=bL{j{{Ga>UPgTR zF~`|k)N?7Oo?o+`m!HG@6N^-Niq?CKKqAkYuC(^c&sF{)FRZ10`8mx$w4M`psl@&= zFITBQBrx?M4S1t97~%Jd@-ucQ4s@v-&ox zuQ0v*2Q3+Ev%1XB5kvwlKg<2|7IwWj=p7%7t lvuxd4Y~fa#ZZrKGJAhjE?Y_R>JAOyfQM-Tlg10yMe*s6YEH3~6 delta 68928 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 diff --git a/bindings/odin/clay-odin/macos/clay.a b/bindings/odin/clay-odin/macos/clay.a index 5eaf46a0406ec948b508879b9938371850fefee4..fe31e7b54ffcc83f08c5b8bf67a84f2bfb682cfe 100644 GIT binary patch delta 20394 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 MbB6zxGVewGKXC$|&j0`b delta 20023 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%0AG3rn#>!h(;HNUTJ#u4ve8l2k{D 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 diff --git a/bindings/odin/clay-odin/windows/clay.lib b/bindings/odin/clay-odin/windows/clay.lib index 08dbf41d7431930f35e1e71c134edd6791fb97dd..9021b7c9fe08beae1d4df6b2fa4855db56cd6abf 100644 GIT binary patch delta 30359 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�

ahPkl8$ixC${1b>n!5jhjPk+)gwI%BWW6D~Zh) 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 HA?N=Aezzx; delta 29916 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 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().configure({ id = clay.ID("PerformanceLeftText"), layout = { sizing = { width = widthSizing }, layoutDirection = .TOP_TO_BOTTOM, childGap = 8 } }) { + if clay.UI().configure({ id = clay.ID("PerformanceLeftText"), layout = { sizing = { width = widthSizing }, layoutDirection = .TopToBottom, childGap = 8 } }) { clay.Text("High Performance", clay.TextConfig(titleTextConfig)) if clay.UI().configure({ layout = { sizing = { width = clay.SizingGrow({ max = 16 }) } }}) {} clay.Text( @@ -271,7 +271,7 @@ HighPerformancePage :: proc(lerpValue: f32, titleTextConfig: clay.TextElementCon clay.TextConfig({fontSize = 28, fontId = FONT_ID_BODY_36, textColor = COLOR_LIGHT}), ) } - if clay.UI().configure({ id = clay.ID("PerformanceRightImageOuter"), layout = { sizing = { width = widthSizing }, childAlignment = { x = .CENTER } } }) { + 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) } }, @@ -279,14 +279,14 @@ HighPerformancePage :: proc(lerpValue: f32, titleTextConfig: clay.TextElementCon }) { 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) }, + layout = { sizing = { clay.SizingPercent(0.35 + 0.3 * lerpValue), clay.SizingGrow({ }) }, childAlignment = { y = .Center }, padding = clay.PaddingAll(16) }, backgroundColor = 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().configure({ id = clay.ID("AnimationDemoContainerRight"), - layout = { sizing = { clay.SizingGrow({ }), clay.SizingGrow({ }) }, childAlignment = { y = .CENTER }, padding = clay.PaddingAll(16) }, + layout = { sizing = { clay.SizingGrow({ }), clay.SizingGrow({ }) }, childAlignment = { y = .Center }, padding = clay.PaddingAll(16) }, backgroundColor = ColorLerp(COLOR_ORANGE, COLOR_RED, lerpValue), }) { clay.Text(LOREM_IPSUM_TEXT, clay.TextConfig({fontSize = 16, fontId = FONT_ID_BODY_16, textColor = COLOR_LIGHT})) @@ -298,7 +298,7 @@ HighPerformancePage :: proc(lerpValue: f32, titleTextConfig: clay.TextElementCon HighPerformancePageDesktop :: proc(lerpValue: f32) { 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 }, + layout = { sizing = { clay.SizingGrow({ }), clay.SizingFit({ min = cast(f32)windowHeight - 50 }) }, childAlignment = { y = .Center }, padding = { 82, 82, 32, 32 }, childGap = 64 }, backgroundColor = COLOR_RED, }) { HighPerformancePage(lerpValue, {fontSize = 52, fontId = FONT_ID_TITLE_52, textColor = COLOR_LIGHT}, clay.SizingPercent(0.5)) @@ -309,9 +309,9 @@ HighPerformancePageMobile :: proc(lerpValue: f32) { if clay.UI().configure({ id = clay.ID("PerformanceMobile"), layout = { - layoutDirection = .TOP_TO_BOTTOM, + layoutDirection = .TopToBottom, sizing = { clay.SizingGrow({ }), clay.SizingFit({ min = cast(f32)windowHeight - 50 }) }, - childAlignment = { x = .CENTER, y = .CENTER }, + childAlignment = { x = .Center, y = .Center }, padding = { 16, 16, 32, 32 }, childGap = 32, }, @@ -345,7 +345,7 @@ RendererButtonInactive :: proc(index: u32, text: string) { } RendererPage :: proc(titleTextConfig: clay.TextElementConfig, widthSizing: clay.SizingAxis) { - if clay.UI().configure({ id = clay.ID("RendererLeftText"), layout = { sizing = { width = widthSizing }, layoutDirection = .TOP_TO_BOTTOM, childGap = 8 } }) { + if clay.UI().configure({ id = clay.ID("RendererLeftText"), layout = { sizing = { width = widthSizing }, layoutDirection = .TopToBottom, childGap = 8 } }) { clay.Text("Renderer & Platform Agnostic", clay.TextConfig(titleTextConfig)) if clay.UI().configure({ layout = { sizing = { width = clay.SizingGrow({ max = 16 }) } } }) {} clay.Text( @@ -363,7 +363,7 @@ RendererPage :: proc(titleTextConfig: clay.TextElementConfig, widthSizing: clay. } if clay.UI().configure({ id = clay.ID("RendererRightText"), - layout = { sizing = { width = widthSizing }, childAlignment = { x = .CENTER }, layoutDirection = .TOP_TO_BOTTOM, childGap = 16 }, + layout = { sizing = { width = widthSizing }, childAlignment = { x = .Center }, layoutDirection = .TopToBottom, childGap = 16 }, }) { clay.Text("Try changing renderer!", clay.TextConfig({fontSize = 36, fontId = FONT_ID_BODY_36, textColor = COLOR_ORANGE})) if clay.UI().configure({ layout = { sizing = { width = clay.SizingGrow({ max = 32 }) } } }) {} @@ -374,11 +374,11 @@ RendererPage :: proc(titleTextConfig: clay.TextElementConfig, widthSizing: clay. RendererPageDesktop :: proc() { 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 } }, + 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 }, + layout = { sizing = { clay.SizingGrow({ }), clay.SizingGrow({ }) }, childAlignment = { y = .Center }, padding = clay.PaddingAll(32), childGap = 32 }, border = { COLOR_RED, { left = 2, right = 2 } }, }) { RendererPage({fontSize = 52, fontId = FONT_ID_TITLE_52, textColor = COLOR_RED}, clay.SizingPercent(0.5)) @@ -390,9 +390,9 @@ RendererPageMobile :: proc() { if clay.UI().configure({ id = clay.ID("RendererMobile"), layout = { - layoutDirection = .TOP_TO_BOTTOM, + layoutDirection = .TopToBottom, sizing = { clay.SizingGrow({ }), clay.SizingFit({ min = cast(f32)windowHeight - 50 }) }, - childAlignment = { x = .CENTER, y = .CENTER }, + childAlignment = { x = .Center, y = .Center }, padding = { 16, 16, 32, 32 }, childGap = 32, }, @@ -416,12 +416,12 @@ createLayout :: proc(lerpValue: f32) -> clay.ClayArray(clay.RenderCommand) { clay.BeginLayout() if clay.UI().configure({ id = clay.ID("OuterContainer"), - layout = { layoutDirection = .TOP_TO_BOTTOM, sizing = { clay.SizingGrow({ }), clay.SizingGrow({ }) } }, + layout = { layoutDirection = .TopToBottom, sizing = { clay.SizingGrow({ }), clay.SizingGrow({ }) } }, backgroundColor = 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 } }, + layout = { sizing = { clay.SizingGrow({ }), clay.SizingFixed(50) }, childAlignment = { y = .Center }, childGap = 24, padding = { left = 32, right = 32 } }, }) { clay.Text("Clay", &headerTextConfig) if clay.UI().configure({ layout = { sizing = { width = clay.SizingGrow({ }) } } }) {} @@ -452,7 +452,7 @@ createLayout :: proc(lerpValue: f32) -> clay.ClayArray(clay.RenderCommand) { if clay.UI().configure({ id = clay.ID("ScrollContainerBackgroundRectangle"), scroll = { vertical = true }, - layout = { sizing = { clay.SizingGrow({ }), clay.SizingGrow({ }) }, layoutDirection = clay.LayoutDirection.TOP_TO_BOTTOM }, + layout = { sizing = { clay.SizingGrow({ }), clay.SizingGrow({ }) }, layoutDirection = clay.LayoutDirection.TopToBottom }, backgroundColor = COLOR_LIGHT, border = { COLOR_RED, { betweenChildren = 2} }, }) { @@ -483,8 +483,8 @@ loadFont :: proc(fontId: u16, fontSize: u16, path: cstring) { } errorHandler :: proc "c" (errorData: clay.ErrorData) { - if (errorData.errorType == clay.ErrorType.DUPLICATE_ID) { - + if (errorData.errorType == clay.ErrorType.DuplicateId) { + // etc } } diff --git a/clay.h b/clay.h index aed35d1..d4b2896 100644 --- a/clay.h +++ b/clay.h @@ -519,6 +519,7 @@ typedef CLAY_PACKED_ENUM { CLAY_ERROR_TYPE_TEXT_MEASUREMENT_CAPACITY_EXCEEDED, CLAY_ERROR_TYPE_DUPLICATE_ID, CLAY_ERROR_TYPE_FLOATING_CONTAINER_PARENT_NOT_FOUND, + CLAY_ERROR_TYPE_PERCENTAGE_OVER_1, CLAY_ERROR_TYPE_INTERNAL_ERROR, } Clay_ErrorType; @@ -1502,6 +1503,12 @@ void Clay__ConfigureOpenElement(const Clay_ElementDeclaration declaration) { Clay_Context* context = Clay_GetCurrentContext(); Clay_LayoutElement *openLayoutElement = Clay__GetOpenLayoutElement(); openLayoutElement->layoutConfig = Clay__StoreLayoutConfig(declaration.layout); + if ((declaration.layout.sizing.width.type == CLAY__SIZING_TYPE_PERCENT && declaration.layout.sizing.width.size.percent > 1) || (declaration.layout.sizing.height.type == CLAY__SIZING_TYPE_PERCENT && declaration.layout.sizing.height.size.percent > 1)) { + context->errorHandler.errorHandlerFunction(CLAY__INIT(Clay_ErrorData) { + .errorType = CLAY_ERROR_TYPE_PERCENTAGE_OVER_1, + .errorText = CLAY_STRING("An element was configured with CLAY_SIZING_PERCENT, but the provided percentage value was over 1.0. Clay expects a value between 0 and 1, i.e. 20% is 0.2."), + .userData = context->errorHandler.userData }); + } if (declaration.id.id != 0) { Clay__AttachId(declaration.id); } else if (openLayoutElement->id == 0) { From e7bc3869f73e08e0d140f7560bd124324245771d Mon Sep 17 00:00:00 2001 From: tomat Date: Thu, 6 Feb 2025 22:26:49 +0000 Subject: [PATCH 10/11] [Renderers/SDL2] Add rounded rectangle support to sdl2 renderer; feature-completes sdl2 renderer (#245) --- renderers/SDL2/README | 4 - renderers/SDL2/clay_renderer_SDL2.c | 115 +++++++++++++++++++++++++++- 2 files changed, 114 insertions(+), 5 deletions(-) diff --git a/renderers/SDL2/README b/renderers/SDL2/README index d962c42..a5a7f06 100644 --- a/renderers/SDL2/README +++ b/renderers/SDL2/README @@ -1,7 +1,3 @@ -Please note, the SDL2 renderer is not 100% feature complete. It is currently missing: - -- Rounded rectangle corners - Note: on Mac OSX, SDL2 for some reason decides to automatically disable momentum scrolling on macbook trackpads. You can re enable it in objective C using: diff --git a/renderers/SDL2/clay_renderer_SDL2.c b/renderers/SDL2/clay_renderer_SDL2.c index 811c6ef..088bf5b 100644 --- a/renderers/SDL2/clay_renderer_SDL2.c +++ b/renderers/SDL2/clay_renderer_SDL2.c @@ -33,6 +33,114 @@ static Clay_Dimensions SDL2_MeasureText(Clay_StringSlice text, Clay_TextElementC }; } +/* Global for convenience. Even in 4K this is enough for smooth curves (low radius or rect size coupled with + * no AA or low resolution might make it appear as jagged curves) */ +static int NUM_CIRCLE_SEGMENTS = 16; + +//all rendering is performed by a single SDL call, avoiding multiple RenderRect + plumbing choice for circles. +static void SDL_RenderFillRoundedRect(SDL_Renderer* renderer, const SDL_FRect rect, const float cornerRadius, const Clay_Color _color) { + const SDL_Color color = (SDL_Color) { + .r = (Uint8)_color.r, + .g = (Uint8)_color.g, + .b = (Uint8)_color.b, + .a = (Uint8)_color.a, + }; + + int indexCount = 0, vertexCount = 0; + + const float minRadius = SDL_min(rect.w, rect.h) / 2.0f; + const float clampedRadius = SDL_min(cornerRadius, minRadius); + + const int numCircleSegments = SDL_max(NUM_CIRCLE_SEGMENTS, (int)clampedRadius * 0.5f); + + SDL_Vertex vertices[512]; + int indices[512]; + + //define center rectangle + vertices[vertexCount++] = (SDL_Vertex){ {rect.x + clampedRadius, rect.y + clampedRadius}, color, {0, 0} }; //0 center TL + vertices[vertexCount++] = (SDL_Vertex){ {rect.x + rect.w - clampedRadius, rect.y + clampedRadius}, color, {1, 0} }; //1 center TR + vertices[vertexCount++] = (SDL_Vertex){ {rect.x + rect.w - clampedRadius, rect.y + rect.h - clampedRadius}, color, {1, 1} }; //2 center BR + vertices[vertexCount++] = (SDL_Vertex){ {rect.x + clampedRadius, rect.y + rect.h - clampedRadius}, color, {0, 1} }; //3 center BL + + indices[indexCount++] = 0; + indices[indexCount++] = 1; + indices[indexCount++] = 3; + indices[indexCount++] = 1; + indices[indexCount++] = 2; + indices[indexCount++] = 3; + + //define rounded corners as triangle fans + const float step = (M_PI / 2) / numCircleSegments; + for (int i = 0; i < numCircleSegments; i++) { + const float angle1 = (float)i * step; + const float angle2 = ((float)i + 1.0f) * step; + + for (int j = 0; j < 4; j++) { // Iterate over four corners + float cx, cy, signX, signY; + + switch (j) { + case 0: cx = rect.x + clampedRadius; cy = rect.y + clampedRadius; signX = -1; signY = -1; break; // Top-left + case 1: cx = rect.x + rect.w - clampedRadius; cy = rect.y + clampedRadius; signX = 1; signY = -1; break; // Top-right + case 2: cx = rect.x + rect.w - clampedRadius; cy = rect.y + rect.h - clampedRadius; signX = 1; signY = 1; break; // Bottom-right + case 3: cx = rect.x + clampedRadius; cy = rect.y + rect.h - clampedRadius; signX = -1; signY = 1; break; // Bottom-left + default: return; + } + + vertices[vertexCount++] = (SDL_Vertex){ {cx + SDL_cosf(angle1) * clampedRadius * signX, cy + SDL_sinf(angle1) * clampedRadius * signY}, color, {0, 0} }; + vertices[vertexCount++] = (SDL_Vertex){ {cx + SDL_cosf(angle2) * clampedRadius * signX, cy + SDL_sinf(angle2) * clampedRadius * signY}, color, {0, 0} }; + + indices[indexCount++] = j; // Connect to corresponding central rectangle vertex + indices[indexCount++] = vertexCount - 2; + indices[indexCount++] = vertexCount - 1; + } + } + + //Define edge rectangles + // Top edge + vertices[vertexCount++] = (SDL_Vertex){ {rect.x + clampedRadius, rect.y}, color, {0, 0} }; //TL + vertices[vertexCount++] = (SDL_Vertex){ {rect.x + rect.w - clampedRadius, rect.y}, color, {1, 0} }; //TR + + indices[indexCount++] = 0; + indices[indexCount++] = vertexCount - 2; //TL + indices[indexCount++] = vertexCount - 1; //TR + indices[indexCount++] = 1; + indices[indexCount++] = 0; + indices[indexCount++] = vertexCount - 1; //TR + // Right edge + vertices[vertexCount++] = (SDL_Vertex){ {rect.x + rect.w, rect.y + clampedRadius}, color, {1, 0} }; //RT + vertices[vertexCount++] = (SDL_Vertex){ {rect.x + rect.w, rect.y + rect.h - clampedRadius}, color, {1, 1} }; //RB + + indices[indexCount++] = 1; + indices[indexCount++] = vertexCount - 2; //RT + indices[indexCount++] = vertexCount - 1; //RB + indices[indexCount++] = 2; + indices[indexCount++] = 1; + indices[indexCount++] = vertexCount - 1; //RB + // Bottom edge + vertices[vertexCount++] = (SDL_Vertex){ {rect.x + rect.w - clampedRadius, rect.y + rect.h}, color, {1, 1} }; //BR + vertices[vertexCount++] = (SDL_Vertex){ {rect.x + clampedRadius, rect.y + rect.h}, color, {0, 1} }; //BL + + indices[indexCount++] = 2; + indices[indexCount++] = vertexCount - 2; //BR + indices[indexCount++] = vertexCount - 1; //BL + indices[indexCount++] = 3; + indices[indexCount++] = 2; + indices[indexCount++] = vertexCount - 1; //BL + // Left edge + vertices[vertexCount++] = (SDL_Vertex){ {rect.x, rect.y + rect.h - clampedRadius}, color, {0, 1} }; //LB + vertices[vertexCount++] = (SDL_Vertex){ {rect.x, rect.y + clampedRadius}, color, {0, 0} }; //LT + + indices[indexCount++] = 3; + indices[indexCount++] = vertexCount - 2; //LB + indices[indexCount++] = vertexCount - 1; //LT + indices[indexCount++] = 0; + indices[indexCount++] = 3; + indices[indexCount++] = vertexCount - 1; //LT + + // Render everything + SDL_RenderGeometry(renderer, NULL, vertices, vertexCount, indices, indexCount); +} + SDL_Rect currentClippingRectangle; static void Clay_SDL2_Render(SDL_Renderer *renderer, Clay_RenderCommandArray renderCommands, SDL2_Font *fonts) @@ -53,7 +161,12 @@ static void Clay_SDL2_Render(SDL_Renderer *renderer, Clay_RenderCommandArray ren .w = boundingBox.width, .h = boundingBox.height, }; - SDL_RenderFillRectF(renderer, &rect); + if (config->cornerRadius.topLeft > 0) { + SDL_RenderFillRoundedRect(renderer, rect, config->cornerRadius.topLeft, color); + } + else { + SDL_RenderFillRectF(renderer, &rect); + } break; } case CLAY_RENDER_COMMAND_TYPE_TEXT: { From 5b0e5ea4563dbdf2ae5e5d931e330b67f1f63ad2 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 7 Feb 2025 11:30:11 +1300 Subject: [PATCH 11/11] [Documentation] Update README to fix quick start example nesting --- README.md | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 8e1c334..f6058b6 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,7 @@ int main() { .id = CLAY_ID("SideBar"), .layout = { .layoutDirection = CLAY_TOP_TO_BOTTOM, .sizing = { .width = CLAY_SIZING_FIXED(300), .height = CLAY_SIZING_GROW(0) }, .padding = CLAY_PADDING_ALL(16), .childGap = 16 }, .backgroundColor = COLOR_LIGHT } - ) { + }) { CLAY({ .id = CLAY_ID("ProfilePictureOuter"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0) }, .padding = CLAY_PADDING_ALL(16), .childGap = 16, .childAlignment = { .y = CLAY_ALIGN_Y_CENTER } }, .backgroundColor = COLOR_RED }) { 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(CLAY_STRING("Clay - UI Library"), CLAY_TEXT_CONFIG({ .fontSize = 24, .textColor = {255, 255, 255, 255} })); @@ -103,22 +103,20 @@ int main() { CLAY({ .id = CLAY_ID("MainContent"), .layout = { .sizing = { .width = CLAY_SIZING_GROW(0), .height = CLAY_SIZING_GROW(0) } }, .backgroundColor = COLOR_LIGHT }) {} } + } - // All clay layouts are declared between Clay_BeginLayout and Clay_EndLayout - Clay_RenderCommandArray renderCommands = Clay_EndLayout(); + // All clay layouts are declared between Clay_BeginLayout and Clay_EndLayout + Clay_RenderCommandArray renderCommands = Clay_EndLayout(); - // More comprehensive rendering examples can be found in the renderers/ directory - for (int i = 0; i < renderCommands.length; i++) { - Clay_RenderCommand *renderCommand = &renderCommands.internalArray[i]; + // More comprehensive rendering examples can be found in the renderers/ directory + for (int i = 0; i < renderCommands.length; i++) { + Clay_RenderCommand *renderCommand = &renderCommands.internalArray[i]; - switch (renderCommand->commandType) { - case CLAY_RENDER_COMMAND_TYPE_RECTANGLE: { - DrawRectangle( - renderCommand->boundingBox, - renderCommand->renderData.rectangle.backgroundColor); - } - // ... Implement handling of other command types + switch (renderCommand->commandType) { + case CLAY_RENDER_COMMAND_TYPE_RECTANGLE: { + DrawRectangle( renderCommand->boundingBox, renderCommand->renderData.rectangle.backgroundColor); } + // ... Implement handling of other command types } } }

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 delta 42849 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 diff --git a/bindings/odin/clay-odin/macos-arm64/clay.a b/bindings/odin/clay-odin/macos-arm64/clay.a index c4c75760308073bf8b42f68b77b7bb6a44e36ae4..1b14f7456e0ed337ac4d6ab5983c5d143f840f70 100644 GIT binary patch delta 61307 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≧11Sb<)kY{;B7R> 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 NIpMLdJQsCG{~Hyo9B}{u delta 60027 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 diff --git a/bindings/odin/clay-odin/wasm/clay.o b/bindings/odin/clay-odin/wasm/clay.o index dd62c634acbe9ae256fc5f3270e705edeb107355..0243f1e23337e7aa7e60ad9cbf0682c0e6c2911a 100644 GIT binary patch delta 66477 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 OYkV<0RhGqtx&H^_&-<$Y literal 168803 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 Date: Fri, 7 Feb 2025 10:39:55 +1300 Subject: [PATCH 09/11] [Core] Add error for incorrect percentage values, update Odin bindings enum formatting --- bindings/odin/clay-odin/clay.odin | 60 ++++++-------- bindings/odin/clay-odin/linux/clay.a | Bin 170748 -> 171236 bytes bindings/odin/clay-odin/macos-arm64/clay.a | Bin 254664 -> 255216 bytes bindings/odin/clay-odin/macos/clay.a | Bin 142056 -> 142424 bytes bindings/odin/clay-odin/wasm/clay.o | Bin 259247 -> 259919 bytes bindings/odin/clay-odin/windows/clay.lib | Bin 171496 -> 172057 bytes .../clay-official-website.odin | 74 +++++++++--------- clay.h | 7 ++ 8 files changed, 68 insertions(+), 73 deletions(-) diff --git a/bindings/odin/clay-odin/clay.odin b/bindings/odin/clay-odin/clay.odin index 35ba9f0..cc529ba 100644 --- a/bindings/odin/clay-odin/clay.odin +++ b/bindings/odin/clay-odin/clay.odin @@ -75,19 +75,6 @@ when ODIN_OS == .Windows { EnumBackingType :: u8 } -ElementConfigType :: enum EnumBackingType { - Rectangle = 1, - Border = 2, - Floating = 4, - Scroll = 8, - Image = 16, - Text = 32, - Custom = 64, - // Odin specific enum types - Id = 65, - Layout = 66, -} - RenderCommandType :: enum EnumBackingType { None, Rectangle, @@ -247,10 +234,10 @@ ScrollContainerData :: struct { } SizingType :: enum EnumBackingType { - FIT, - GROW, - PERCENT, - FIXED, + Fit, + Grow, + Percent, + Fixed, } SizingConstraintsMinMax :: struct { @@ -282,20 +269,20 @@ Padding :: struct { } LayoutDirection :: enum EnumBackingType { - LEFT_TO_RIGHT, - TOP_TO_BOTTOM, + LeftToRight, + TopToBottom, } LayoutAlignmentX :: enum EnumBackingType { - LEFT, - RIGHT, - CENTER, + Left, + Right, + Center, } LayoutAlignmentY :: enum EnumBackingType { - TOP, - BOTTOM, - CENTER, + Top, + Bottom, + Center, } ChildAlignment :: struct { @@ -331,13 +318,14 @@ ElementDeclaration :: struct { } ErrorType :: enum { - TEXT_MEASUREMENT_FUNCTION_NOT_PROVIDED, - ARENA_CAPACITY_EXCEEDED, - ELEMENTS_CAPACITY_EXCEEDED, - TEXT_MEASUREMENT_CAPACITY_EXCEEDED, - DUPLICATE_ID, - FLOATING_CONTAINER_PARENT_NOT_FOUND, - INTERNAL_ERROR, + TextMeasurementFunctionNotProvided, + ArenaCapacityExceeded, + ElementsCapacityExceeded, + TextMeasurementCapacityExceeded, + DuplicateId, + FloatingContainerParentNotFound, + PercentageOver1, + InternalError, } ErrorData :: struct { @@ -412,19 +400,19 @@ CornerRadiusAll :: proc(radius: f32) -> CornerRadius { } SizingFit :: proc(sizeMinMax: SizingConstraintsMinMax) -> SizingAxis { - return SizingAxis{type = SizingType.FIT, constraints = {sizeMinMax = sizeMinMax}} + return SizingAxis{type = SizingType.Fit, constraints = {sizeMinMax = sizeMinMax}} } SizingGrow :: proc(sizeMinMax: SizingConstraintsMinMax) -> SizingAxis { - return SizingAxis{type = SizingType.GROW, constraints = {sizeMinMax = sizeMinMax}} + return SizingAxis{type = SizingType.Grow, constraints = {sizeMinMax = sizeMinMax}} } SizingFixed :: proc(size: c.float) -> SizingAxis { - return SizingAxis{type = SizingType.FIXED, constraints = {sizeMinMax = {size, size}}} + return SizingAxis{type = SizingType.Fixed, constraints = {sizeMinMax = {size, size}}} } SizingPercent :: proc(sizePercent: c.float) -> SizingAxis { - return SizingAxis{type = SizingType.PERCENT, constraints = {sizePercent = sizePercent}} + return SizingAxis{type = SizingType.Percent, constraints = {sizePercent = sizePercent}} } MakeString :: proc(label: string) -> String { diff --git a/bindings/odin/clay-odin/linux/clay.a b/bindings/odin/clay-odin/linux/clay.a index fec4aed0dda4438d15d3a8a3bac546e75b98e1bd..59edb4db026e791c61c48eeb464053595ab15810 100644 GIT binary patch delta 37501 zcmZ`?2YgP~`+x7fwoD}Cjq!>VD>95wB6h?IS`$UHU__Cj}d7n)P1Or6kL4o9uv z5QoDN8Vvt9LV|;9*Q^O+osf{);d3K`)LSe){+goX|FM-i7KXG|>SsUN^GqIJHb%4A zqEec9MI|K$zyJ90z74LZq-Jl#BsnEGZJ)D-lT%U2ZJtLZwRd>#hzy+iMjh!Fm8`4$ z<>?jafPdV%s%KE<=*mcdU`;Og6%njP1V?p?L;ND zxdje^ZCN5JDPNoWQ7LWCrA<~U_zI^}!)+sKqTQ&JiCbBE8>LcOP=Z|vPHUM^wfZ_9 z43F$n&(6mos8LQSoE#Me#uLD84CFZzloQfcB^3Q^CD#C#E2ENbMI}W!JiVGFczU&& z_scg;@tNuY+QZ`N%7h!H50%K~v{vCJx|m(t@Fa4NiNXP|~@Z8=g9Goo$38 z3JR*15^N;5?-G?1;{_S^0)HhQ%;91w8IhnG@_LV#v}wc*;wdq@;YiR(?82u<6MMk` zvJiR-pXNlL$PIaVrNlV-n0pf8Tp>Aw4>XBD4ks-LhT##|)mJ%c>aK&_jpwxG+?k$E z3CShTSA(Fv_>gm}3UKgq9eJYngaUnBv3!Jdgmc;W=UI*R*3(%5~?< z<+&qaF3?loK=uXrevzp}je#ZkNw+dH0VLpVpSYVT?heCUaspr3q{LG?0}Y>dt4<~c zrj<>!cT`0*$r*v*DJe_FwvJ0r&ENxg9k1qiJ({?NV{qk!rHpI_A#u^<$nd1Z!)ZTF zt>Mn49#m3zO1T?TW^#p`4Vf~B z-=?H+aoCmR(-Nk6DT~tPP78?Vejjzg66J)bjcjr>aR5+7b*p)K{LsTg0ZHD@@u=hl z{02HF3WjDO2b(5k>cJ)_asaY|e;?WS+VT?GctN0tpo9TI!9XSJ0!fKA^*IkBDKQ-W z?U$T*j1NhP^!D+)1eG5AHE=)-b{*X3#e?UR(@PlL0lzWw&iGf@a76gX<;79gF z2@WSMaKJ!XY}X>5%ZTutrqBUdXD?xj5Bu{OrfkAg0iD&4gjthU0$pD5+>sVL-9Jok zyPdl@CQZH34~`5z?1v_lQQhY-H2(XvEz?W-+=4scY)2EX;Ve1vTH3AYC42LGY3dx; zNpAKW+68tXzx$+7>yecp1)WJs6oTWCNQZF!i94q)#4AgI2or zKCQE)d=Qy&*_lb&A7*1b=w@w;zH@F`Mi_U3iuC}l)r zup|;o@k*;b(^1L`#QS*`O&kg%aQcuG70%ZgI_B${RT>8C%*-{A5p44)ako+2#fZC~ z#9bG-OHSAaH%W=TIFphX^`4dWR4SKC9H2{P@L@mfO}U8S98Ovg2?O)!p!ok-H>qN_ z(vWrkQhCEqCfm+Wzfv5UGu{z5C~k0E{0PVB*smRZhQ#+9*ni~kxW10j14j&SG-=)F z^PU}Bc5T_VMbDUK9hx+2`)M^t?~x-MBL>7dh7KPxYG7Xw9U3>h4_JupALkeqJ7{E_ zZfeM=xZ#eFpx_`!lR>d#9dToZ#`PKTwIdcqddH0z9Tykx=LmMh#`krERC5driVK3L zjS7x|Ups<>LU#^}S5D?w1~J$kvt=Nq<_}^qqm*K>6YjFp0QCN~ z8W+f8D}Zux@U0^3c=D|b*SBJ@#Z?yg2E=)<@@s3Lz*WA<;3_5tTd5$H01ja}@>FL* zV-(-eLMZ8rl4!`*8S^WF_(Qbtdv%rydg|$FY(I=F;VY=sx-m*Ic51XzponyY(zZj@ z*i#TIm<@&CiIrp%XDG#4`LT+Zy(uKcvGRN%SA1pGcC6xS-wmO0Uatw^iw3euoF5D! za=s?v`1H4mY%}K<2l2Z+w)%V^*U0MZ2IqTVv6~W(Pm`)Lk8z5x-$9J8wTXYo8jMql z+v`H@x%p2`^t3=059(~tIH*T=6Ir_w>oH#Ob?$@Mc>AdO&am0|;}^dcRTp?c#P#C^ z@W~J>m-j%NpTqoGi4De=lwa75wky~$rA+n}fp@c&HxV(|NmWhwx7Z({h)c&2SlqtC zZ_dAV=nqKH?vBMBl*5QgP*t{{^Kn?*5hnhd%IqoUuj1lQF!7ZGS?LMDPsPQbX5yb! zWM?KSzJ>nA{teH=I!#b2IveACC(OeS^}fM{7=m~y#J|FYn2opt@lSCfHX<(fixU@O zvkBiJ3U0S;MM8gT0LE@%!84f8M5U6mEZ!bPF(ltS$BBsjb_5+Ob< zSCvI1K&|#ct&03)BBxbm@tl0jN&etKuhM~RIgs`-5E^%Nn36ER1G|>ms|L_bBmFyggEqE1^+BxI(Yv1^ASE(1@+L?@Z>U6{~p#Pg$re=)H%#0wza0r78j z+-baGZN$vhm=y9Lz7g>NH1q{#dTrR;HOrU#y_*{cuZu-AA+cV5y04m@nutgv~7;$;fEUF}S%LK%wxU}nD~4r2QCCnk^=OCSTS z=|sX42^?&xl|*L65s=OGwxYlth|3CPVa62@mutLQE+yhJv1ClxSsMuq*tP*PZeYT* zG2^C)<6tX{cx#h3wb>S6#ut!~4<@HDv%e6ROYj;qduNhwhIlCy^hd`ps7fpt#U`zQ7dpp0 zVdgnn?FSaY`IWy5g5e9KbkDy58f zWJ@7E1f8y6r&lR;)U7R9zST;Q8WYWGuU49?Uai=q)sRDED;QbCF z??7{3V2y6E>#HF)TZ~Zeh_P)4F};Kxn8$ZuKB0r)|Bzb*ZaF_RmPK&h)>rUfi@|mo zmpUPi#dH2(oFHnU`@D8sf_`i{=U4UtO56t1BLnKsQw@Fa|W_h;Qh8D-w^qESiR>g zV~sN2FB9N*@Ci4+vQPwi#&(FcU#rwm4zbB=VfP$ctGKyO5RPn|KEl!gSF+e~kYZ8S z6?Zo*zhJ$;SBm=`C$^uv(2alw<&>^d1%eLUp2 z{1w(d2cPYNPX^p2tipH(3bphcwQeqWHpdHmuDZLqz~1Yn_r-<4EnFh1MmhL%#JTyK zY*-FH4qpTWz6x-csG7Rz*7QEO$tY1)4~Tfrh0*H(?`$L5Y|6%*6d1XREkDN-r)d^sa%P3!xShgxe+)@dAnZKzP#F_W0P?$1bWb z8@vgEdqaY=`?9utXD$Q6j}mFVAO)8QE^`wEN9oGNMGWtF43wCKM77N(qC*Lx(VY`C zxI%t{n9T`z>z7lw;ePCC7Q~jZ8DgUZKW2^CvNuC)l-_L@21{-+84U0jL~AqQT~ZJe zI6-5(io`}v6dI30NiP%asw%8vbHcJ0nNf=yeHrO>#5U0$9S7kxG;{=WE1QOML z0wR#a7FtDUbO*xaFzd(9TDbTS$R_^;hZ#NV_(xs*68)HNra!u9X9F!>ynE`8<V8UgO&tvEjFh+u{R?LmWS58tuiNAtUvXOFoKz~ zLx!;!aS=uc;C{iRSX*7_SWeRy6yG3T5mA!|Y%b6qRC{a?uG$V*14{gX#5*8d(vGe{ z4VK+$3MbZuZVxnj!(UKb;K=~Hv_f>S2xH$)2qTH+5Q^)?HE5g83KPUNPDGN}ULxVP8)Boxl$tcQklhd) zrTuCNgM&cNg_wfGQZo@-TWFl(1dXjq9YMU~L==f_9un2|n3gZAj);wSZ4_(2$JEqn zI1PQWneK_S&`t+hY@q`#cyltP< z*(%UuZ+?d+LztV3VdpulKehi$#2+waA4CyDYUTBbVeJ76;WXVrqg?1%pgpMeZ=Z-D zm+pflphV;PxM)DQ?4S+!4pMCB7v^v>UFfnIGK&%oXqfE*cWH$U4TQVd8Swhlg``&` z!p3TR4i7{b8SrdDkErGm!XmF%7nThcUFa!D^EhFP?KjakU9=kkEvnrR-@*y2!*cK) zh>NsWna%y*0dG$ibhw;AIa=_v@PoJ0h(1Ik>H5W5T5DY8>Dnn6mBuI!G}>S;yOh2{*Y4G zlWL^5#LZCsXE^^e!Mc3w@@2GmVfca*V@PlpqH$yW48c)icqY{*iFO|FKu5h|?@LxE^;_1cPjCUT7g65Q&x?93HNbQ2JMln8A{gFAm1 zf}`~DcEXd}5%5Hb&=^6~Hxu6N1u=*dG`6cqEak*Z5?kXALgN$=ew4V-fyVaY2*gI| zfgQ!;Z}lulmJ$~_3WMFVOrFv|6~t^H{IbZRcIjkzI>*xC0P$-_A{>o0KO+vYY)(_{ zT`t<*M@`z?an!Y0*=t7_8^h=PG-FnD{ zR*nHp-KX;YBQ(WjwP8T5bS{M2SrwbAK zmJ40>IM7~%e&a&7=X4Q5hkQ;WpUmkJgl_3Vr*qm)=v6LsHm3s#z1xNMJ^^$ULKp2y zeK!J{9lHP@I7SkD4jabR>Jhc`g#LuB;`9naukAstp6B#AKxDD=^fc&^Oo6wBenW_M z455d!5Khw${sw8@;A>dyN%*LA44ccPRuLm(dKo@OvrM2psE=2@SlgTMPUhW7#Z6>9 zI@VB_$jY9AN_4pimDo-2(X2hk^$HE^ZOETvlL7aeNc>+X^k|lTN{=#|ON}E^K7EA| zk&E|f_-J-5t9)AN>2fGTh&8TgUBFNyONgAMiGER$RBPw4vi(Y)A|FU<5tqS_xs7s2Q`f3bYeih<& zI}c|*4WRZ|AzGgkv=H;g;VN)~e^W(fls!&pECs?P*gE5lpf0h@^NmTplm{RfDs@kNWF6!7vLea=~Qw8$w@VlYz!fMDXueI>*O6Q`|Jai8gk#v+Bbh zgCmasl32Y-B7%|^A%bW^?3rXlP>(gb2oca%s7g+Q&SJxWc1i3DCrfvzefWrM^mFZBM{`vB@m;28>~oSvrD%}!ihp(g~1cPWdDRDvdyQVUPF-Q`1d*pFf$uD_F`OZ@41;uk>?QbVV(=}&+me7kNjB_kC-?}0|4HopC~&9#JXM=0 zyd(-wi9*P1!@+BUk0SU7f@c!kgV=XVG3?}1U^mNBbtZ%_QCLmziUfZ`@X`biPcEM6(BNx1j4-x#}Jk|p~7j~Ys;6F