| 2039 | #endif |
| 2040 | |
| 2041 | void Clay__OpenElement(void) { |
| 2042 | Clay_Context* context = Clay_GetCurrentContext(); |
| 2043 | if (context->layoutElements.length == context->layoutElements.capacity - 1 || context->booleanWarnings.maxElementsExceeded) { |
| 2044 | context->booleanWarnings.maxElementsExceeded = true; |
| 2045 | return; |
| 2046 | } |
| 2047 | Clay_LayoutElement layoutElement = CLAY__DEFAULT_STRUCT; |
| 2048 | Clay_LayoutElement* openLayoutElement = Clay_LayoutElementArray_Add(&context->layoutElements, layoutElement); |
| 2049 | Clay__int32_tArray_Add(&context->openLayoutElementStack, context->layoutElements.length - 1); |
| 2050 | // Generate an ID |
| 2051 | Clay_LayoutElement *parentElement = Clay_LayoutElementArray_Get(&context->layoutElements, Clay__int32_tArray_GetValue(&context->openLayoutElementStack, context->openLayoutElementStack.length - 2)); |
| 2052 | uint32_t offset = parentElement->children.length + parentElement->floatingChildrenCount; |
| 2053 | Clay_ElementId elementId = Clay__HashNumber(offset, parentElement->id); |
| 2054 | openLayoutElement->id = elementId.id; |
| 2055 | Clay__AddHashMapItem(elementId, openLayoutElement); |
| 2056 | Clay__StringArray_Add(&context->layoutElementIdStrings, elementId.stringId); |
| 2057 | if (context->openClipElementStack.length > 0) { |
| 2058 | Clay__int32_tArray_Set(&context->layoutElementClipElementIds, context->layoutElements.length - 1, Clay__int32_tArray_GetValue(&context->openClipElementStack, (int)context->openClipElementStack.length - 1)); |
| 2059 | } else { |
| 2060 | Clay__int32_tArray_Set(&context->layoutElementClipElementIds, context->layoutElements.length - 1, 0); |
| 2061 | } |
| 2062 | } |
| 2063 | |
| 2064 | void Clay__OpenElementWithId(Clay_ElementId elementId) { |
| 2065 | Clay_Context* context = Clay_GetCurrentContext(); |
no test coverage detected