Skip to content

Commit 90e7b4c

Browse files
committed
add box-sizing and display:contents
1 parent 5ff549e commit 90e7b4c

File tree

7 files changed

+31
-3
lines changed

7 files changed

+31
-3
lines changed

Runtime/Frameworks/UGUI/Components/UGUIComponent.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System;
2-
using Yoga;
32
using ReactUnity.Helpers;
43
using ReactUnity.Styling;
54
using ReactUnity.Types;
@@ -9,6 +8,7 @@
98
using UnityEngine;
109
using UnityEngine.EventSystems;
1110
using UnityEngine.UI;
11+
using Yoga;
1212

1313
namespace ReactUnity.UGUI
1414
{
@@ -231,6 +231,7 @@ protected void ApplyYogaValues()
231231
Layout.BorderBottomWidth = StylingHelpers.GetStyleFloatDouble(computed, LayoutProperties.BorderBottomWidth, LayoutProperties.BorderWidth);
232232

233233
Layout.Display = StylingHelpers.GetStyleEnumCustom(computed, LayoutProperties.Display);
234+
Layout.BoxSizing = StylingHelpers.GetStyleEnumCustom(computed, LayoutProperties.BoxSizing);
234235
Layout.Overflow = StylingHelpers.GetStyleEnumCustom(computed, LayoutProperties.Overflow);
235236

236237
Layout.AlignContent = StylingHelpers.GetStyleEnumCustom(computed, LayoutProperties.AlignContent);
@@ -458,7 +459,8 @@ protected Canvas InitializeCanvas()
458459

459460
canvas.targetDisplay = root.targetDisplay;
460461

461-
if (!canvas.worldCamera) {
462+
if (!canvas.worldCamera)
463+
{
462464
canvas.worldCamera = root.worldCamera;
463465
}
464466

Runtime/Styling/Properties/LayoutProperties.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using System;
22
using System.Collections.Generic;
3-
using Yoga;
43
using ReactUnity.Styling.Converters;
4+
using Yoga;
55

66
namespace ReactUnity.Styling
77
{
@@ -11,6 +11,7 @@ public static class LayoutProperties
1111
public static readonly LayoutProperty<YogaFlexDirection> FlexDirection = new LayoutProperty<YogaFlexDirection>("FlexDirection");
1212
public static readonly LayoutProperty<YogaJustify> JustifyContent = new LayoutProperty<YogaJustify>("JustifyContent");
1313
public static readonly LayoutProperty<YogaDisplay> Display = new LayoutProperty<YogaDisplay>("Display");
14+
public static readonly LayoutProperty<YogaBoxSizing> BoxSizing = new LayoutProperty<YogaBoxSizing>("BoxSizing");
1415
public static readonly LayoutProperty<YogaAlign> AlignItems = new LayoutProperty<YogaAlign>("AlignItems");
1516
public static readonly LayoutProperty<YogaAlign> AlignSelf = new LayoutProperty<YogaAlign>("AlignSelf");
1617
public static readonly LayoutProperty<YogaAlign> AlignContent = new LayoutProperty<YogaAlign>("AlignContent");
@@ -67,6 +68,7 @@ public static class LayoutProperties
6768
{ "flexDirection", FlexDirection },
6869
{ "justifyContent", JustifyContent },
6970
{ "display", Display },
71+
{ "boxSizing", BoxSizing },
7072
{ "alignItems", AlignItems },
7173
{ "alignSelf", AlignSelf },
7274
{ "alignContent", AlignContent },
@@ -116,6 +118,7 @@ public static class LayoutProperties
116118
{ "rowGap", RowGap },
117119
{ "columnGap", ColumnGap },
118120

121+
{ "box-sizing", BoxSizing },
119122
{ "flex-direction", FlexDirection },
120123
{ "justify-content", JustifyContent },
121124
{ "align-items", AlignItems },

Runtime/Yoga/Native.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,12 @@ internal static class Native
245245
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
246246
public static extern YogaDisplay YGNodeStyleGetDisplay(YGNodeHandle node);
247247

248+
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
249+
public static extern void YGNodeStyleSetBoxSizing(YGNodeHandle node, YogaBoxSizing display);
250+
251+
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
252+
public static extern YogaBoxSizing YGNodeStyleGetBoxSizing(YGNodeHandle node);
253+
248254
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
249255
public static extern void YGNodeStyleSetFlex(YGNodeHandle node, float flex);
250256

Runtime/Yoga/YogaBoxSizing.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
namespace Yoga
2+
{
3+
public enum YogaBoxSizing
4+
{
5+
BorderBox,
6+
ContentBox,
7+
}
8+
}

Runtime/Yoga/YogaBoxSizing.cs.meta

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Runtime/Yoga/YogaDisplay.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ public enum YogaDisplay
44
{
55
Flex,
66
None,
7+
Contents,
78
}
89
}

Runtime/Yoga/YogaNode.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,12 @@ public YogaDisplay Display
9595
set => Native.YGNodeStyleSetDisplay(_ygNode, value);
9696
}
9797

98+
public YogaBoxSizing BoxSizing
99+
{
100+
get => Native.YGNodeStyleGetBoxSizing(_ygNode);
101+
set => Native.YGNodeStyleSetBoxSizing(_ygNode, value);
102+
}
103+
98104
public YogaAlign AlignItems
99105
{
100106
get => Native.YGNodeStyleGetAlignItems(_ygNode);

0 commit comments

Comments
 (0)