Add basic Xamarin.Mac support #278
@@ -14,23 +14,18 @@ namespace Facebook.Yoga
|
|||||||
{
|
{
|
||||||
internal static class YogaLogger
|
internal static class YogaLogger
|
||||||
{
|
{
|
||||||
#if !MONOMAC
|
|
||||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||||
public delegate void Func(YogaLogLevel level, string message);
|
public delegate void Func(YogaLogLevel level, string message);
|
||||||
#endif
|
|
||||||
|
|
||||||
private static bool _initialized;
|
private static bool _initialized;
|
||||||
#if !MONOMAC
|
|
||||||
private static Func _managedLogger = null;
|
private static Func _managedLogger = null;
|
||||||
|
|
||||||
public static Func Logger = null;
|
public static Func Logger = null;
|
||||||
#endif
|
|
||||||
|
|
||||||
public static void Initialize()
|
public static void Initialize()
|
||||||
{
|
{
|
||||||
if (!_initialized)
|
if (!_initialized)
|
||||||
{
|
{
|
||||||
#if !MONOMAC
|
|
||||||
_managedLogger = (level, message) => {
|
_managedLogger = (level, message) => {
|
||||||
if (Logger != null)
|
if (Logger != null)
|
||||||
{
|
{
|
||||||
@@ -43,7 +38,6 @@ namespace Facebook.Yoga
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
Native.YGInteropSetLogger(_managedLogger);
|
Native.YGInteropSetLogger(_managedLogger);
|
||||||
#endif
|
|
||||||
_initialized = true;
|
_initialized = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
csharp/Facebook.Yoga/mac/.gitignore
vendored
2
csharp/Facebook.Yoga/mac/.gitignore
vendored
@@ -1,2 +1,2 @@
|
|||||||
libyoga.a
|
libyoga.dylib
|
||||||
|
|||||||
*.userprefs
|
*.userprefs
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- The # and , in this path does not play nice with the binding project logic, so make a copy -->
|
<!-- The # and , in this path does not play nice with the binding project logic, so make a copy -->
|
||||||
<Target Name="CopyInNativeLib" Inputs="..\..\..\buck-out\gen\yoga#default,static\libyoga.a" Outputs="$(ProjectDir)libyoga.a">
|
<Target Name="CopyInNativeLib" Inputs="..\..\..\buck-out\gen\csharp\yoganet#default,shared\libyoga.dylib" Outputs="$(ProjectDir)libyoga.dylib">
|
||||||
<Copy SourceFiles="..\..\..\buck-out\gen\yoga#default,static\libyoga.a" DestinationFiles="$(ProjectDir)/libyoga.a" />
|
<Copy SourceFiles="..\..\..\buck-out\gen\csharp\yoganet#default,shared\libyoga.dylib" DestinationFiles="$(ProjectDir)/libyoga.dylib" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,68 +0,0 @@
|
|||||||
{
|
|
||||||
"images": [
|
|
||||||
{
|
|
||||||
"filename": "AppIcon-16.png",
|
|
||||||
"size": "16x16",
|
|
||||||
"scale": "1x",
|
|
||||||
"idiom": "mac"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "AppIcon-16@2x.png",
|
|
||||||
"size": "16x16",
|
|
||||||
"scale": "2x",
|
|
||||||
"idiom": "mac"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "AppIcon-32.png",
|
|
||||||
"size": "32x32",
|
|
||||||
"scale": "1x",
|
|
||||||
"idiom": "mac"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "AppIcon-32@2x.png",
|
|
||||||
"size": "32x32",
|
|
||||||
"scale": "2x",
|
|
||||||
"idiom": "mac"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "AppIcon-128.png",
|
|
||||||
"size": "128x128",
|
|
||||||
"scale": "1x",
|
|
||||||
"idiom": "mac"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "AppIcon-128@2x.png",
|
|
||||||
"size": "128x128",
|
|
||||||
"scale": "2x",
|
|
||||||
"idiom": "mac"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "AppIcon-256.png",
|
|
||||||
"size": "256x256",
|
|
||||||
"scale": "1x",
|
|
||||||
"idiom": "mac"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "AppIcon-256@2x.png",
|
|
||||||
"size": "256x256",
|
|
||||||
"scale": "2x",
|
|
||||||
"idiom": "mac"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "AppIcon-512.png",
|
|
||||||
"size": "512x512",
|
|
||||||
"scale": "1x",
|
|
||||||
"idiom": "mac"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "AppIcon-512@2x.png",
|
|
||||||
"size": "512x512",
|
|
||||||
"scale": "2x",
|
|
||||||
"idiom": "mac"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"info": {
|
|
||||||
"version": 1,
|
|
||||||
"author": "xcode"
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"info" : {
|
|
||||||
"version" : 1,
|
|
||||||
"author" : "xcode"
|
|
||||||
}
|
|
||||||
}
|
|
@@ -56,20 +56,6 @@
|
|||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="Xamarin.Mac" />
|
<Reference Include="Xamarin.Mac" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Contents.json" />
|
|
||||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\AppIcon-128.png" />
|
|
||||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\AppIcon-128%402x.png" />
|
|
||||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\AppIcon-16.png" />
|
|
||||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\AppIcon-16%402x.png" />
|
|
||||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\AppIcon-256.png" />
|
|
||||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\AppIcon-256%402x.png" />
|
|
||||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\AppIcon-32.png" />
|
|
||||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\AppIcon-32%402x.png" />
|
|
||||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\AppIcon-512.png" />
|
|
||||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\AppIcon-512%402x.png" />
|
|
||||||
<ImageAsset Include="Assets.xcassets\Contents.json" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="Resources\" />
|
<Folder Include="Resources\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
@@ -26,8 +26,5 @@
|
|||||||
<string>NSApplication</string>
|
<string>NSApplication</string>
|
||||||
<key>NSMainStoryboardFile</key>
|
<key>NSMainStoryboardFile</key>
|
||||||
<string>Main</string>
|
<string>Main</string>
|
||||||
<key>XSAppIconAssets</key>
|
|
||||||
<string>Assets.xcassets/AppIcon.appiconset</string>
|
|
||||||
|
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
@@ -104,18 +104,18 @@
|
|||||||
<Link>MeasureFunction.cs</Link>
|
<Link>MeasureFunction.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<NativeReference Include="libyoga.a">
|
|
||||||
<Kind>Static</Kind>
|
|
||||||
<SmartLink>False</SmartLink>
|
|
||||||
</NativeReference>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ObjcBindingApiDefinition Include="ApiDefinition.cs" />
|
<ObjcBindingApiDefinition Include="ApiDefinition.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="CustomBuildAction.targets" />
|
<None Include="CustomBuildAction.targets" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<NativeReference Include="libyoga.dylib">
|
||||||
|
<Kind>Dynamic</Kind>
|
||||||
|
<SmartLink>False</SmartLink>
|
||||||
|
</NativeReference>
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Mac\Xamarin.Mac.ObjcBinding.CSharp.targets" />
|
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Mac\Xamarin.Mac.ObjcBinding.CSharp.targets" />
|
||||||
<Import Project="CustomBuildAction.targets" />
|
<Import Project="CustomBuildAction.targets" />
|
||||||
</Project>
|
</Project>
|
||||||
|
Reference in New Issue
Block a user
libyoga.dylib