From b2b50724e212687b1292b5019eb55377da85e40d Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Sat, 11 Jan 2025 20:13:13 +1300 Subject: [PATCH] Fix bug in html renderer debug tools --- clay.h | 14 ++++++++++---- .../build/clay/index.wasm | Bin 166207 -> 166678 bytes 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/clay.h b/clay.h index 380d30b9..2e28aaa0 100644 --- a/clay.h +++ b/clay.h @@ -2102,6 +2102,9 @@ 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_Get(&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_Get(&resizableContainerBuffer, i)); @@ -2471,9 +2474,9 @@ void Clay__CalculateFinalLayout() { while (sortMax > 0) { // todo dumb bubble sort for (int32_t i = 0; i < sortMax; ++i) { Clay__LayoutElementTreeRoot current = *Clay__LayoutElementTreeRootArray_Get(&context->layoutElementTreeRoots, i); - Clay__LayoutElementTreeRoot *next = Clay__LayoutElementTreeRootArray_Get(&context->layoutElementTreeRoots, i + 1); - if (next->zIndex < current.zIndex) { - Clay__LayoutElementTreeRootArray_Set(&context->layoutElementTreeRoots, i, *next); + Clay__LayoutElementTreeRoot next = *Clay__LayoutElementTreeRootArray_Get(&context->layoutElementTreeRoots, i + 1); + if (next.zIndex < current.zIndex) { + Clay__LayoutElementTreeRootArray_Set(&context->layoutElementTreeRoots, i, next); Clay__LayoutElementTreeRootArray_Set(&context->layoutElementTreeRoots, i + 1, current); } } @@ -3222,16 +3225,19 @@ void Clay__RenderDebugView() { Clay_TextElementConfig *infoTitleConfig = CLAY_TEXT_CONFIG({ .textColor = CLAY__DEBUGVIEW_COLOR_3, .fontSize = 16, .wrapMode = CLAY_TEXT_WRAP_NONE }); Clay_ElementId scrollId = Clay__HashString(CLAY_STRING("Clay__DebugViewOuterScrollPane"), 0, 0); float scrollYOffset = 0; + bool pointerInDebugView = context->pointerInfo.position.y < context->layoutDimensions.height - 300; for (int32_t i = 0; i < context->scrollContainerDatas.length; ++i) { Clay__ScrollContainerDataInternal *scrollContainerData = Clay__ScrollContainerDataInternalArray_Get(&context->scrollContainerDatas, i); if (scrollContainerData->elementId == scrollId.id) { if (!context->externalScrollHandlingEnabled) { scrollYOffset = scrollContainerData->scrollPosition.y; + } else { + pointerInDebugView = context->pointerInfo.position.y + scrollContainerData->scrollPosition.y < context->layoutDimensions.height - 300; } break; } } - int32_t highlightedRow = context->pointerInfo.position.y < context->layoutDimensions.height - 300 + int32_t highlightedRow = pointerInDebugView ? (int32_t)((context->pointerInfo.position.y - scrollYOffset) / (float)CLAY__DEBUGVIEW_ROW_HEIGHT) - 1 : -1; if (context->pointerInfo.position.x < context->layoutDimensions.width - (float)Clay__debugViewWidth) { diff --git a/examples/clay-official-website/build/clay/index.wasm b/examples/clay-official-website/build/clay/index.wasm index c418bdbbf3f2b2c7a5f634195842cac3fc415586..e65b5d76f856a45e998dfdb96f1a73dd2615d458 100755 GIT binary patch delta 45765 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 Tf#@=S8ShHFA{Q@g!PoyE<%fx8