diff --git a/clay.h b/clay.h index 7a71195..4a78c8e 100644 --- a/clay.h +++ b/clay.h @@ -508,6 +508,35 @@ Clay_ElementId Clay__HashString(Clay_String key, uint32_t offset, uint32_t seed) void Clay__Noop(); void Clay__OpenTextElement(Clay_String text, Clay_TextElementConfig *textConfig); +typedef struct Clay_LayoutElement Clay_LayoutElement; + +typedef struct +{ + Clay_LayoutElement *layoutElement; + Clay_BoundingBox boundingBox; + Clay_Dimensions contentSize; + Clay_Vector2 scrollOrigin; + Clay_Vector2 pointerOrigin; + Clay_Vector2 scrollMomentum; + Clay_Vector2 scrollPosition; + Clay_Vector2 previousDelta; + float momentumTime; + uint32_t elementId; + bool openThisFrame; + bool pointerScrollActive; +} Clay__ScrollContainerDataInternal; + + +typedef struct Clay__ScrollContainerDataInternalArray +{ + uint32_t capacity; + uint32_t length; + Clay__ScrollContainerDataInternal *internalArray; +} Clay__ScrollContainerDataInternalArray; + +Clay__ScrollContainerDataInternal *Clay__ScrollContainerDataInternalArray_Get(Clay__ScrollContainerDataInternalArray *array, int index); + + extern Clay_Color Clay__debugViewHighlightColor; extern uint32_t Clay__debugViewWidth; @@ -960,7 +989,7 @@ typedef struct uint16_t length; } Clay__LayoutElementChildren; -typedef struct +typedef struct Clay_LayoutElement { union { Clay__LayoutElementChildren children; @@ -1053,32 +1082,11 @@ Clay_RenderCommand *Clay_RenderCommandArray_Get(Clay_RenderCommandArray *array, #pragma endregion // __GENERATED__ template -typedef struct -{ - Clay_LayoutElement *layoutElement; - Clay_BoundingBox boundingBox; - Clay_Dimensions contentSize; - Clay_Vector2 scrollOrigin; - Clay_Vector2 pointerOrigin; - Clay_Vector2 scrollMomentum; - Clay_Vector2 scrollPosition; - Clay_Vector2 previousDelta; - float momentumTime; - uint32_t elementId; - bool openThisFrame; - bool pointerScrollActive; -} Clay__ScrollContainerDataInternal; - Clay__ScrollContainerDataInternal CLAY__SCROLL_CONTAINER_DEFAULT = CLAY__INIT(Clay__ScrollContainerDataInternal) {}; // __GENERATED__ template array_define,array_allocate,array_add,array_get TYPE=Clay__ScrollContainerDataInternal NAME=Clay__ScrollContainerDataInternalArray DEFAULT_VALUE=&CLAY__SCROLL_CONTAINER_DEFAULT #pragma region generated -typedef struct -{ - uint32_t capacity; - uint32_t length; - Clay__ScrollContainerDataInternal *internalArray; -} Clay__ScrollContainerDataInternalArray; + Clay__ScrollContainerDataInternalArray Clay__ScrollContainerDataInternalArray_Allocate_Arena(uint32_t capacity, Clay_Arena *arena) { return CLAY__INIT(Clay__ScrollContainerDataInternalArray){.capacity = capacity, .length = 0, .internalArray = (Clay__ScrollContainerDataInternal *)Clay__Array_Allocate_Arena(capacity, sizeof(Clay__ScrollContainerDataInternal), CLAY__ALIGNMENT(Clay__ScrollContainerDataInternal), arena)}; } @@ -3887,4 +3895,4 @@ freely, subject to the following restrictions: 3. This notice may not be removed or altered from any source distribution. -*/ +*/ \ No newline at end of file