Add basic Xamarin.iOS support #280

Closed
rmarinho wants to merge 20 commits from add-xamarin-ios into master
293 changed files with 2951 additions and 24189 deletions
Showing only changes of commit af0baaf597 - Show all commits

1
.gitignore vendored
View File

@@ -8,4 +8,3 @@
splhack commented 2016-12-15 23:04:27 -08:00 (Migrated from github.com)
Review

Move to csharp/.gitignore

Move to csharp/.gitignore
# Visual studio code
.vscode
libyoga.a

2
csharp/.gitignore vendored
View File

@@ -268,3 +268,5 @@ paket-files/
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
libyoga.a

View File

@@ -14,21 +14,18 @@ namespace Facebook.Yoga
{
internal static class YogaLogger
{
#if !__IOS__
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate void Func(YogaLogLevel level, string message);
#endif
private static bool _initialized;
#if !__IOS__
private static Func _managedLogger = null;
public static Func Logger = null;
#endif
public static void Initialize()
{
if (!_initialized)
{
#if !__IOS__
_managedLogger = (level, message) => {
if (Logger != null)
{
@@ -41,7 +38,6 @@ namespace Facebook.Yoga
}
};
Native.YGInteropSetLogger(_managedLogger);
#endif
_initialized = true;
}
}

View File

@@ -540,7 +540,7 @@ namespace Facebook.Yoga
long output = _measureFunction(this, width, widthMode, height, heightMode);
return new YogaSize { width = MeasureOutput.GetWidth(output), height = MeasureOutput.GetHeight(output) };
}
#if !__IOS__
public string Print(YogaPrintOptions options =
YogaPrintOptions.Layout|YogaPrintOptions.Style|YogaPrintOptions.Children)
{
@@ -551,7 +551,7 @@ namespace Facebook.Yoga
YogaLogger.Logger = orig;
return sb.ToString();
}
#endif
public IEnumerator<YogaNode> GetEnumerator()
{
return _children != null ? ((IEnumerable<YogaNode>)_children).GetEnumerator() :

View File

@@ -4,7 +4,7 @@
<CompileDependsOn>CopyInNativeLib;$(CompileDependsOn)</CompileDependsOn>
</PropertyGroup>
<!-- The # and , in this path does not play nice with the binding project logic, so make a copy -->
<Target Name="CopyInNativeLib" Inputs="..\..\buck-out\get\csharp\yoganet-ios\libyoga.a" Outputs="$(ProjectDir)libyoga.a">
<Copy SourceFiles="..\..\buck-out\get\csharp\yoganet-ios\libyoga.a" DestinationFiles="$(ProjectDir)/libyoga.a" />
<Target Name="CopyInNativeLib" Inputs="..\..\buck-out\gen\csharp\yoganet-ios\libyoga.a" Outputs="$(ProjectDir)libyoga.a">
<Copy SourceFiles="..\..\buck-out\gen\csharp\yoganet-ios\libyoga.a" DestinationFiles="$(ProjectDir)/libyoga.a" />
</Target>
</Project>