Merge branch 'nicbarker:main' into issue-179-use-clay-packed-enum-for-all

This commit is contained in:
Sayed Murtadha Ahmed 2025-01-12 10:08:46 +03:00 committed by GitHub
commit 8af601d5ad
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

12
clay.h
View File

@ -399,7 +399,7 @@ CLAY__TYPEDEF(Clay_Border, struct {
Clay_Color color; Clay_Color color;
}); });
CLAY__TYPEDEF(Clay_BorderElementConfig, struct { struct Clay_BorderElementConfig {
Clay_Border left; Clay_Border left;
Clay_Border right; Clay_Border right;
Clay_Border top; Clay_Border top;
@ -409,7 +409,8 @@ CLAY__TYPEDEF(Clay_BorderElementConfig, struct {
#ifdef CLAY_EXTEND_CONFIG_BORDER #ifdef CLAY_EXTEND_CONFIG_BORDER
CLAY_EXTEND_CONFIG_BORDER CLAY_EXTEND_CONFIG_BORDER
#endif #endif
}); };
CLAY__TYPEDEF(Clay_BorderElementConfig, struct Clay_BorderElementConfig);
CLAY__TYPEDEF(Clay_ElementConfigUnion, union { CLAY__TYPEDEF(Clay_ElementConfigUnion, union {
Clay_RectangleElementConfig *rectangleElementConfig; Clay_RectangleElementConfig *rectangleElementConfig;
@ -2803,7 +2804,8 @@ void Clay__CalculateFinalLayout() {
Clay__AddRenderCommand(renderCommand); Clay__AddRenderCommand(renderCommand);
if (borderConfig->betweenChildren.width > 0 && borderConfig->betweenChildren.color.a > 0) { if (borderConfig->betweenChildren.width > 0 && borderConfig->betweenChildren.color.a > 0) {
Clay_RectangleElementConfig *rectangleConfig = Clay__StoreRectangleElementConfig(CLAY__INIT(Clay_RectangleElementConfig) {.color = borderConfig->betweenChildren.color}); 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) { if (layoutConfig->layoutDirection == CLAY_LEFT_TO_RIGHT) {
for (int32_t i = 0; i < currentElement->childrenOrTextContent.children.length; ++i) { for (int32_t i = 0; i < currentElement->childrenOrTextContent.children.length; ++i) {
Clay_LayoutElement *childElement = Clay_LayoutElementArray_Get(&context->layoutElements, currentElement->childrenOrTextContent.children.elements[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, .commandType = CLAY_RENDER_COMMAND_TYPE_RECTANGLE,
}); });
} }
borderOffset.x += (childElement->dimensions.width + (float)layoutConfig->childGap / 2); borderOffset.x += (childElement->dimensions.width + (float)layoutConfig->childGap);
} }
} else { } else {
for (int32_t i = 0; i < currentElement->childrenOrTextContent.children.length; ++i) { for (int32_t i = 0; i < currentElement->childrenOrTextContent.children.length; ++i) {
@ -2828,7 +2830,7 @@ void Clay__CalculateFinalLayout() {
.commandType = CLAY_RENDER_COMMAND_TYPE_RECTANGLE, .commandType = CLAY_RENDER_COMMAND_TYPE_RECTANGLE,
}); });
} }
borderOffset.y += (childElement->dimensions.height + (float)layoutConfig->childGap / 2); borderOffset.y += (childElement->dimensions.height + (float)layoutConfig->childGap);
} }
} }
} }