From d8cfd6dbb9595cbd053391c1ffa2357911c5f124 Mon Sep 17 00:00:00 2001 From: Bach Le Date: Mon, 18 Nov 2024 08:57:40 +0800 Subject: [PATCH] Fix local id calculation --- clay.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/clay.h b/clay.h index 8d40e26..c335fd6 100644 --- a/clay.h +++ b/clay.h @@ -82,7 +82,7 @@ #define CLAY_ID_LOCAL(label) CLAY_IDI_LOCAL(label, 0) -#define CLAY_IDI_LOCAL(label, index) Clay__AttachId(Clay__HashString(CLAY_STRING(label), Clay_LayoutElementArray_Get(&Clay__layoutElements, Clay__int32_tArray_Get(&Clay__openLayoutElementStack, Clay__openLayoutElementStack.length - 2))->children.length + 1, Clay__GetOpenLayoutElement()->id)) +#define CLAY_IDI_LOCAL(label, index) Clay__AttachId(Clay__HashString(CLAY_STRING(label), index, Clay__GetParentElementId())) #define CLAY__STRING_LENGTH(s) ((sizeof(s) / sizeof((s)[0])) - sizeof((s)[0])) @@ -464,6 +464,8 @@ Clay_ScrollElementConfig * Clay__StoreScrollElementConfig(Clay_ScrollElementConf Clay_BorderElementConfig * Clay__StoreBorderElementConfig(Clay_BorderElementConfig config); Clay_ElementId Clay__HashString(Clay_String key, uint32_t offset, uint32_t seed); void Clay__Noop(); +void Clay__OpenTextElement(Clay_String text, Clay_TextElementConfig *textConfig); +uint32_t Clay__GetParentElementId(void); extern Clay_Color Clay__debugViewHighlightColor; extern uint32_t Clay__debugViewWidth; @@ -1430,6 +1432,10 @@ Clay_LayoutElement* Clay__GetOpenLayoutElement() { return Clay_LayoutElementArray_Get(&Clay__layoutElements, Clay__int32_tArray_Get(&Clay__openLayoutElementStack, Clay__openLayoutElementStack.length - 1)); } +uint32_t Clay__GetParentElementId(void) { + return Clay_LayoutElementArray_Get(&Clay__layoutElements, Clay__int32_tArray_Get(&Clay__openLayoutElementStack, Clay__openLayoutElementStack.length - 2))->id; +} + bool Clay__ElementHasConfig(Clay_LayoutElement *element, Clay__ElementConfigType type) { return (element->configsEnabled & type); }