diff --git a/clay.h b/clay.h index 6e283e9..278d80c 100644 --- a/clay.h +++ b/clay.h @@ -399,7 +399,7 @@ CLAY__TYPEDEF(Clay_Border, struct { Clay_Color color; }); -CLAY__TYPEDEF(Clay_BorderElementConfig, struct { +struct Clay_BorderElementConfig { Clay_Border left; Clay_Border right; Clay_Border top; @@ -409,7 +409,8 @@ CLAY__TYPEDEF(Clay_BorderElementConfig, struct { #ifdef CLAY_EXTEND_CONFIG_BORDER CLAY_EXTEND_CONFIG_BORDER #endif -}); +}; +CLAY__TYPEDEF(Clay_BorderElementConfig, struct Clay_BorderElementConfig); CLAY__TYPEDEF(Clay_ElementConfigUnion, union { Clay_RectangleElementConfig *rectangleElementConfig; @@ -2803,7 +2804,8 @@ void Clay__CalculateFinalLayout() { Clay__AddRenderCommand(renderCommand); if (borderConfig->betweenChildren.width > 0 && borderConfig->betweenChildren.color.a > 0) { Clay_RectangleElementConfig *rectangleConfig = Clay__StoreRectangleElementConfig(CLAY__INIT(Clay_RectangleElementConfig) {.color = borderConfig->betweenChildren.color}); - Clay_Vector2 borderOffset = { (float)layoutConfig->padding.x, (float)layoutConfig->padding.y }; + float halfGap = layoutConfig->childGap / 2; + Clay_Vector2 borderOffset = { (float)layoutConfig->padding.x - halfGap, (float)layoutConfig->padding.y - halfGap }; if (layoutConfig->layoutDirection == CLAY_LEFT_TO_RIGHT) { for (int32_t i = 0; i < currentElement->childrenOrTextContent.children.length; ++i) { Clay_LayoutElement *childElement = Clay_LayoutElementArray_Get(&context->layoutElements, currentElement->childrenOrTextContent.children.elements[i]); @@ -2815,7 +2817,7 @@ void Clay__CalculateFinalLayout() { .commandType = CLAY_RENDER_COMMAND_TYPE_RECTANGLE, }); } - borderOffset.x += (childElement->dimensions.width + (float)layoutConfig->childGap / 2); + borderOffset.x += (childElement->dimensions.width + (float)layoutConfig->childGap); } } else { for (int32_t i = 0; i < currentElement->childrenOrTextContent.children.length; ++i) { @@ -2828,7 +2830,7 @@ void Clay__CalculateFinalLayout() { .commandType = CLAY_RENDER_COMMAND_TYPE_RECTANGLE, }); } - borderOffset.y += (childElement->dimensions.height + (float)layoutConfig->childGap / 2); + borderOffset.y += (childElement->dimensions.height + (float)layoutConfig->childGap); } } }