From 5d0649efc2fc260994408fa40e869566a9dec179 Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Tue, 31 Mar 2026 12:28:33 +1100 Subject: [PATCH] re-add max element exceeded warning for debug view --- clay.h | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/clay.h b/clay.h index 079611e..1e1310b 100644 --- a/clay.h +++ b/clay.h @@ -4627,8 +4627,18 @@ Clay_RenderCommandArray Clay_EndLayout(float deltaTime) { context->warningsEnabled = true; } - Clay__CalculateFinalLayout(deltaTime, true, true); - Clay__CloneElementsWithExitTransition(); + if (context->booleanWarnings.maxElementsExceeded) { + Clay_String message; + message = CLAY_STRING("Clay Error: Debug view caused layout element count to exceed Clay__maxElementCount"); + 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(deltaTime, true, true); + Clay__CloneElementsWithExitTransition(); + } } else { if (context->debugModeEnabled) { context->warningsEnabled = false; @@ -4636,7 +4646,17 @@ Clay_RenderCommandArray Clay_EndLayout(float deltaTime) { context->warningsEnabled = true; } - Clay__CalculateFinalLayout(deltaTime, false, true); + if (context->booleanWarnings.maxElementsExceeded) { + Clay_String message; + message = CLAY_STRING("Clay Error: Debug view caused layout element count to exceed Clay__maxElementCount"); + 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(deltaTime, false, true); + } } } if (context->openLayoutElementStack.length > 1) {