Adds fixes for react-native-windows UWP (#848)
Summary: Specifically, updates the UWP .vcxproj for MSBuild and also exposes the UseLegacyStretchBehaviour API for use with react-native-windows. Pull Request resolved: https://github.com/facebook/yoga/pull/848 Reviewed By: SidharthGuglani Differential Revision: D13848609 Pulled By: davidaurelio fbshipit-source-id: eab046ff3c47e49706f515e209d8aaf750c2198f
This commit is contained in:
committed by
Facebook Github Bot
parent
8691cdaed6
commit
307cf09434
@@ -10,12 +10,6 @@ using System.Runtime.InteropServices;
|
||||
|
||||
namespace Facebook.Yoga
|
||||
{
|
||||
#if WINDOWS_UWP_ARM
|
||||
using YogaValueType = IntPtr;
|
||||
#else
|
||||
using YogaValueType = YogaValue;
|
||||
#endif
|
||||
|
||||
internal static class Native
|
||||
{
|
||||
#if (UNITY_IOS && !UNITY_EDITOR) || __IOS__
|
||||
@@ -74,6 +68,14 @@ namespace Facebook.Yoga
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern bool YGConfigGetUseWebDefaults(YGConfigHandle config);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void YGConfigSetUseLegacyStretchBehaviour(
|
||||
YGConfigHandle config,
|
||||
bool useLegacyStretchBehavior);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern bool YGConfigGetUseLegacyStretchBehaviour(YGConfigHandle config);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void YGConfigSetPointScaleFactor(
|
||||
YGConfigHandle config,
|
||||
@@ -226,7 +228,7 @@ namespace Facebook.Yoga
|
||||
public static extern void YGNodeStyleSetFlexBasisAuto(YGNodeHandle node);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern YogaValueType YGNodeStyleGetFlexBasis(YGNodeHandle node);
|
||||
public static extern YogaValue YGNodeStyleGetFlexBasis(YGNodeHandle node);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void YGNodeStyleSetWidth(YGNodeHandle node, float width);
|
||||
@@ -238,7 +240,7 @@ namespace Facebook.Yoga
|
||||
public static extern void YGNodeStyleSetWidthAuto(YGNodeHandle node);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern YogaValueType YGNodeStyleGetWidth(YGNodeHandle node);
|
||||
public static extern YogaValue YGNodeStyleGetWidth(YGNodeHandle node);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void YGNodeStyleSetHeight(YGNodeHandle node, float height);
|
||||
@@ -250,7 +252,7 @@ namespace Facebook.Yoga
|
||||
public static extern void YGNodeStyleSetHeightAuto(YGNodeHandle node);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern YogaValueType YGNodeStyleGetHeight(YGNodeHandle node);
|
||||
public static extern YogaValue YGNodeStyleGetHeight(YGNodeHandle node);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void YGNodeStyleSetMinWidth(YGNodeHandle node, float minWidth);
|
||||
@@ -259,7 +261,7 @@ namespace Facebook.Yoga
|
||||
public static extern void YGNodeStyleSetMinWidthPercent(YGNodeHandle node, float minWidth);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern YogaValueType YGNodeStyleGetMinWidth(YGNodeHandle node);
|
||||
public static extern YogaValue YGNodeStyleGetMinWidth(YGNodeHandle node);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void YGNodeStyleSetMinHeight(YGNodeHandle node, float minHeight);
|
||||
@@ -268,7 +270,7 @@ namespace Facebook.Yoga
|
||||
public static extern void YGNodeStyleSetMinHeightPercent(YGNodeHandle node, float minHeight);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern YogaValueType YGNodeStyleGetMinHeight(YGNodeHandle node);
|
||||
public static extern YogaValue YGNodeStyleGetMinHeight(YGNodeHandle node);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void YGNodeStyleSetMaxWidth(YGNodeHandle node, float maxWidth);
|
||||
@@ -277,7 +279,7 @@ namespace Facebook.Yoga
|
||||
public static extern void YGNodeStyleSetMaxWidthPercent(YGNodeHandle node, float maxWidth);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern YogaValueType YGNodeStyleGetMaxWidth(YGNodeHandle node);
|
||||
public static extern YogaValue YGNodeStyleGetMaxWidth(YGNodeHandle node);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void YGNodeStyleSetMaxHeight(YGNodeHandle node, float maxHeight);
|
||||
@@ -286,7 +288,7 @@ namespace Facebook.Yoga
|
||||
public static extern void YGNodeStyleSetMaxHeightPercent(YGNodeHandle node, float maxHeight);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern YogaValueType YGNodeStyleGetMaxHeight(YGNodeHandle node);
|
||||
public static extern YogaValue YGNodeStyleGetMaxHeight(YGNodeHandle node);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void YGNodeStyleSetAspectRatio(YGNodeHandle node, float aspectRatio);
|
||||
@@ -305,7 +307,7 @@ namespace Facebook.Yoga
|
||||
public static extern void YGNodeStyleSetPositionPercent(YGNodeHandle node, YogaEdge edge, float position);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern YogaValueType YGNodeStyleGetPosition(YGNodeHandle node, YogaEdge edge);
|
||||
public static extern YogaValue YGNodeStyleGetPosition(YGNodeHandle node, YogaEdge edge);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void YGNodeStyleSetMargin(YGNodeHandle node, YogaEdge edge, float margin);
|
||||
@@ -317,7 +319,7 @@ namespace Facebook.Yoga
|
||||
public static extern void YGNodeStyleSetMarginAuto(YGNodeHandle node, YogaEdge edge);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern YogaValueType YGNodeStyleGetMargin(YGNodeHandle node, YogaEdge edge);
|
||||
public static extern YogaValue YGNodeStyleGetMargin(YGNodeHandle node, YogaEdge edge);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void YGNodeStyleSetPadding(YGNodeHandle node, YogaEdge edge, float padding);
|
||||
@@ -326,7 +328,7 @@ namespace Facebook.Yoga
|
||||
public static extern void YGNodeStyleSetPaddingPercent(YGNodeHandle node, YogaEdge edge, float padding);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern YogaValueType YGNodeStyleGetPadding(YGNodeHandle node, YogaEdge edge);
|
||||
public static extern YogaValue YGNodeStyleGetPadding(YGNodeHandle node, YogaEdge edge);
|
||||
|
||||
[DllImport(DllName, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void YGNodeStyleSetBorder(YGNodeHandle node, YogaEdge edge, float border);
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/**
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
@@ -117,6 +117,19 @@ namespace Facebook.Yoga
|
||||
}
|
||||
}
|
||||
|
||||
public bool UseLegacyStretchBehaviour
|
||||
{
|
||||
get
|
||||
{
|
||||
return Native.YGConfigGetUseLegacyStretchBehaviour(_ygConfig);
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
Native.YGConfigSetUseLegacyStretchBehaviour(_ygConfig, value);
|
||||
}
|
||||
}
|
||||
|
||||
public float PointScaleFactor
|
||||
{
|
||||
set
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/**
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
@@ -13,7 +13,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetPosition(_ygNode, YogaEdge.Left));
|
||||
return Native.YGNodeStyleGetPosition(_ygNode, YogaEdge.Left);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -26,7 +26,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetPosition(_ygNode, YogaEdge.Top));
|
||||
return Native.YGNodeStyleGetPosition(_ygNode, YogaEdge.Top);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -39,7 +39,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetPosition(_ygNode, YogaEdge.Right));
|
||||
return Native.YGNodeStyleGetPosition(_ygNode, YogaEdge.Right);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -52,7 +52,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetPosition(_ygNode, YogaEdge.Bottom));
|
||||
return Native.YGNodeStyleGetPosition(_ygNode, YogaEdge.Bottom);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -65,7 +65,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetPosition(_ygNode, YogaEdge.Start));
|
||||
return Native.YGNodeStyleGetPosition(_ygNode, YogaEdge.Start);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -78,7 +78,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetPosition(_ygNode, YogaEdge.End));
|
||||
return Native.YGNodeStyleGetPosition(_ygNode, YogaEdge.End);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -103,7 +103,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetMargin(_ygNode, YogaEdge.Left));
|
||||
return Native.YGNodeStyleGetMargin(_ygNode, YogaEdge.Left);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -116,7 +116,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetMargin(_ygNode, YogaEdge.Top));
|
||||
return Native.YGNodeStyleGetMargin(_ygNode, YogaEdge.Top);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -129,7 +129,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetMargin(_ygNode, YogaEdge.Right));
|
||||
return Native.YGNodeStyleGetMargin(_ygNode, YogaEdge.Right);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -142,7 +142,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetMargin(_ygNode, YogaEdge.Bottom));
|
||||
return Native.YGNodeStyleGetMargin(_ygNode, YogaEdge.Bottom);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -155,7 +155,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetMargin(_ygNode, YogaEdge.Start));
|
||||
return Native.YGNodeStyleGetMargin(_ygNode, YogaEdge.Start);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -168,7 +168,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetMargin(_ygNode, YogaEdge.End));
|
||||
return Native.YGNodeStyleGetMargin(_ygNode, YogaEdge.End);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -181,7 +181,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetMargin(_ygNode, YogaEdge.Horizontal));
|
||||
return Native.YGNodeStyleGetMargin(_ygNode, YogaEdge.Horizontal);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -194,7 +194,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetMargin(_ygNode, YogaEdge.Vertical));
|
||||
return Native.YGNodeStyleGetMargin(_ygNode, YogaEdge.Vertical);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -207,7 +207,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetMargin(_ygNode, YogaEdge.All));
|
||||
return Native.YGNodeStyleGetMargin(_ygNode, YogaEdge.All);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -236,7 +236,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetPadding(_ygNode, YogaEdge.Left));
|
||||
return Native.YGNodeStyleGetPadding(_ygNode, YogaEdge.Left);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -249,7 +249,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetPadding(_ygNode, YogaEdge.Top));
|
||||
return Native.YGNodeStyleGetPadding(_ygNode, YogaEdge.Top);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -262,7 +262,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetPadding(_ygNode, YogaEdge.Right));
|
||||
return Native.YGNodeStyleGetPadding(_ygNode, YogaEdge.Right);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -275,7 +275,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetPadding(_ygNode, YogaEdge.Bottom));
|
||||
return Native.YGNodeStyleGetPadding(_ygNode, YogaEdge.Bottom);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -288,7 +288,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetPadding(_ygNode, YogaEdge.Start));
|
||||
return Native.YGNodeStyleGetPadding(_ygNode, YogaEdge.Start);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -301,7 +301,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetPadding(_ygNode, YogaEdge.End));
|
||||
return Native.YGNodeStyleGetPadding(_ygNode, YogaEdge.End);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -314,7 +314,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetPadding(_ygNode, YogaEdge.Horizontal));
|
||||
return Native.YGNodeStyleGetPadding(_ygNode, YogaEdge.Horizontal);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -327,7 +327,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetPadding(_ygNode, YogaEdge.Vertical));
|
||||
return Native.YGNodeStyleGetPadding(_ygNode, YogaEdge.Vertical);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -340,7 +340,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetPadding(_ygNode, YogaEdge.All));
|
||||
return Native.YGNodeStyleGetPadding(_ygNode, YogaEdge.All);
|
||||
}
|
||||
|
||||
set
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/**
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
@@ -271,7 +271,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetFlexBasis(_ygNode));
|
||||
return Native.YGNodeStyleGetFlexBasis(_ygNode);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -295,7 +295,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetWidth(_ygNode));
|
||||
return Native.YGNodeStyleGetWidth(_ygNode);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -319,7 +319,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetHeight(_ygNode));
|
||||
return Native.YGNodeStyleGetHeight(_ygNode);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -343,7 +343,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetMaxWidth(_ygNode));
|
||||
return Native.YGNodeStyleGetMaxWidth(_ygNode);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -363,7 +363,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetMaxHeight(_ygNode));
|
||||
return Native.YGNodeStyleGetMaxHeight(_ygNode);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -383,7 +383,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetMinWidth(_ygNode));
|
||||
return Native.YGNodeStyleGetMinWidth(_ygNode);
|
||||
}
|
||||
|
||||
set
|
||||
@@ -403,7 +403,7 @@ namespace Facebook.Yoga
|
||||
{
|
||||
get
|
||||
{
|
||||
return YogaValue.MarshalValue(Native.YGNodeStyleGetMinHeight(_ygNode));
|
||||
return Native.YGNodeStyleGetMinHeight(_ygNode);
|
||||
}
|
||||
|
||||
set
|
||||
|
@@ -91,17 +91,5 @@ namespace Facebook.Yoga
|
||||
{
|
||||
return Point(pointValue);
|
||||
}
|
||||
|
||||
#if WINDOWS_UWP_ARM
|
||||
internal static YogaValue MarshalValue(IntPtr ptr)
|
||||
{
|
||||
return Marshal.PtrToStructure<YogaValue>(ptr);
|
||||
}
|
||||
#else
|
||||
internal static YogaValue MarshalValue(YogaValue value)
|
||||
{
|
||||
return value;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user