Applying some of the modernization:

- libSkiaSharp is now built using GN/Ninja for Android/Linux/UWP/Windows
 - all native source code lives in mono/skia
This commit is contained in:
Matthew Leibowitz 2018-03-19 23:08:30 +02:00
Родитель 5564c135d0
Коммит 6484936159
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 3650EBE4AA155AF9
47 изменённых файлов: 351 добавлений и 2129 удалений

Просмотреть файл

@ -50,16 +50,16 @@
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedNativeLibrary Include="..\..\native-builds\lib\android\arm64-v8a\libHarfBuzzSharp.so">
<EmbeddedNativeLibrary Include="..\..\output\native\android\arm64-v8a\libHarfBuzzSharp.so">
<Link>libs\arm64-v8a\libHarfBuzzSharp.so</Link>
</EmbeddedNativeLibrary>
<EmbeddedNativeLibrary Include="..\..\native-builds\lib\android\armeabi-v7a\libHarfBuzzSharp.so">
<EmbeddedNativeLibrary Include="..\..\output\native\android\armeabi-v7a\libHarfBuzzSharp.so">
<Link>libs\armeabi-v7a\libHarfBuzzSharp.so</Link>
</EmbeddedNativeLibrary>
<EmbeddedNativeLibrary Include="..\..\native-builds\lib\android\x86\libHarfBuzzSharp.so">
<EmbeddedNativeLibrary Include="..\..\output\native\android\x86\libHarfBuzzSharp.so">
<Link>libs\x86\libHarfBuzzSharp.so</Link>
</EmbeddedNativeLibrary>
<EmbeddedNativeLibrary Include="..\..\native-builds\lib\android\x86_64\libHarfBuzzSharp.so">
<EmbeddedNativeLibrary Include="..\..\output\native\android\x86_64\libHarfBuzzSharp.so">
<Link>libs\x86_64\libHarfBuzzSharp.so</Link>
</EmbeddedNativeLibrary>
</ItemGroup>

Просмотреть файл

@ -46,23 +46,23 @@
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\native-builds\lib\windows\x64\libHarfBuzzSharp.dll" Condition="Exists('..\..\native-builds\lib\windows\x64\libHarfBuzzSharp.dll')">
<None Include="..\..\output\native\windows\x64\libHarfBuzzSharp.dll" Condition="Exists('..\..\output\native\windows\x64\libHarfBuzzSharp.dll')">
<Link>nuget\runtimes\win7-x64\native\libHarfBuzzSharp.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="..\..\native-builds\lib\windows\x86\libHarfBuzzSharp.dll" Condition="Exists('..\..\native-builds\lib\windows\x86\libHarfBuzzSharp.dll')">
<None Include="..\..\output\native\windows\x86\libHarfBuzzSharp.dll" Condition="Exists('..\..\output\native\windows\x86\libHarfBuzzSharp.dll')">
<Link>nuget\runtimes\win7-x86\native\libHarfBuzzSharp.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="..\..\native-builds\lib\osx\libHarfBuzzSharp.dylib" Condition="Exists('..\..\native-builds\lib\osx\libHarfBuzzSharp.dylib')">
<None Include="..\..\output\native\osx\libHarfBuzzSharp.dylib" Condition="Exists('..\..\output\native\osx\libHarfBuzzSharp.dylib')">
<Link>nuget\runtimes\osx\native\libHarfBuzzSharp.dylib</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="..\..\native-builds\lib\linux\x64\libHarfBuzzSharp.so" Condition="Exists('..\..\native-builds\lib\linux\x64\libHarfBuzzSharp.so')">
<None Include="..\..\output\native\linux\x64\libHarfBuzzSharp.so" Condition="Exists('..\..\output\native\linux\x64\libHarfBuzzSharp.so')">
<Link>nuget\runtimes\linux-x64\native\libHarfBuzzSharp.so</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="..\..\native-builds\lib\linux\x86\libHarfBuzzSharp.so" Condition="Exists('..\..\native-builds\lib\linux\x86\libHarfBuzzSharp.so')">
<None Include="..\..\output\native\linux\x86\libHarfBuzzSharp.so" Condition="Exists('..\..\output\native\linux\x86\libHarfBuzzSharp.so')">
<Link>nuget\runtimes\linux-x86\native\libHarfBuzzSharp.so</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>

Просмотреть файл

@ -56,13 +56,13 @@
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\native-builds\lib\osx\libHarfBuzzSharp.dylib">
<None Include="..\..\output\native\osx\libHarfBuzzSharp.dylib">
<Link>nuget\runtimes\osx\native\libHarfBuzzSharp.dylib</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<ObjcBindingNativeLibrary Include="..\..\native-builds\lib\osx\libHarfBuzzSharp.dylib">
<ObjcBindingNativeLibrary Include="..\..\output\native\osx\libHarfBuzzSharp.dylib">
<Link>libHarfBuzzSharp.dylib</Link>
</ObjcBindingNativeLibrary>
</ItemGroup>

Просмотреть файл

@ -42,7 +42,7 @@
<ObjcBindingCoreSource Include="Structs.cs" />
</ItemGroup>
<ItemGroup>
<ObjcBindingNativeLibrary Include="..\..\native-builds\lib\ios\libHarfBuzzSharp.a" />
<ObjcBindingNativeLibrary Include="..\..\output\native\ios\libHarfBuzzSharp.a" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />

Просмотреть файл

@ -45,7 +45,7 @@
<ObjcBindingCoreSource Include="Structs.cs" />
</ItemGroup>
<ItemGroup>
<ObjcBindingNativeLibrary Include="..\..\native-builds\lib\tvos\libHarfBuzzSharp.a">
<ObjcBindingNativeLibrary Include="..\..\output\native\tvos\libHarfBuzzSharp.a">
<Link>libHarfBuzzSharp.a</Link>
</ObjcBindingNativeLibrary>
</ItemGroup>

Просмотреть файл

@ -44,7 +44,7 @@
<ObjcBindingCoreSource Include="Structs.cs" />
</ItemGroup>
<ItemGroup>
<ObjcBindingNativeLibrary Include="..\..\native-builds\lib\watchos\libHarfBuzzSharp.a">
<ObjcBindingNativeLibrary Include="..\..\output\native\watchos\libHarfBuzzSharp.a">
<Link>libHarfBuzzSharp.a</Link>
</ObjcBindingNativeLibrary>
</ItemGroup>

Просмотреть файл

@ -53,16 +53,16 @@
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
<ItemGroup />
<ItemGroup>
<EmbeddedNativeLibrary Include="..\..\native-builds\lib\android\arm64-v8a\libSkiaSharp.so">
<EmbeddedNativeLibrary Include="..\..\output\native\android\arm64-v8a\libSkiaSharp.so">
<Link>libs\arm64-v8a\libSkiaSharp.so</Link>
</EmbeddedNativeLibrary>
<EmbeddedNativeLibrary Include="..\..\native-builds\lib\android\armeabi-v7a\libSkiaSharp.so">
<EmbeddedNativeLibrary Include="..\..\output\native\android\armeabi-v7a\libSkiaSharp.so">
<Link>libs\armeabi-v7a\libSkiaSharp.so</Link>
</EmbeddedNativeLibrary>
<EmbeddedNativeLibrary Include="..\..\native-builds\lib\android\x86\libSkiaSharp.so">
<EmbeddedNativeLibrary Include="..\..\output\native\android\x86\libSkiaSharp.so">
<Link>libs\x86\libSkiaSharp.so</Link>
</EmbeddedNativeLibrary>
<EmbeddedNativeLibrary Include="..\..\native-builds\lib\android\x86_64\libSkiaSharp.so">
<EmbeddedNativeLibrary Include="..\..\output\native\android\x86_64\libSkiaSharp.so">
<Link>libs\x86_64\libSkiaSharp.so</Link>
</EmbeddedNativeLibrary>
</ItemGroup>

Просмотреть файл

@ -50,23 +50,23 @@
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\native-builds\lib\windows\x64\libSkiaSharp.dll" Condition="Exists('..\..\native-builds\lib\windows\x64\libSkiaSharp.dll')">
<None Include="..\..\output\native\windows\x64\libSkiaSharp.dll" Condition="Exists('..\..\output\native\windows\x64\libSkiaSharp.dll')">
<Link>nuget\runtimes\win7-x64\native\libSkiaSharp.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="..\..\native-builds\lib\windows\x86\libSkiaSharp.dll" Condition="Exists('..\..\native-builds\lib\windows\x86\libSkiaSharp.dll')">
<None Include="..\..\output\native\windows\x86\libSkiaSharp.dll" Condition="Exists('..\..\output\native\windows\x86\libSkiaSharp.dll')">
<Link>nuget\runtimes\win7-x86\native\libSkiaSharp.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="..\..\native-builds\lib\osx\libSkiaSharp.dylib" Condition="Exists('..\..\native-builds\lib\osx\libSkiaSharp.dylib')">
<None Include="..\..\output\native\osx\libSkiaSharp.dylib" Condition="Exists('..\..\output\native\osx\libSkiaSharp.dylib')">
<Link>nuget\runtimes\osx\native\libSkiaSharp.dylib</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="..\..\native-builds\lib\linux\x64\libSkiaSharp.so" Condition="Exists('..\..\native-builds\lib\linux\x64\libSkiaSharp.so')">
<None Include="..\..\output\native\linux\x64\libSkiaSharp.so" Condition="Exists('..\..\output\native\linux\x64\libSkiaSharp.so')">
<Link>nuget\runtimes\linux-x64\native\libSkiaSharp.so</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="..\..\native-builds\lib\linux\x86\libSkiaSharp.so" Condition="Exists('..\..\native-builds\lib\linux\x86\libSkiaSharp.so')">
<None Include="..\..\output\native\linux\x86\libSkiaSharp.so" Condition="Exists('..\..\output\native\linux\x86\libSkiaSharp.so')">
<Link>nuget\runtimes\linux-x86\native\libSkiaSharp.so</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>

Просмотреть файл

@ -64,13 +64,13 @@
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\native-builds\lib\osx\libSkiaSharp.dylib">
<None Include="..\..\output\native\osx\libSkiaSharp.dylib">
<Link>nuget\runtimes\osx\native\libSkiaSharp.dylib</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<ObjcBindingNativeLibrary Include="..\..\native-builds\lib\osx\libSkiaSharp.dylib">
<ObjcBindingNativeLibrary Include="..\..\output\native\osx\libSkiaSharp.dylib">
<Link>libSkiaSharp.dylib</Link>
</ObjcBindingNativeLibrary>
</ItemGroup>

Просмотреть файл

@ -51,7 +51,7 @@
<ObjcBindingCoreSource Include="StructsAndEnums.cs" />
</ItemGroup>
<ItemGroup>
<NativeReference Include="..\..\native-builds\lib\ios\libSkiaSharp.framework">
<NativeReference Include="..\..\output\native\ios\libSkiaSharp.framework">
<Kind>Framework</Kind>
</NativeReference>
</ItemGroup>

Просмотреть файл

@ -51,7 +51,7 @@
<ObjcBindingCoreSource Include="StructsAndEnums.cs" />
</ItemGroup>
<ItemGroup>
<NativeReference Include="..\..\native-builds\lib\tvos\libSkiaSharp.framework">
<NativeReference Include="..\..\output\native\tvos\libSkiaSharp.framework">
<Kind>Framework</Kind>
</NativeReference>
</ItemGroup>

Просмотреть файл

@ -50,7 +50,7 @@
<ObjcBindingCoreSource Include="StructsAndEnums.cs" />
</ItemGroup>
<ItemGroup>
<NativeReference Include="..\..\native-builds\lib\watchOS\libSkiaSharp.framework">
<NativeReference Include="..\..\output\native\watchOS\libSkiaSharp.framework">
<Kind>Framework</Kind>
</NativeReference>
</ItemGroup>

Просмотреть файл

@ -699,9 +699,6 @@ Task ("clean-managed").Does (() =>
CleanDirectories ("./source/*/*/Generated Files");
CleanDirectories ("./source/packages");
CleanDirectories ("./externals/Windows.Foundation.UniversalApiContract/bin");
CleanDirectories ("./externals/Windows.Foundation.UniversalApiContract/obj");
DeleteFiles ("./nuget/*.prerelease.nuspec");
if (DirectoryExists ("./output"))

Просмотреть файл

@ -1,59 +1,4 @@
////////////////////////////////////////////////////////////////////////////////////////////////////
// TOOLS & FUNCTIONS - the bits to make it all work
////////////////////////////////////////////////////////////////////////////////////////////////////
var InjectCompatibilityExternals = new Action<bool> ((inject) => {
// some methods don't yet exist, so we must add the compat layer to them.
// we need this as we can't modify the third party files
// all we do is insert our header before all the others
var compatHeader = "native-builds/src/WinRTCompat.h";
var compatSource = "native-builds/src/WinRTCompat.c";
var files = new Dictionary<FilePath, string> {
{ "externals/skia/third_party/externals/dng_sdk/source/dng_string.cpp", "#if qWinOS" },
{ "externals/skia/third_party/externals/dng_sdk/source/dng_utils.cpp", "#if qWinOS" },
{ "externals/skia/third_party/externals/dng_sdk/source/dng_pthread.cpp", "#if qWinOS" },
{ "externals/skia/third_party/externals/zlib/deflate.c", "#include <assert.h>" },
{ "externals/skia/third_party/externals/libjpeg-turbo/simd/jsimd_x86_64.c", "#define JPEG_INTERNALS" },
{ "externals/skia/third_party/externals/libjpeg-turbo/simd/jsimd_i386.c", "#define JPEG_INTERNALS" },
{ "externals/skia/third_party/externals/libjpeg-turbo/simd/jsimd_arm.c", "#define JPEG_INTERNALS" },
{ "externals/skia/third_party/externals/libjpeg-turbo/simd/jsimd_arm64.c", "#define JPEG_INTERNALS" },
};
foreach (var filePair in files) {
var file = filePair.Key;
if (!FileExists (file))
continue;
var root = string.Join ("/", file.GetDirectory ().Segments.Select (x => ".."));
var include = "#include \"" + root + "/" + compatHeader + "\"";
var contents = FileReadLines (file).ToList ();
var index = contents.IndexOf (include);
if (index == -1 && inject) {
Information ("Injecting modifications into third party code: {0}...", file);
if (string.IsNullOrEmpty (filePair.Value)) {
contents.Insert (0, include);
} else {
contents.Insert (contents.IndexOf (filePair.Value), include);
}
FileWriteLines (file, contents.ToArray ());
} else if (index != -1 && !inject) {
Information ("Removing injected modifications from third party code: {0}...", file);
int idx = 0;
if (string.IsNullOrEmpty (filePair.Value)) {
idx = 0;
} else {
idx = contents.IndexOf (filePair.Value) - 1;
}
if (contents [idx] == include) {
contents.RemoveAt (idx);
}
FileWriteLines (file, contents.ToArray ());
}
}
});
////////////////////////////////////////////////////////////////////////////////////////////////////
// EXTERNALS - the native C and C++ libraries
////////////////////////////////////////////////////////////////////////////////////////////////////
@ -67,9 +12,6 @@ Task ("externals-init")
Arguments = SKIA_PATH.CombineWithFilePath ("tools/git-sync-deps").FullPath,
WorkingDirectory = SKIA_PATH.FullPath,
});
// insert compatibility modifications for external code
InjectCompatibilityExternals (true);
});
// this builds the native C and C++ externals
@ -84,18 +26,6 @@ Task ("externals-native")
.IsDependentOn ("externals-linux")
.Does (() =>
{
// copy all the native files into the output
CopyDirectory ("./native-builds/lib/", "./output/native/");
// copy ANGLE externals
EnsureDirectoryExists ("./output/native/uwp/arm/");
EnsureDirectoryExists ("./output/native/uwp/x86/");
EnsureDirectoryExists ("./output/native/uwp/x64/");
CopyFileToDirectory (ANGLE_PATH.CombineWithFilePath ("uwp/bin/UAP/ARM/libEGL.dll"), "./output/native/uwp/arm/");
CopyFileToDirectory (ANGLE_PATH.CombineWithFilePath ("uwp/bin/UAP/ARM/libGLESv2.dll"), "./output/native/uwp/arm/");
CopyFileToDirectory (ANGLE_PATH.CombineWithFilePath ("uwp/bin/UAP/Win32/libEGL.dll"), "./output/native/uwp/x86/");
CopyFileToDirectory (ANGLE_PATH.CombineWithFilePath ("uwp/bin/UAP/Win32/libGLESv2.dll"), "./output/native/uwp/x86/");
CopyFileToDirectory (ANGLE_PATH.CombineWithFilePath ("uwp/bin/UAP/x64/libEGL.dll"), "./output/native/uwp/x64/");
CopyFileToDirectory (ANGLE_PATH.CombineWithFilePath ("uwp/bin/UAP/x64/libGLESv2.dll"), "./output/native/uwp/x64/");
});
// this builds the native C and C++ externals for Windows
@ -124,17 +54,15 @@ Task ("externals-windows")
// build native skia
RunProcess (DEPOT_PATH.CombineWithFilePath ("ninja.exe"), new ProcessSettings {
Arguments = "-C out/win/" + arch,
Arguments = "SkiaSharp -C out/win/" + arch,
WorkingDirectory = SKIA_PATH.FullPath,
});
// build libSkiaSharp
RunMSBuildWithPlatformTarget ("native-builds/libSkiaSharp_windows/libSkiaSharp.sln", arch);
// copy libSkiaSharp to output
EnsureDirectoryExists ("native-builds/lib/windows/" + dir);
CopyFileToDirectory ("native-builds/libSkiaSharp_windows/bin/" + arch + "/Release/libSkiaSharp.dll", "native-builds/lib/windows/" + dir);
CopyFileToDirectory ("native-builds/libSkiaSharp_windows/bin/" + arch + "/Release/libSkiaSharp.pdb", "native-builds/lib/windows/" + dir);
var outDir = "output/native/windows/" + dir;
EnsureDirectoryExists (outDir);
CopyFileToDirectory (SKIA_PATH.Combine ("out/win/" + arch + "/libSkiaSharp.dll"), outDir);
CopyFileToDirectory (SKIA_PATH.Combine ("out/win/" + arch + "/libSkiaSharp.pdb"), outDir);
});
buildArch ("Win32", "x86", "x86");
@ -147,9 +75,10 @@ Task ("externals-windows")
RunMSBuildWithPlatformTarget ("native-builds/libHarfBuzzSharp_windows/libHarfBuzzSharp.sln", arch);
// copy libHarfBuzzSharp to output
EnsureDirectoryExists ("native-builds/lib/windows/" + dir);
CopyFileToDirectory ("native-builds/libHarfBuzzSharp_windows/bin/" + arch + "/Release/libHarfBuzzSharp.dll", "native-builds/lib/windows/" + dir);
CopyFileToDirectory ("native-builds/libHarfBuzzSharp_windows/bin/" + arch + "/Release/libHarfBuzzSharp.pdb", "native-builds/lib/windows/" + dir);
var outDir = "output/native/windows/" + dir;
EnsureDirectoryExists (outDir);
CopyFileToDirectory ("native-builds/libHarfBuzzSharp_windows/bin/" + arch + "/Release/libHarfBuzzSharp.dll", outDir);
CopyFileToDirectory ("native-builds/libHarfBuzzSharp_windows/bin/" + arch + "/Release/libHarfBuzzSharp.pdb", outDir);
});
buildHarfBuzzArch ("Win32", "x86");
@ -184,17 +113,15 @@ Task ("externals-uwp")
// build native skia
RunProcess (DEPOT_PATH.CombineWithFilePath ("ninja.exe"), new ProcessSettings {
Arguments = "-C out/winrt/" + arch,
Arguments = "SkiaSharp -C out/winrt/" + arch,
WorkingDirectory = SKIA_PATH.FullPath,
});
// build libSkiaSharp
RunMSBuildWithPlatformTarget ("native-builds/libSkiaSharp_uwp/libSkiaSharp.sln", arch);
// copy libSkiaSharp to output
EnsureDirectoryExists ("native-builds/lib/uwp/" + dir);
CopyFileToDirectory ("native-builds/libSkiaSharp_uwp/bin/" + arch + "/Release/libSkiaSharp.dll", "native-builds/lib/uwp/" + dir);
CopyFileToDirectory ("native-builds/libSkiaSharp_uwp/bin/" + arch + "/Release/libSkiaSharp.pdb", "native-builds/lib/uwp/" + dir);
var outDir = "output/native/uwp/" + dir;
EnsureDirectoryExists (outDir);
CopyFileToDirectory (SKIA_PATH.Combine ("out/winrt/" + arch + "/libSkiaSharp.dll"), outDir);
CopyFileToDirectory (SKIA_PATH.Combine ("out/winrt/" + arch + "/libSkiaSharp.pdb"), outDir);
});
buildArch ("x64", "x64", "x64");
@ -208,14 +135,26 @@ Task ("externals-uwp")
RunMSBuildWithPlatformTarget ("native-builds/libHarfBuzzSharp_uwp/libHarfBuzzSharp.sln", arch);
// copy libHarfBuzzSharp to output
EnsureDirectoryExists ("native-builds/lib/uwp/" + dir);
CopyFileToDirectory ("native-builds/libHarfBuzzSharp_uwp/bin/" + arch + "/Release/libHarfBuzzSharp.dll", "native-builds/lib/uwp/" + dir);
CopyFileToDirectory ("native-builds/libHarfBuzzSharp_uwp/bin/" + arch + "/Release/libHarfBuzzSharp.pdb", "native-builds/lib/uwp/" + dir);
var outDir = "output/native/uwp/" + dir;
EnsureDirectoryExists (outDir);
CopyFileToDirectory ("native-builds/libHarfBuzzSharp_uwp/bin/" + arch + "/Release/libHarfBuzzSharp.dll", outDir);
CopyFileToDirectory ("native-builds/libHarfBuzzSharp_uwp/bin/" + arch + "/Release/libHarfBuzzSharp.pdb", outDir);
});
buildHarfBuzzArch ("Win32", "x86");
buildHarfBuzzArch ("x64", "x64");
buildHarfBuzzArch ("ARM", "arm");
// copy ANGLE externals
EnsureDirectoryExists ("./output/native/uwp/arm/");
EnsureDirectoryExists ("./output/native/uwp/x86/");
EnsureDirectoryExists ("./output/native/uwp/x64/");
CopyFileToDirectory (ANGLE_PATH.CombineWithFilePath ("uwp/bin/UAP/ARM/libEGL.dll"), "./output/native/uwp/arm/");
CopyFileToDirectory (ANGLE_PATH.CombineWithFilePath ("uwp/bin/UAP/ARM/libGLESv2.dll"), "./output/native/uwp/arm/");
CopyFileToDirectory (ANGLE_PATH.CombineWithFilePath ("uwp/bin/UAP/Win32/libEGL.dll"), "./output/native/uwp/x86/");
CopyFileToDirectory (ANGLE_PATH.CombineWithFilePath ("uwp/bin/UAP/Win32/libGLESv2.dll"), "./output/native/uwp/x86/");
CopyFileToDirectory (ANGLE_PATH.CombineWithFilePath ("uwp/bin/UAP/x64/libEGL.dll"), "./output/native/uwp/x64/");
CopyFileToDirectory (ANGLE_PATH.CombineWithFilePath ("uwp/bin/UAP/x64/libGLESv2.dll"), "./output/native/uwp/x64/");
});
// this builds the native C and C++ externals for Mac OS X
@ -258,19 +197,19 @@ Task ("externals-osx")
});
// copy libSkiaSharp to output
EnsureDirectoryExists ("native-builds/lib/osx/" + arch);
CopyDirectory ("native-builds/libSkiaSharp_osx/build/Release/", "native-builds/lib/osx/" + arch);
EnsureDirectoryExists ("output/native/osx/" + arch);
CopyDirectory ("native-builds/libSkiaSharp_osx/build/Release/", "output/native/osx/" + arch);
// strip anything we can
RunProcess ("strip", new ProcessSettings {
Arguments = "-x -S libSkiaSharp.dylib",
WorkingDirectory = "native-builds/lib/osx/" + arch,
WorkingDirectory = "output/native/osx/" + arch,
});
// re-sign with empty
RunProcess ("codesign", new ProcessSettings {
Arguments = "--force --sign - --timestamp=none libSkiaSharp.dylib",
WorkingDirectory = "native-builds/lib/osx/" + arch,
WorkingDirectory = "output/native/osx/" + arch,
});
});
@ -278,7 +217,7 @@ Task ("externals-osx")
buildArch ("x86_64", "x64");
// create the fat dylib
RunLipo ("native-builds/lib/osx/", "libSkiaSharp.dylib", new [] {
RunLipo ("output/native/osx/", "libSkiaSharp.dylib", new [] {
(FilePath) "i386/libSkiaSharp.dylib",
(FilePath) "x86_64/libSkiaSharp.dylib"
});
@ -296,19 +235,19 @@ Task ("externals-osx")
});
// copy libHarfBuzzSharp to output
EnsureDirectoryExists ("native-builds/lib/osx/" + arch);
CopyFileToDirectory ("native-builds/libHarfBuzzSharp_osx/build/Release/libHarfBuzzSharp.dylib", "native-builds/lib/osx/" + arch);
EnsureDirectoryExists ("output/native/osx/" + arch);
CopyFileToDirectory ("native-builds/libHarfBuzzSharp_osx/build/Release/libHarfBuzzSharp.dylib", "output/native/osx/" + arch);
// strip anything we can
RunProcess ("strip", new ProcessSettings {
Arguments = "-x -S libHarfBuzzSharp.dylib",
WorkingDirectory = "native-builds/lib/osx/" + arch,
WorkingDirectory = "output/native/osx/" + arch,
});
// re-sign with empty
RunProcess ("codesign", new ProcessSettings {
Arguments = "--force --sign - --timestamp=none libHarfBuzzSharp.dylib",
WorkingDirectory = "native-builds/lib/osx/" + arch,
WorkingDirectory = "output/native/osx/" + arch,
});
});
@ -316,7 +255,7 @@ Task ("externals-osx")
buildHarfBuzzArch ("x86_64", "x64");
// create the fat dylib
RunLipo ("native-builds/lib/osx/", "libHarfBuzzSharp.dylib", new [] {
RunLipo ("output/native/osx/", "libHarfBuzzSharp.dylib", new [] {
(FilePath) "i386/libHarfBuzzSharp.dylib",
(FilePath) "x86_64/libHarfBuzzSharp.dylib"
});
@ -370,19 +309,19 @@ Task ("externals-ios")
});
// copy libSkiaSharp to output
EnsureDirectoryExists ("native-builds/lib/ios/" + arch);
CopyDirectory ("native-builds/libSkiaSharp_ios/build/Release-" + sdk, "native-builds/lib/ios/" + arch);
EnsureDirectoryExists ("output/native/ios/" + arch);
CopyDirectory ("native-builds/libSkiaSharp_ios/build/Release-" + sdk, "output/native/ios/" + arch);
// strip anything we can
RunProcess ("strip", new ProcessSettings {
Arguments = "-x -S libSkiaSharp",
WorkingDirectory = "native-builds/lib/ios/" + arch + "/libSkiaSharp.framework",
WorkingDirectory = "output/native/ios/" + arch + "/libSkiaSharp.framework",
});
// re-sign with empty
RunProcess ("codesign", new ProcessSettings {
Arguments = "--force --sign - --timestamp=none libSkiaSharp.framework",
WorkingDirectory = "native-builds/lib/ios/" + arch,
WorkingDirectory = "output/native/ios/" + arch,
});
});
@ -392,9 +331,9 @@ Task ("externals-ios")
buildArch ("iphoneos", "arm64", "arm64");
// create the fat framework
CopyDirectory ("native-builds/lib/ios/armv7/libSkiaSharp.framework/", "native-builds/lib/ios/libSkiaSharp.framework/");
DeleteFile ("native-builds/lib/ios/libSkiaSharp.framework/libSkiaSharp");
RunLipo ("native-builds/lib/ios/", "libSkiaSharp.framework/libSkiaSharp", new [] {
CopyDirectory ("output/native/ios/armv7/libSkiaSharp.framework/", "output/native/ios/libSkiaSharp.framework/");
DeleteFile ("output/native/ios/libSkiaSharp.framework/libSkiaSharp");
RunLipo ("output/native/ios/", "libSkiaSharp.framework/libSkiaSharp", new [] {
(FilePath) "i386/libSkiaSharp.framework/libSkiaSharp",
(FilePath) "x86_64/libSkiaSharp.framework/libSkiaSharp",
(FilePath) "armv7/libSkiaSharp.framework/libSkiaSharp",
@ -414,13 +353,13 @@ Task ("externals-ios")
});
// copy libHarfBuzzSharp_ios to output
EnsureDirectoryExists ("native-builds/lib/ios/" + arch);
CopyFileToDirectory ("native-builds/libHarfBuzzSharp_ios/build/Release-" + sdk + "/libHarfBuzzSharp.a", "native-builds/lib/ios/" + arch);
EnsureDirectoryExists ("output/native/ios/" + arch);
CopyFileToDirectory ("native-builds/libHarfBuzzSharp_ios/build/Release-" + sdk + "/libHarfBuzzSharp.a", "output/native/ios/" + arch);
// strip anything we can
RunProcess ("strip", new ProcessSettings {
Arguments = "-x -S libHarfBuzzSharp.a",
WorkingDirectory = "native-builds/lib/ios/" + arch,
WorkingDirectory = "output/native/ios/" + arch,
});
});
@ -430,7 +369,7 @@ Task ("externals-ios")
buildHarfBuzzArch ("iphoneos", "arm64");
// create the fat archive
RunLipo ("native-builds/lib/ios/", "libHarfBuzzSharp.a", new [] {
RunLipo ("output/native/ios/", "libHarfBuzzSharp.a", new [] {
(FilePath) "i386/libHarfBuzzSharp.a",
(FilePath) "x86_64/libHarfBuzzSharp.a",
(FilePath) "armv7/libHarfBuzzSharp.a",
@ -478,19 +417,19 @@ Task ("externals-tvos")
});
// copy libSkiaSharp to output
EnsureDirectoryExists ("native-builds/lib/tvos/" + arch);
CopyDirectory ("native-builds/libSkiaSharp_tvos/build/Release-" + sdk, "native-builds/lib/tvos/" + arch);
EnsureDirectoryExists ("output/native/tvos/" + arch);
CopyDirectory ("native-builds/libSkiaSharp_tvos/build/Release-" + sdk, "output/native/tvos/" + arch);
// strip anything we can
RunProcess ("strip", new ProcessSettings {
Arguments = "-x -S libSkiaSharp",
WorkingDirectory = "native-builds/lib/tvos/" + arch + "/libSkiaSharp.framework",
WorkingDirectory = "output/native/tvos/" + arch + "/libSkiaSharp.framework",
});
// re-sign with empty
RunProcess ("codesign", new ProcessSettings {
Arguments = "--force --sign - --timestamp=none libSkiaSharp.framework",
WorkingDirectory = "native-builds/lib/tvos/" + arch,
WorkingDirectory = "output/native/tvos/" + arch,
});
});
@ -498,9 +437,9 @@ Task ("externals-tvos")
buildArch ("appletvos", "arm64", "arm64");
// create the fat framework
CopyDirectory ("native-builds/lib/tvos/arm64/libSkiaSharp.framework/", "native-builds/lib/tvos/libSkiaSharp.framework/");
DeleteFile ("native-builds/lib/tvos/libSkiaSharp.framework/libSkiaSharp");
RunLipo ("native-builds/lib/tvos/", "libSkiaSharp.framework/libSkiaSharp", new [] {
CopyDirectory ("output/native/tvos/arm64/libSkiaSharp.framework/", "output/native/tvos/libSkiaSharp.framework/");
DeleteFile ("output/native/tvos/libSkiaSharp.framework/libSkiaSharp");
RunLipo ("output/native/tvos/", "libSkiaSharp.framework/libSkiaSharp", new [] {
(FilePath) "x86_64/libSkiaSharp.framework/libSkiaSharp",
(FilePath) "arm64/libSkiaSharp.framework/libSkiaSharp"
});
@ -518,13 +457,13 @@ Task ("externals-tvos")
});
// copy libHarfBuzzSharp to output
EnsureDirectoryExists ("native-builds/lib/tvos/" + arch);
CopyFileToDirectory ("native-builds/libHarfBuzzSharp_tvos/build/Release-" + sdk + "/libHarfBuzzSharp.a", "native-builds/lib/tvos/" + arch);
EnsureDirectoryExists ("output/native/tvos/" + arch);
CopyFileToDirectory ("native-builds/libHarfBuzzSharp_tvos/build/Release-" + sdk + "/libHarfBuzzSharp.a", "output/native/tvos/" + arch);
// strip anything we can
RunProcess ("strip", new ProcessSettings {
Arguments = "-x -S libHarfBuzzSharp.a",
WorkingDirectory = "native-builds/lib/tvos/" + arch,
WorkingDirectory = "output/native/tvos/" + arch,
});
});
@ -532,7 +471,7 @@ Task ("externals-tvos")
buildHarfBuzzArch ("appletvos", "arm64");
// create the fat framework
RunLipo ("native-builds/lib/tvos/", "libHarfBuzzSharp.a", new [] {
RunLipo ("output/native/tvos/", "libHarfBuzzSharp.a", new [] {
(FilePath) "x86_64/libHarfBuzzSharp.a",
(FilePath) "arm64/libHarfBuzzSharp.a"
});
@ -586,19 +525,19 @@ Task ("externals-watchos")
});
// copy libSkiaSharp to output
EnsureDirectoryExists ("native-builds/lib/watchos/" + arch);
CopyDirectory ("native-builds/libSkiaSharp_watchos/build/Release-" + sdk, "native-builds/lib/watchos/" + arch);
EnsureDirectoryExists ("output/native/watchos/" + arch);
CopyDirectory ("native-builds/libSkiaSharp_watchos/build/Release-" + sdk, "output/native/watchos/" + arch);
// strip anything we can
RunProcess ("strip", new ProcessSettings {
Arguments = "-x -S libSkiaSharp",
WorkingDirectory = "native-builds/lib/watchos/" + arch + "/libSkiaSharp.framework",
WorkingDirectory = "output/native/watchos/" + arch + "/libSkiaSharp.framework",
});
// re-sign with empty
RunProcess ("codesign", new ProcessSettings {
Arguments = "--force --sign - --timestamp=none libSkiaSharp.framework",
WorkingDirectory = "native-builds/lib/watchos/" + arch,
WorkingDirectory = "output/native/watchos/" + arch,
});
});
@ -606,9 +545,9 @@ Task ("externals-watchos")
buildArch ("watchos", "armv7k", "arm");
// create the fat framework
CopyDirectory ("native-builds/lib/watchos/armv7k/libSkiaSharp.framework/", "native-builds/lib/watchos/libSkiaSharp.framework/");
DeleteFile ("native-builds/lib/watchos/libSkiaSharp.framework/libSkiaSharp");
RunLipo ("native-builds/lib/watchos/", "libSkiaSharp.framework/libSkiaSharp", new [] {
CopyDirectory ("output/native/watchos/armv7k/libSkiaSharp.framework/", "output/native/watchos/libSkiaSharp.framework/");
DeleteFile ("output/native/watchos/libSkiaSharp.framework/libSkiaSharp");
RunLipo ("output/native/watchos/", "libSkiaSharp.framework/libSkiaSharp", new [] {
(FilePath) "i386/libSkiaSharp.framework/libSkiaSharp",
(FilePath) "armv7k/libSkiaSharp.framework/libSkiaSharp"
});
@ -626,13 +565,13 @@ Task ("externals-watchos")
});
// copy libHarfBuzzSharp to output
EnsureDirectoryExists ("native-builds/lib/watchos/" + arch);
CopyFileToDirectory ("native-builds/libHarfBuzzSharp_watchos/build/Release-" + sdk + "/libHarfBuzzSharp.a", "native-builds/lib/watchos/" + arch);
EnsureDirectoryExists ("output/native/watchos/" + arch);
CopyFileToDirectory ("native-builds/libHarfBuzzSharp_watchos/build/Release-" + sdk + "/libHarfBuzzSharp.a", "output/native/watchos/" + arch);
// strip anything we can
RunProcess ("strip", new ProcessSettings {
Arguments = "-x -S libHarfBuzzSharp.a",
WorkingDirectory = "native-builds/lib/watchos/" + arch,
WorkingDirectory = "output/native/watchos/" + arch,
});
});
@ -640,7 +579,7 @@ Task ("externals-watchos")
buildHarfBuzzArch ("watchos", "armv7k");
// create the fat framework
RunLipo ("native-builds/lib/watchos/", "libHarfBuzzSharp.a", new [] {
RunLipo ("output/native/watchos/", "libHarfBuzzSharp.a", new [] {
(FilePath) "i386/libHarfBuzzSharp.a",
(FilePath) "armv7k/libHarfBuzzSharp.a"
});
@ -673,9 +612,13 @@ Task ("externals-android")
// build native skia
RunProcess (DEPOT_PATH.CombineWithFilePath ("ninja"), new ProcessSettings {
Arguments = "-C out/android/" + arch,
Arguments = "SkiaSharp -C out/android/" + arch,
WorkingDirectory = SKIA_PATH.FullPath,
});
var outDir = "output/native/android/" + arch;
EnsureDirectoryExists (outDir);
CopyFileToDirectory (SKIA_PATH.Combine ("out/android/" + arch + "/libSkiaSharp.so"), outDir);
});
buildArch ("x86", "x86");
@ -683,19 +626,6 @@ Task ("externals-android")
buildArch ("armeabi-v7a", "arm");
buildArch ("arm64-v8a", "arm64");
// build libSkiaSharp
var ndkbuild = MakeAbsolute (Directory (ANDROID_NDK_HOME)).CombineWithFilePath ("ndk-build").FullPath;
RunProcess (ndkbuild, new ProcessSettings {
Arguments = "",
WorkingDirectory = ROOT_PATH.Combine ("native-builds/libSkiaSharp_android").FullPath,
});
// copy libSkiaSharp to output
foreach (var folder in new [] { "x86", "x86_64", "armeabi-v7a", "arm64-v8a" }) {
EnsureDirectoryExists("native-builds/lib/android/" + folder);
CopyFileToDirectory ("native-builds/libSkiaSharp_android/libs/" + folder + "/libSkiaSharp.so", "native-builds/lib/android/" + folder);
}
// HarfBuzzSharp
// build libHarfBuzzSharp
@ -706,8 +636,8 @@ Task ("externals-android")
// copy libSkiaSharp to output
foreach (var folder in new [] { "x86", "x86_64", "armeabi-v7a", "arm64-v8a" }) {
EnsureDirectoryExists ("native-builds/lib/android/" + folder);
CopyFileToDirectory ("native-builds/libHarfBuzzSharp_android/libs/" + folder + "/libHarfBuzzSharp.so", "native-builds/lib/android/" + folder);
EnsureDirectoryExists ("output/native/android/" + folder);
CopyFileToDirectory ("native-builds/libHarfBuzzSharp_android/libs/" + folder + "/libHarfBuzzSharp.so", "output/native/android/" + folder);
}
});
@ -734,31 +664,22 @@ Task ("externals-linux")
" skia_enable_gpu=" + (SUPPORT_GPU ? "true" : "false") +
" extra_cflags=[ \"-DSKIA_C_DLL\" ]" +
" extra_ldflags=[ ]" +
" linux_soname_version=\"" + VERSION_SONAME "\"" +
"'",
WorkingDirectory = SKIA_PATH.FullPath,
});
// build native skia
RunProcess (DEPOT_PATH.CombineWithFilePath ("ninja"), new ProcessSettings {
Arguments = "-C out/linux/" + arch,
Arguments = "SkiaSharp -C out/linux/" + arch,
WorkingDirectory = SKIA_PATH.FullPath,
});
// build libSkiaSharp
// RunProcess ("make", new ProcessSettings {
// Arguments = "clean",
// WorkingDirectory = "native-builds/libSkiaSharp_linux",
// });
RunProcess ("make", new ProcessSettings {
Arguments = "ARCH=" + arch + " VERSION=" + VERSION_FILE + " SUPPORT_GPU=" + SUPPORT_GPU,
WorkingDirectory = "native-builds/libSkiaSharp_linux",
});
// copy libSkiaSharp to output
EnsureDirectoryExists ("native-builds/lib/linux/" + arch);
var so = "native-builds/libSkiaSharp_linux/bin/" + arch + "/libSkiaSharp.so." + VERSION_SONAME;
CopyFileToDirectory (so, "native-builds/lib/linux/" + arch);
CopyFile (so, "native-builds/lib/linux/" + arch + "/libSkiaSharp.so");
var outDir = "output/native/linux/" + arch;
EnsureDirectoryExists (outDir);
CopyFileToDirectory (SKIA_PATH.Combine ("out/linux/" + arch + "/libSkiaSharp.so." + VERSION_SONAME), outDir);
CopyFile (SKIA_PATH.Combine ("out/linux/" + arch + "/libSkiaSharp.so." + VERSION_SONAME), outDir + "/libSkiaSharp.so");
});
var buildHarfBuzzArch = new Action<string> ((arch) => {
@ -773,10 +694,10 @@ Task ("externals-linux")
});
// copy libHarfBuzzSharp to output
EnsureDirectoryExists ("native-builds/lib/linux/" + arch);
EnsureDirectoryExists ("output/native/linux/" + arch);
var so = "native-builds/libHarfBuzzSharp_linux/bin/" + arch + "/libHarfBuzzSharp.so." + HARFBUZZ_VERSION_SONAME;
CopyFileToDirectory (so, "native-builds/lib/linux/" + arch);
CopyFile (so, "native-builds/lib/linux/" + arch + "/libHarfBuzzSharp.so");
CopyFileToDirectory (so, "output/native/linux/" + arch);
CopyFile (so, "output/native/linux/" + arch + "/libHarfBuzzSharp.so");
});
foreach (var arch in BUILD_ARCH) {
@ -857,10 +778,7 @@ Task ("clean-externals")
CleanDirectories ("externals/angle");
// all
CleanDirectories ("native-builds/lib");
// android
CleanDirectories ("native-builds/libSkiaSharp_android/obj");
CleanDirectories ("native-builds/libSkiaSharp_android/libs");
CleanDirectories ("output/native");
// ios
CleanDirectories ("native-builds/libSkiaSharp_ios/build");
CleanDirectories ("native-builds/libHarfBuzzSharp_ios/build");
@ -873,17 +791,4 @@ Task ("clean-externals")
// osx
CleanDirectories ("native-builds/libSkiaSharp_osx/build");
CleanDirectories ("native-builds/libHarfBuzzSharp_osx/build");
// windows
CleanDirectories ("native-builds/libSkiaSharp_windows/bin");
CleanDirectories ("native-builds/libSkiaSharp_windows/obj");
CleanDirectories ("native-builds/libHarfBuzzSharp_windows/bin");
CleanDirectories ("native-builds/libHarfBuzzSharp_windows/obj");
// uwp
CleanDirectories ("native-builds/libSkiaSharp_uwp/bin");
CleanDirectories ("native-builds/libSkiaSharp_uwp/obj");
CleanDirectories ("native-builds/libHarfBuzzSharp_uwp/bin");
CleanDirectories ("native-builds/libHarfBuzzSharp_uwp/obj");
// linux
CleanDirectories ("native-builds/libSkiaSharp_linux/bin");
CleanDirectories ("native-builds/libSkiaSharp_linux/obj");
});

Просмотреть файл

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props"
Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{EEE16EC6-A314-4B23-B8AF-CDFB41A4A91D}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Windows.Foundation.UniversalApiContract</RootNamespace>
<AssemblyName>Windows.Foundation.UniversalApiContract</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

1
native-builds/.gitignore поставляемый
Просмотреть файл

@ -1,4 +1,3 @@
lib/
xcuserdata/
libskia_ios/build/
libskia_tvos/build/

Просмотреть файл

@ -1 +0,0 @@
libs

Просмотреть файл

@ -1,3 +0,0 @@
LOCAL_PATH:= $(call my-dir)
include jni/SkiaSharp.mk

Просмотреть файл

@ -1,5 +0,0 @@
APP_ABI := armeabi-v7a arm64-v8a x86 x86_64
APP_PLATFORM := android-9
NDK_TOOLCHAIN_VERSION := 4.9
APP_STL := gnustl_static
APP_OPTIM := release

Просмотреть файл

@ -1,60 +0,0 @@
include jni/skia_prebuilt.mk
include $(CLEAR_VARS)
cmd-strip = $(PRIVATE_STRIP) --strip-all $(call host-path,$1)
# LOCAL_WHOLE_STATIC_LIBRARIES := libskia
LOCAL_STATIC_LIBRARIES := libskia
LOCAL_LDLIBS := -llog -lEGL -lGLESv2
LOCAL_LDFLAGS := -s -Wl,--gc-sections
LOCAL_MODULE := SkiaSharp
LOCAL_C_INCLUDES := ../../externals/skia/src/c \
../../externals/skia/src/core \
../../externals/skia/src/xml \
../../externals/skia/include/private \
../../externals/skia/include/c \
../../externals/skia/include/core \
../../externals/skia/include/codec \
../../externals/skia/include/effects \
../../externals/skia/include/pathops \
../../externals/skia/include/gpu \
../../externals/skia/include/config \
../../externals/skia/include/xml \
../../externals/skia/include/svg \
../../externals/skia/include/utils \
../../externals/skia/include/ports \
../../externals/skia/include/images
LOCAL_CFLAGS := -DSK_INTERNAL -DSK_GAMMA_APPLY_TO_A8 \
-DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0 -DSK_SUPPORT_GPU=1 \
-DSK_SUPPORT_OPENCL=0 -DSK_FORCE_DISTANCE_FIELD_TEXT=0 \
-DSK_BUILD_FOR_ANDROID -DSK_GAMMA_EXPONENT=1.4 -DSK_GAMMA_CONTRAST=0.0 \
-DSKIA_C_DLL -DSKIA_IMPLEMENTATION=1 \
-DSK_SUPPORT_LEGACY_CLIPTOLAYERFLAG -DNDEBUG
LOCAL_CFLAGS += -fPIC -g -fno-exceptions -fstrict-aliasing -Wall -Wextra \
-Winit-self -Wpointer-arith -Wsign-compare -Wno-unused-parameter \
-Werror -fuse-ld=gold \
-Os -ffunction-sections -fdata-sections -fno-rtti
LOCAL_CPPFLAGS := -std=c++11 -fno-rtti -fno-threadsafe-statics -Wnon-virtual-dtor \
-Os -ffunction-sections -fdata-sections
LOCAL_SRC_FILES := ../../src/sk_xamarin.cpp \
../../src/SkiaKeeper.c \
../../src/sk_managedstream.cpp \
../../src/SkManagedStream.cpp \
../../src/sk_managedpixelserializer.cpp \
../../src/SkManagedPixelSerializer.cpp
include $(BUILD_SHARED_LIBRARY)

Просмотреть файл

@ -1,7 +0,0 @@
SKIA_ANDROID_RELEASE=../../../externals/skia/out/android/$(TARGET_ARCH_ABI)
include $(CLEAR_VARS)
LOCAL_MODULE := libskia
LOCAL_SRC_FILES := $(SKIA_ANDROID_RELEASE)/libskia.a
include $(PREBUILT_STATIC_LIBRARY)

Просмотреть файл

@ -7,41 +7,45 @@
objects = {
/* Begin PBXBuildFile section */
21FD2B341C014C000023CFAE /* libSkiaSharp.h in Headers */ = {isa = PBXBuildFile; fileRef = 21FD2B331C014C000023CFAE /* libSkiaSharp.h */; settings = {ATTRIBUTES = (Public, ); }; };
3403038C1C404F6B00630F26 /* sk_xamarin.h in Headers */ = {isa = PBXBuildFile; fileRef = 3403038B1C404F6B00630F26 /* sk_xamarin.h */; };
340303941C4053E500630F26 /* sk_managedstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 340303901C4053E500630F26 /* sk_managedstream.cpp */; };
340303951C4053E500630F26 /* sk_managedstream.h in Headers */ = {isa = PBXBuildFile; fileRef = 340303911C4053E500630F26 /* sk_managedstream.h */; };
340303961C4053E500630F26 /* SkManagedStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 340303921C4053E500630F26 /* SkManagedStream.cpp */; };
340303971C4053E500630F26 /* SkManagedStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 340303931C4053E500630F26 /* SkManagedStream.h */; };
340303DB1C40877300630F26 /* sk_xamarin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 340303DA1C40877300630F26 /* sk_xamarin.cpp */; };
343DAE471C3F285700FAD826 /* SkiaKeeper.c in Sources */ = {isa = PBXBuildFile; fileRef = 343DAE451C3F285700FAD826 /* SkiaKeeper.c */; };
345A7E581E7635B10046F543 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 345A7E571E7635B10046F543 /* CoreGraphics.framework */; };
345A7E5A1E7635B50046F543 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 345A7E591E7635B50046F543 /* CoreFoundation.framework */; };
345A7E5C1E7635B90046F543 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 345A7E5B1E7635B90046F543 /* CoreText.framework */; };
34B8B2DF1F4B1BDF00CA3A7E /* sk_managedpixelserializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34B8B2DB1F4B1BDF00CA3A7E /* sk_managedpixelserializer.cpp */; };
34B8B2E01F4B1BDF00CA3A7E /* sk_managedpixelserializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 34B8B2DC1F4B1BDF00CA3A7E /* sk_managedpixelserializer.h */; };
34B8B2E11F4B1BDF00CA3A7E /* SkManagedPixelSerializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34B8B2DD1F4B1BDF00CA3A7E /* SkManagedPixelSerializer.cpp */; };
34B8B2E21F4B1BDF00CA3A7E /* SkManagedPixelSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 34B8B2DE1F4B1BDF00CA3A7E /* SkManagedPixelSerializer.h */; };
34C0C90420573CBE00DFDB22 /* libSkiaSharp.h in Headers */ = {isa = PBXBuildFile; fileRef = 34C0C90320573CBE00DFDB22 /* libSkiaSharp.h */; };
34CB9ACA205699BC00BACCBA /* WinRTCompat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34CB9AC3205699BC00BACCBA /* WinRTCompat.cpp */; };
34CB9ACB205699BC00BACCBA /* sk_managedstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34CB9AC4205699BC00BACCBA /* sk_managedstream.cpp */; };
34CB9ACC205699BC00BACCBA /* SkManagedStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34CB9AC5205699BC00BACCBA /* SkManagedStream.cpp */; };
34CB9ACD205699BC00BACCBA /* sk_xamarin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34CB9AC6205699BC00BACCBA /* sk_xamarin.cpp */; };
34CB9ACE205699BC00BACCBA /* sk_managedpixelserializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34CB9AC7205699BC00BACCBA /* sk_managedpixelserializer.cpp */; };
34CB9ACF205699BC00BACCBA /* SkiaKeeper.c in Sources */ = {isa = PBXBuildFile; fileRef = 34CB9AC8205699BC00BACCBA /* SkiaKeeper.c */; };
34CB9AD0205699BC00BACCBA /* SkManagedPixelSerializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34CB9AC9205699BC00BACCBA /* SkManagedPixelSerializer.cpp */; };
34CB9AD7205699C400BACCBA /* SkManagedPixelSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 34CB9AD1205699C300BACCBA /* SkManagedPixelSerializer.h */; };
34CB9AD8205699C400BACCBA /* SkManagedStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 34CB9AD2205699C300BACCBA /* SkManagedStream.h */; };
34CB9AD9205699C400BACCBA /* sk_managedstream.h in Headers */ = {isa = PBXBuildFile; fileRef = 34CB9AD3205699C400BACCBA /* sk_managedstream.h */; };
34CB9ADA205699C400BACCBA /* sk_managedpixelserializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 34CB9AD4205699C400BACCBA /* sk_managedpixelserializer.h */; };
34CB9ADB205699C400BACCBA /* sk_xamarin.h in Headers */ = {isa = PBXBuildFile; fileRef = 34CB9AD5205699C400BACCBA /* sk_xamarin.h */; };
34CB9ADC205699C400BACCBA /* WinRTCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 34CB9AD6205699C400BACCBA /* WinRTCompat.h */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
21FD2B301C014C000023CFAE /* libSkiaSharp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = libSkiaSharp.framework; sourceTree = BUILT_PRODUCTS_DIR; };
21FD2B331C014C000023CFAE /* libSkiaSharp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libSkiaSharp.h; sourceTree = "<group>"; };
21FD2B351C014C000023CFAE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
3403038B1C404F6B00630F26 /* sk_xamarin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_xamarin.h; path = ../src/sk_xamarin.h; sourceTree = "<absolute>"; };
340303901C4053E500630F26 /* sk_managedstream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_managedstream.cpp; path = ../src/sk_managedstream.cpp; sourceTree = "<absolute>"; };
340303911C4053E500630F26 /* sk_managedstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_managedstream.h; path = ../src/sk_managedstream.h; sourceTree = "<absolute>"; };
340303921C4053E500630F26 /* SkManagedStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkManagedStream.cpp; path = ../src/SkManagedStream.cpp; sourceTree = "<absolute>"; };
340303931C4053E500630F26 /* SkManagedStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkManagedStream.h; path = ../src/SkManagedStream.h; sourceTree = "<absolute>"; };
340303DA1C40877300630F26 /* sk_xamarin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_xamarin.cpp; path = ../../src/sk_xamarin.cpp; sourceTree = "<group>"; };
343DAE451C3F285700FAD826 /* SkiaKeeper.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkiaKeeper.c; path = ../../src/SkiaKeeper.c; sourceTree = "<group>"; };
345A7E571E7635B10046F543 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
345A7E591E7635B50046F543 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
345A7E5B1E7635B90046F543 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; };
34B8B2DB1F4B1BDF00CA3A7E /* sk_managedpixelserializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_managedpixelserializer.cpp; path = ../../src/sk_managedpixelserializer.cpp; sourceTree = "<group>"; };
34B8B2DC1F4B1BDF00CA3A7E /* sk_managedpixelserializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_managedpixelserializer.h; path = ../../src/sk_managedpixelserializer.h; sourceTree = "<group>"; };
34B8B2DD1F4B1BDF00CA3A7E /* SkManagedPixelSerializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkManagedPixelSerializer.cpp; path = ../../src/SkManagedPixelSerializer.cpp; sourceTree = "<group>"; };
34B8B2DE1F4B1BDF00CA3A7E /* SkManagedPixelSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkManagedPixelSerializer.h; path = ../../src/SkManagedPixelSerializer.h; sourceTree = "<group>"; };
34C0C90320573CBE00DFDB22 /* libSkiaSharp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = libSkiaSharp.h; sourceTree = "<group>"; };
34CB9AC3205699BC00BACCBA /* WinRTCompat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WinRTCompat.cpp; path = ../../../externals/skia/src/xamarin/WinRTCompat.cpp; sourceTree = "<group>"; };
34CB9AC4205699BC00BACCBA /* sk_managedstream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_managedstream.cpp; path = ../../../externals/skia/src/xamarin/sk_managedstream.cpp; sourceTree = "<group>"; };
34CB9AC5205699BC00BACCBA /* SkManagedStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkManagedStream.cpp; path = ../../../externals/skia/src/xamarin/SkManagedStream.cpp; sourceTree = "<group>"; };
34CB9AC6205699BC00BACCBA /* sk_xamarin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_xamarin.cpp; path = ../../../externals/skia/src/xamarin/sk_xamarin.cpp; sourceTree = "<group>"; };
34CB9AC7205699BC00BACCBA /* sk_managedpixelserializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_managedpixelserializer.cpp; path = ../../../externals/skia/src/xamarin/sk_managedpixelserializer.cpp; sourceTree = "<group>"; };
34CB9AC8205699BC00BACCBA /* SkiaKeeper.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkiaKeeper.c; path = ../../../externals/skia/src/xamarin/SkiaKeeper.c; sourceTree = "<group>"; };
34CB9AC9205699BC00BACCBA /* SkManagedPixelSerializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkManagedPixelSerializer.cpp; path = ../../../externals/skia/src/xamarin/SkManagedPixelSerializer.cpp; sourceTree = "<group>"; };
34CB9AD1205699C300BACCBA /* SkManagedPixelSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkManagedPixelSerializer.h; path = ../../../externals/skia/include/xamarin/SkManagedPixelSerializer.h; sourceTree = "<group>"; };
34CB9AD2205699C300BACCBA /* SkManagedStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkManagedStream.h; path = ../../../externals/skia/include/xamarin/SkManagedStream.h; sourceTree = "<group>"; };
34CB9AD3205699C400BACCBA /* sk_managedstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_managedstream.h; path = ../../../externals/skia/include/xamarin/sk_managedstream.h; sourceTree = "<group>"; };
34CB9AD4205699C400BACCBA /* sk_managedpixelserializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_managedpixelserializer.h; path = ../../../externals/skia/include/xamarin/sk_managedpixelserializer.h; sourceTree = "<group>"; };
34CB9AD5205699C400BACCBA /* sk_xamarin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_xamarin.h; path = ../../../externals/skia/include/xamarin/sk_xamarin.h; sourceTree = "<group>"; };
34CB9AD6205699C400BACCBA /* WinRTCompat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WinRTCompat.h; path = ../../../externals/skia/include/xamarin/WinRTCompat.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -61,9 +65,9 @@
21FD2B261C014C000023CFAE = {
isa = PBXGroup;
children = (
345A7E561E7635B00046F543 /* Frameworks */,
21FD2B311C014C000023CFAE /* Products */,
21FD2B321C014C000023CFAE /* Source */,
345A7E561E7635B00046F543 /* Frameworks */,
);
sourceTree = "<group>";
};
@ -78,19 +82,21 @@
21FD2B321C014C000023CFAE /* Source */ = {
isa = PBXGroup;
children = (
34B8B2DB1F4B1BDF00CA3A7E /* sk_managedpixelserializer.cpp */,
34B8B2DC1F4B1BDF00CA3A7E /* sk_managedpixelserializer.h */,
34B8B2DD1F4B1BDF00CA3A7E /* SkManagedPixelSerializer.cpp */,
34B8B2DE1F4B1BDF00CA3A7E /* SkManagedPixelSerializer.h */,
340303901C4053E500630F26 /* sk_managedstream.cpp */,
340303911C4053E500630F26 /* sk_managedstream.h */,
340303921C4053E500630F26 /* SkManagedStream.cpp */,
340303931C4053E500630F26 /* SkManagedStream.h */,
340303DA1C40877300630F26 /* sk_xamarin.cpp */,
3403038B1C404F6B00630F26 /* sk_xamarin.h */,
343DAE451C3F285700FAD826 /* SkiaKeeper.c */,
21FD2B331C014C000023CFAE /* libSkiaSharp.h */,
21FD2B351C014C000023CFAE /* Info.plist */,
34C0C90320573CBE00DFDB22 /* libSkiaSharp.h */,
34CB9AC7205699BC00BACCBA /* sk_managedpixelserializer.cpp */,
34CB9AD4205699C400BACCBA /* sk_managedpixelserializer.h */,
34CB9AC4205699BC00BACCBA /* sk_managedstream.cpp */,
34CB9AD3205699C400BACCBA /* sk_managedstream.h */,
34CB9AC6205699BC00BACCBA /* sk_xamarin.cpp */,
34CB9AD5205699C400BACCBA /* sk_xamarin.h */,
34CB9AC8205699BC00BACCBA /* SkiaKeeper.c */,
34CB9AC9205699BC00BACCBA /* SkManagedPixelSerializer.cpp */,
34CB9AD1205699C300BACCBA /* SkManagedPixelSerializer.h */,
34CB9AC5205699BC00BACCBA /* SkManagedStream.cpp */,
34CB9AD2205699C300BACCBA /* SkManagedStream.h */,
34CB9AC3205699BC00BACCBA /* WinRTCompat.cpp */,
34CB9AD6205699C400BACCBA /* WinRTCompat.h */,
);
name = Source;
path = libSkiaSharp;
@ -113,12 +119,13 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
21FD2B341C014C000023CFAE /* libSkiaSharp.h in Headers */,
34B8B2E21F4B1BDF00CA3A7E /* SkManagedPixelSerializer.h in Headers */,
34B8B2E01F4B1BDF00CA3A7E /* sk_managedpixelserializer.h in Headers */,
3403038C1C404F6B00630F26 /* sk_xamarin.h in Headers */,
340303971C4053E500630F26 /* SkManagedStream.h in Headers */,
340303951C4053E500630F26 /* sk_managedstream.h in Headers */,
34CB9ADC205699C400BACCBA /* WinRTCompat.h in Headers */,
34C0C90420573CBE00DFDB22 /* libSkiaSharp.h in Headers */,
34CB9AD8205699C400BACCBA /* SkManagedStream.h in Headers */,
34CB9ADB205699C400BACCBA /* sk_xamarin.h in Headers */,
34CB9ADA205699C400BACCBA /* sk_managedpixelserializer.h in Headers */,
34CB9AD9205699C400BACCBA /* sk_managedstream.h in Headers */,
34CB9AD7205699C400BACCBA /* SkManagedPixelSerializer.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -189,12 +196,13 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
34B8B2E11F4B1BDF00CA3A7E /* SkManagedPixelSerializer.cpp in Sources */,
340303DB1C40877300630F26 /* sk_xamarin.cpp in Sources */,
34B8B2DF1F4B1BDF00CA3A7E /* sk_managedpixelserializer.cpp in Sources */,
343DAE471C3F285700FAD826 /* SkiaKeeper.c in Sources */,
340303941C4053E500630F26 /* sk_managedstream.cpp in Sources */,
340303961C4053E500630F26 /* SkManagedStream.cpp in Sources */,
34CB9ACD205699BC00BACCBA /* sk_xamarin.cpp in Sources */,
34CB9ACE205699BC00BACCBA /* sk_managedpixelserializer.cpp in Sources */,
34CB9ACA205699BC00BACCBA /* WinRTCompat.cpp in Sources */,
34CB9ACC205699BC00BACCBA /* SkManagedStream.cpp in Sources */,
34CB9AD0205699BC00BACCBA /* SkManagedPixelSerializer.cpp in Sources */,
34CB9ACB205699BC00BACCBA /* sk_managedstream.cpp in Sources */,
34CB9ACF205699BC00BACCBA /* SkiaKeeper.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

Просмотреть файл

@ -6,14 +6,3 @@
// Copyright © 2015 Xamarin. All rights reserved.
//
#import <UIKit/UIKit.h>
//! Project version number for libSkiaSharp.
FOUNDATION_EXPORT double libSkiaSharpVersionNumber;
//! Project version string for libSkiaSharp.
FOUNDATION_EXPORT const unsigned char libSkiaSharpVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <libSkiaSharp/PublicHeader.h>

Просмотреть файл

@ -1,94 +0,0 @@
ARCH ?= x64
VERSION ?= 1.0.0.0
SUPPORT_GPU ?= 1
CC ?= gcc
CXX ?= g++
LDFLAGS += -lpthread -ldl -lfontconfig
noop =
space = ${noop} ${noop}
version_parts = $(subst ., ,${VERSION})
soname_version = $(word 2, ${version_parts})
file_version = $(subst ${space},.,$(wordlist 2, 4, ${version_parts}))
src_root = ../src
obj_root = obj
bin_root = bin
objarch_root = ${obj_root}/${ARCH}
target_name = libSkiaSharp.so
target = ${bin_root}/${ARCH}/${target_name}.${file_version}
library_dirs = \
../../externals/skia/out/linux/${ARCH}
include_dirs = \
../../externals/skia/src/c \
../../externals/skia/src/core \
../../externals/skia/src/xml \
../../externals/skia/include/private \
../../externals/skia/include/c \
../../externals/skia/include/core \
../../externals/skia/include/codec \
../../externals/skia/include/effects \
../../externals/skia/include/pathops \
../../externals/skia/include/gpu \
../../externals/skia/include/config \
../../externals/skia/include/utils \
../../externals/skia/include/ports \
../../externals/skia/include/images \
../../externals/skia/include/svg \
../../externals/skia/include/xml
library_paths = \
../../externals/skia/out/linux/${ARCH}/libskia.a
defines = \
-DSK_INTERNAL -DSK_GAMMA_APPLY_TO_A8 -DQT_NO_KEYWORDS \
-DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1 -DSK_SUPPORT_GPU=${SUPPORT_GPU} \
-DSK_FORCE_DISTANCE_FIELD_TEXT=0 -DSK_HAS_JPEG_LIBRARY \
-DSK_HAS_PNG_LIBRARY -DSK_HAS_WEBP_LIBRARY -DSKIA_C_DLL \
-DSKIA_IMPLEMENTATION=1 -DSK_CODEC_DECODES_RAW -DSK_SAMPLES_FOR_X \
-DSK_BUILD_FOR_UNIX -DNDEBUG
cflags = \
-msse2 -mfpmath=sse -g -fno-exceptions -fstrict-aliasing -Wall \
-Wextra -Winit-self -Wpointer-arith -Wsign-compare -Wvla \
-Wno-unused-parameter -Werror -Os \
-fPIC -fdata-sections -ffunction-sections \
-fvisibility=hidden -fvisibility-inlines-hidden
ifeq "${ARCH}" "x86"
arch_cflags = -m32
else
arch_cflags =
endif
cflags_c = ${cflags} ${CFLAGS}
cflags_cc = -std=c++11 -fno-rtti -fno-threadsafe-statics -Wnon-virtual-dtor ${CXXFLAGS}
ldflags = $(library_dirs:%=-L%) ${LDFLAGS}
includes = $(include_dirs:%=-I%)
library_names = $(notdir ${library_paths})
libraries = $(library_names:lib%.a=-l%)
src = $(shell find ${src_root} -name *.cpp -or -name *.c)
src_names = $(notdir ${src})
objs = $(src_names:%=${objarch_root}/%.o)
deps = $(objs:.o=.d)
${objarch_root}/%.o: ${src_root}/%
# build the local source
@echo Building $<...
@mkdir -p $(dir $@)
@$(CXX) -MMD -MF $@.d \
${defines} ${includes} ${arch_cflags} ${cflags_c} ${cflags_cc} \
-c $< -o $@
${target}: ${objs}
# link with skia
@echo Linking $@...
@mkdir -p $(dir $@)
@$(CXX) -shared -static-libstdc++ -rdynamic -s -o $@ \
${defines} ${includes} ${arch_cflags} ${cflags_c} ${cflags_cc} \
-Wl,--start-group ${objarch_root}/*.o ${library_paths} -Wl,--end-group \
${ldflags} -Wl,--gc-sections -Wl,--no-undefined \
-Wl,-soname,libSkiaSharp.so.${soname_version}
all: ${target}
clean:
rm -rf ${obj_root} ${bin_root}

Просмотреть файл

@ -7,42 +7,46 @@
objects = {
/* Begin PBXBuildFile section */
340303831C404C3D00630F26 /* sk_xamarin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 340303821C404C3D00630F26 /* sk_xamarin.cpp */; };
3403038F1C404FD100630F26 /* sk_xamarin.h in Headers */ = {isa = PBXBuildFile; fileRef = 3403038E1C404FD100630F26 /* sk_xamarin.h */; };
3403039C1C40543C00630F26 /* sk_managedstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 340303981C40543C00630F26 /* sk_managedstream.cpp */; };
3403039D1C40543C00630F26 /* sk_managedstream.h in Headers */ = {isa = PBXBuildFile; fileRef = 340303991C40543C00630F26 /* sk_managedstream.h */; };
3403039E1C40543C00630F26 /* SkManagedStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3403039A1C40543C00630F26 /* SkManagedStream.cpp */; };
3403039F1C40543C00630F26 /* SkManagedStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 3403039B1C40543C00630F26 /* SkManagedStream.h */; };
343CCD2B1E75FF3E000EC0A6 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 343CCD2A1E75FF3E000EC0A6 /* CoreText.framework */; };
343CCD2D1E75FF47000EC0A6 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 343CCD2C1E75FF47000EC0A6 /* CoreGraphics.framework */; };
343CCD2F1E75FF54000EC0A6 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 343CCD2E1E75FF54000EC0A6 /* CoreFoundation.framework */; };
343CCD311E75FF71000EC0A6 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 343CCD301E75FF71000EC0A6 /* Cocoa.framework */; };
343DAE301C3F26CF00FAD826 /* SkiaKeeper.c in Sources */ = {isa = PBXBuildFile; fileRef = 343DAE2E1C3F26CF00FAD826 /* SkiaKeeper.c */; };
34EC0D0B1F4B1BB80030F83C /* sk_managedpixelserializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34EC0D071F4B1BB80030F83C /* sk_managedpixelserializer.cpp */; };
34EC0D0C1F4B1BB80030F83C /* sk_managedpixelserializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 34EC0D081F4B1BB80030F83C /* sk_managedpixelserializer.h */; };
34EC0D0D1F4B1BB80030F83C /* SkManagedPixelSerializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34EC0D091F4B1BB80030F83C /* SkManagedPixelSerializer.cpp */; };
34EC0D0E1F4B1BB80030F83C /* SkManagedPixelSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 34EC0D0A1F4B1BB80030F83C /* SkManagedPixelSerializer.h */; };
3459E843205698C7003EAD17 /* WinRTCompat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3459E83C205698C6003EAD17 /* WinRTCompat.cpp */; };
3459E844205698C7003EAD17 /* sk_managedstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3459E83D205698C6003EAD17 /* sk_managedstream.cpp */; };
3459E845205698C7003EAD17 /* SkManagedStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3459E83E205698C6003EAD17 /* SkManagedStream.cpp */; };
3459E846205698C7003EAD17 /* sk_xamarin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3459E83F205698C6003EAD17 /* sk_xamarin.cpp */; };
3459E847205698C7003EAD17 /* sk_managedpixelserializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3459E840205698C6003EAD17 /* sk_managedpixelserializer.cpp */; };
3459E848205698C7003EAD17 /* SkiaKeeper.c in Sources */ = {isa = PBXBuildFile; fileRef = 3459E841205698C7003EAD17 /* SkiaKeeper.c */; };
3459E849205698C7003EAD17 /* SkManagedPixelSerializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3459E842205698C7003EAD17 /* SkManagedPixelSerializer.cpp */; };
3459E850205698D2003EAD17 /* SkManagedPixelSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3459E84A205698D2003EAD17 /* SkManagedPixelSerializer.h */; };
3459E851205698D2003EAD17 /* SkManagedStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 3459E84B205698D2003EAD17 /* SkManagedStream.h */; };
3459E852205698D2003EAD17 /* sk_managedstream.h in Headers */ = {isa = PBXBuildFile; fileRef = 3459E84C205698D2003EAD17 /* sk_managedstream.h */; };
3459E853205698D2003EAD17 /* sk_managedpixelserializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3459E84D205698D2003EAD17 /* sk_managedpixelserializer.h */; };
3459E854205698D2003EAD17 /* sk_xamarin.h in Headers */ = {isa = PBXBuildFile; fileRef = 3459E84E205698D2003EAD17 /* sk_xamarin.h */; };
3459E855205698D2003EAD17 /* WinRTCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 3459E84F205698D2003EAD17 /* WinRTCompat.h */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
21C951551C03D27A003A1E1D /* libSkiaSharp.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libSkiaSharp.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
340303821C404C3D00630F26 /* sk_xamarin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_xamarin.cpp; path = ../src/sk_xamarin.cpp; sourceTree = "<group>"; };
3403038E1C404FD100630F26 /* sk_xamarin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_xamarin.h; path = ../src/sk_xamarin.h; sourceTree = "<group>"; };
340303981C40543C00630F26 /* sk_managedstream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_managedstream.cpp; path = ../src/sk_managedstream.cpp; sourceTree = "<absolute>"; };
340303991C40543C00630F26 /* sk_managedstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_managedstream.h; path = ../src/sk_managedstream.h; sourceTree = "<absolute>"; };
3403039A1C40543C00630F26 /* SkManagedStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkManagedStream.cpp; path = ../src/SkManagedStream.cpp; sourceTree = "<absolute>"; };
3403039B1C40543C00630F26 /* SkManagedStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkManagedStream.h; path = ../src/SkManagedStream.h; sourceTree = "<absolute>"; };
343CCD261E75FD47000EC0A6 /* libskia.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libskia.a; path = ../../externals/skia/out/mac/x64/libskia.a; sourceTree = "<group>"; };
343CCD281E75FF29000EC0A6 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
343CCD2A1E75FF3E000EC0A6 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; };
343CCD2C1E75FF47000EC0A6 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
343CCD2E1E75FF54000EC0A6 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
343CCD301E75FF71000EC0A6 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
343DAE2E1C3F26CF00FAD826 /* SkiaKeeper.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkiaKeeper.c; path = ../src/SkiaKeeper.c; sourceTree = "<group>"; };
34EC0D071F4B1BB80030F83C /* sk_managedpixelserializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_managedpixelserializer.cpp; path = ../src/sk_managedpixelserializer.cpp; sourceTree = "<group>"; };
34EC0D081F4B1BB80030F83C /* sk_managedpixelserializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_managedpixelserializer.h; path = ../src/sk_managedpixelserializer.h; sourceTree = "<group>"; };
34EC0D091F4B1BB80030F83C /* SkManagedPixelSerializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkManagedPixelSerializer.cpp; path = ../src/SkManagedPixelSerializer.cpp; sourceTree = "<group>"; };
34EC0D0A1F4B1BB80030F83C /* SkManagedPixelSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkManagedPixelSerializer.h; path = ../src/SkManagedPixelSerializer.h; sourceTree = "<group>"; };
3459E83C205698C6003EAD17 /* WinRTCompat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WinRTCompat.cpp; path = ../../../externals/skia/src/xamarin/WinRTCompat.cpp; sourceTree = "<group>"; };
3459E83D205698C6003EAD17 /* sk_managedstream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_managedstream.cpp; path = ../../../externals/skia/src/xamarin/sk_managedstream.cpp; sourceTree = "<group>"; };
3459E83E205698C6003EAD17 /* SkManagedStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkManagedStream.cpp; path = ../../../externals/skia/src/xamarin/SkManagedStream.cpp; sourceTree = "<group>"; };
3459E83F205698C6003EAD17 /* sk_xamarin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_xamarin.cpp; path = ../../../externals/skia/src/xamarin/sk_xamarin.cpp; sourceTree = "<group>"; };
3459E840205698C6003EAD17 /* sk_managedpixelserializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_managedpixelserializer.cpp; path = ../../../externals/skia/src/xamarin/sk_managedpixelserializer.cpp; sourceTree = "<group>"; };
3459E841205698C7003EAD17 /* SkiaKeeper.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkiaKeeper.c; path = ../../../externals/skia/src/xamarin/SkiaKeeper.c; sourceTree = "<group>"; };
3459E842205698C7003EAD17 /* SkManagedPixelSerializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkManagedPixelSerializer.cpp; path = ../../../externals/skia/src/xamarin/SkManagedPixelSerializer.cpp; sourceTree = "<group>"; };
3459E84A205698D2003EAD17 /* SkManagedPixelSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkManagedPixelSerializer.h; path = ../../../externals/skia/include/xamarin/SkManagedPixelSerializer.h; sourceTree = "<group>"; };
3459E84B205698D2003EAD17 /* SkManagedStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkManagedStream.h; path = ../../../externals/skia/include/xamarin/SkManagedStream.h; sourceTree = "<group>"; };
3459E84C205698D2003EAD17 /* sk_managedstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_managedstream.h; path = ../../../externals/skia/include/xamarin/sk_managedstream.h; sourceTree = "<group>"; };
3459E84D205698D2003EAD17 /* sk_managedpixelserializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_managedpixelserializer.h; path = ../../../externals/skia/include/xamarin/sk_managedpixelserializer.h; sourceTree = "<group>"; };
3459E84E205698D2003EAD17 /* sk_xamarin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_xamarin.h; path = ../../../externals/skia/include/xamarin/sk_xamarin.h; sourceTree = "<group>"; };
3459E84F205698D2003EAD17 /* WinRTCompat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WinRTCompat.h; path = ../../../externals/skia/include/xamarin/WinRTCompat.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -63,9 +67,9 @@
21C9514C1C03D27A003A1E1D = {
isa = PBXGroup;
children = (
21C951561C03D27A003A1E1D /* Products */,
343DAE2D1C3F26BF00FAD826 /* Source */,
343CCD251E75FD47000EC0A6 /* Frameworks */,
21C951561C03D27A003A1E1D /* Products */,
3459E8202056989E003EAD17 /* Source */,
);
sourceTree = "<group>";
};
@ -90,22 +94,24 @@
name = Frameworks;
sourceTree = "<group>";
};
343DAE2D1C3F26BF00FAD826 /* Source */ = {
3459E8202056989E003EAD17 /* Source */ = {
isa = PBXGroup;
children = (
34EC0D071F4B1BB80030F83C /* sk_managedpixelserializer.cpp */,
34EC0D081F4B1BB80030F83C /* sk_managedpixelserializer.h */,
34EC0D091F4B1BB80030F83C /* SkManagedPixelSerializer.cpp */,
34EC0D0A1F4B1BB80030F83C /* SkManagedPixelSerializer.h */,
340303981C40543C00630F26 /* sk_managedstream.cpp */,
340303991C40543C00630F26 /* sk_managedstream.h */,
3403039A1C40543C00630F26 /* SkManagedStream.cpp */,
3403039B1C40543C00630F26 /* SkManagedStream.h */,
3403038E1C404FD100630F26 /* sk_xamarin.h */,
340303821C404C3D00630F26 /* sk_xamarin.cpp */,
343DAE2E1C3F26CF00FAD826 /* SkiaKeeper.c */,
3459E840205698C6003EAD17 /* sk_managedpixelserializer.cpp */,
3459E84D205698D2003EAD17 /* sk_managedpixelserializer.h */,
3459E83D205698C6003EAD17 /* sk_managedstream.cpp */,
3459E84C205698D2003EAD17 /* sk_managedstream.h */,
3459E83F205698C6003EAD17 /* sk_xamarin.cpp */,
3459E84E205698D2003EAD17 /* sk_xamarin.h */,
3459E841205698C7003EAD17 /* SkiaKeeper.c */,
3459E842205698C7003EAD17 /* SkManagedPixelSerializer.cpp */,
3459E84A205698D2003EAD17 /* SkManagedPixelSerializer.h */,
3459E83E205698C6003EAD17 /* SkManagedStream.cpp */,
3459E84B205698D2003EAD17 /* SkManagedStream.h */,
3459E83C205698C6003EAD17 /* WinRTCompat.cpp */,
3459E84F205698D2003EAD17 /* WinRTCompat.h */,
);
name = Source;
path = Source;
sourceTree = "<group>";
};
/* End PBXGroup section */
@ -115,11 +121,12 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
3403039F1C40543C00630F26 /* SkManagedStream.h in Headers */,
3403039D1C40543C00630F26 /* sk_managedstream.h in Headers */,
34EC0D0E1F4B1BB80030F83C /* SkManagedPixelSerializer.h in Headers */,
3403038F1C404FD100630F26 /* sk_xamarin.h in Headers */,
34EC0D0C1F4B1BB80030F83C /* sk_managedpixelserializer.h in Headers */,
3459E851205698D2003EAD17 /* SkManagedStream.h in Headers */,
3459E850205698D2003EAD17 /* SkManagedPixelSerializer.h in Headers */,
3459E852205698D2003EAD17 /* sk_managedstream.h in Headers */,
3459E855205698D2003EAD17 /* WinRTCompat.h in Headers */,
3459E854205698D2003EAD17 /* sk_xamarin.h in Headers */,
3459E853205698D2003EAD17 /* sk_managedpixelserializer.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -179,12 +186,13 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
34EC0D0D1F4B1BB80030F83C /* SkManagedPixelSerializer.cpp in Sources */,
343DAE301C3F26CF00FAD826 /* SkiaKeeper.c in Sources */,
34EC0D0B1F4B1BB80030F83C /* sk_managedpixelserializer.cpp in Sources */,
340303831C404C3D00630F26 /* sk_xamarin.cpp in Sources */,
3403039C1C40543C00630F26 /* sk_managedstream.cpp in Sources */,
3403039E1C40543C00630F26 /* SkManagedStream.cpp in Sources */,
3459E846205698C7003EAD17 /* sk_xamarin.cpp in Sources */,
3459E847205698C7003EAD17 /* sk_managedpixelserializer.cpp in Sources */,
3459E843205698C7003EAD17 /* WinRTCompat.cpp in Sources */,
3459E845205698C7003EAD17 /* SkManagedStream.cpp in Sources */,
3459E849205698C7003EAD17 /* SkManagedPixelSerializer.cpp in Sources */,
3459E844205698C7003EAD17 /* sk_managedstream.cpp in Sources */,
3459E848205698C7003EAD17 /* SkiaKeeper.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -306,6 +314,7 @@
../../externals/skia/include/config,
../../externals/skia/include/xml,
../../externals/skia/include/svg,
../../externals/skia/include/xamarin,
);
INSTALL_PATH = "@rpath";
LIBRARY_SEARCH_PATHS = "../../externals/skia/out/mac/$(ARCHS)";
@ -338,6 +347,7 @@
../../externals/skia/include/config,
../../externals/skia/include/xml,
../../externals/skia/include/svg,
../../externals/skia/include/xamarin,
);
INSTALL_PATH = "@rpath";
LIBRARY_SEARCH_PATHS = "../../externals/skia/out/mac/$(ARCHS)";

Просмотреть файл

@ -7,41 +7,45 @@
objects = {
/* Begin PBXBuildFile section */
21FD2B341C014C000023CFAE /* libSkiaSharp.h in Headers */ = {isa = PBXBuildFile; fileRef = 21FD2B331C014C000023CFAE /* libSkiaSharp.h */; settings = {ATTRIBUTES = (Public, ); }; };
3403038C1C404F6B00630F26 /* sk_xamarin.h in Headers */ = {isa = PBXBuildFile; fileRef = 3403038B1C404F6B00630F26 /* sk_xamarin.h */; };
340303941C4053E500630F26 /* sk_managedstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 340303901C4053E500630F26 /* sk_managedstream.cpp */; };
340303951C4053E500630F26 /* sk_managedstream.h in Headers */ = {isa = PBXBuildFile; fileRef = 340303911C4053E500630F26 /* sk_managedstream.h */; };
340303961C4053E500630F26 /* SkManagedStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 340303921C4053E500630F26 /* SkManagedStream.cpp */; };
340303971C4053E500630F26 /* SkManagedStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 340303931C4053E500630F26 /* SkManagedStream.h */; };
340303DB1C40877300630F26 /* sk_xamarin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 340303DA1C40877300630F26 /* sk_xamarin.cpp */; };
343DAE471C3F285700FAD826 /* SkiaKeeper.c in Sources */ = {isa = PBXBuildFile; fileRef = 343DAE451C3F285700FAD826 /* SkiaKeeper.c */; };
344D83FA1E76CF0300C6D598 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 344D83F91E76CF0300C6D598 /* CoreFoundation.framework */; };
344D83FC1E76CF0700C6D598 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 344D83FB1E76CF0700C6D598 /* CoreText.framework */; };
344D83FE1E76CF0C00C6D598 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 344D83FD1E76CF0C00C6D598 /* CoreGraphics.framework */; };
34B8B2D71F4B1BCE00CA3A7E /* sk_managedpixelserializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34B8B2D31F4B1BCE00CA3A7E /* sk_managedpixelserializer.cpp */; };
34B8B2D81F4B1BCE00CA3A7E /* sk_managedpixelserializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 34B8B2D41F4B1BCE00CA3A7E /* sk_managedpixelserializer.h */; };
34B8B2D91F4B1BCE00CA3A7E /* SkManagedPixelSerializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34B8B2D51F4B1BCE00CA3A7E /* SkManagedPixelSerializer.cpp */; };
34B8B2DA1F4B1BCE00CA3A7E /* SkManagedPixelSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 34B8B2D61F4B1BCE00CA3A7E /* SkManagedPixelSerializer.h */; };
34838CF020569A14009CB8D9 /* WinRTCompat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34838CE920569A14009CB8D9 /* WinRTCompat.cpp */; };
34838CF120569A14009CB8D9 /* sk_managedstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34838CEA20569A14009CB8D9 /* sk_managedstream.cpp */; };
34838CF220569A14009CB8D9 /* SkManagedStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34838CEB20569A14009CB8D9 /* SkManagedStream.cpp */; };
34838CF320569A14009CB8D9 /* sk_xamarin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34838CEC20569A14009CB8D9 /* sk_xamarin.cpp */; };
34838CF420569A14009CB8D9 /* sk_managedpixelserializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34838CED20569A14009CB8D9 /* sk_managedpixelserializer.cpp */; };
34838CF520569A14009CB8D9 /* SkiaKeeper.c in Sources */ = {isa = PBXBuildFile; fileRef = 34838CEE20569A14009CB8D9 /* SkiaKeeper.c */; };
34838CF620569A14009CB8D9 /* SkManagedPixelSerializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34838CEF20569A14009CB8D9 /* SkManagedPixelSerializer.cpp */; };
34838CFD20569A1A009CB8D9 /* SkManagedPixelSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 34838CF720569A1A009CB8D9 /* SkManagedPixelSerializer.h */; };
34838CFE20569A1A009CB8D9 /* SkManagedStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 34838CF820569A1A009CB8D9 /* SkManagedStream.h */; };
34838CFF20569A1A009CB8D9 /* sk_managedstream.h in Headers */ = {isa = PBXBuildFile; fileRef = 34838CF920569A1A009CB8D9 /* sk_managedstream.h */; };
34838D0020569A1A009CB8D9 /* sk_managedpixelserializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 34838CFA20569A1A009CB8D9 /* sk_managedpixelserializer.h */; };
34838D0120569A1A009CB8D9 /* sk_xamarin.h in Headers */ = {isa = PBXBuildFile; fileRef = 34838CFB20569A1A009CB8D9 /* sk_xamarin.h */; };
34838D0220569A1A009CB8D9 /* WinRTCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 34838CFC20569A1A009CB8D9 /* WinRTCompat.h */; };
34C0C90620573CD300DFDB22 /* libSkiaSharp.h in Headers */ = {isa = PBXBuildFile; fileRef = 34C0C90520573CD300DFDB22 /* libSkiaSharp.h */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
21FD2B301C014C000023CFAE /* libSkiaSharp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = libSkiaSharp.framework; sourceTree = BUILT_PRODUCTS_DIR; };
21FD2B331C014C000023CFAE /* libSkiaSharp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libSkiaSharp.h; sourceTree = "<group>"; };
21FD2B351C014C000023CFAE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
3403038B1C404F6B00630F26 /* sk_xamarin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_xamarin.h; path = ../src/sk_xamarin.h; sourceTree = "<absolute>"; };
340303901C4053E500630F26 /* sk_managedstream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_managedstream.cpp; path = ../src/sk_managedstream.cpp; sourceTree = "<absolute>"; };
340303911C4053E500630F26 /* sk_managedstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_managedstream.h; path = ../src/sk_managedstream.h; sourceTree = "<absolute>"; };
340303921C4053E500630F26 /* SkManagedStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkManagedStream.cpp; path = ../src/SkManagedStream.cpp; sourceTree = "<absolute>"; };
340303931C4053E500630F26 /* SkManagedStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkManagedStream.h; path = ../src/SkManagedStream.h; sourceTree = "<absolute>"; };
340303DA1C40877300630F26 /* sk_xamarin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_xamarin.cpp; path = ../../src/sk_xamarin.cpp; sourceTree = "<group>"; };
343DAE451C3F285700FAD826 /* SkiaKeeper.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkiaKeeper.c; path = ../../src/SkiaKeeper.c; sourceTree = "<group>"; };
344D83F91E76CF0300C6D598 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
344D83FB1E76CF0700C6D598 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; };
344D83FD1E76CF0C00C6D598 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
34B8B2D31F4B1BCE00CA3A7E /* sk_managedpixelserializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_managedpixelserializer.cpp; path = ../../src/sk_managedpixelserializer.cpp; sourceTree = "<group>"; };
34B8B2D41F4B1BCE00CA3A7E /* sk_managedpixelserializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_managedpixelserializer.h; path = ../../src/sk_managedpixelserializer.h; sourceTree = "<group>"; };
34B8B2D51F4B1BCE00CA3A7E /* SkManagedPixelSerializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkManagedPixelSerializer.cpp; path = ../../src/SkManagedPixelSerializer.cpp; sourceTree = "<group>"; };
34B8B2D61F4B1BCE00CA3A7E /* SkManagedPixelSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkManagedPixelSerializer.h; path = ../../src/SkManagedPixelSerializer.h; sourceTree = "<group>"; };
34838CE920569A14009CB8D9 /* WinRTCompat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WinRTCompat.cpp; path = ../../../externals/skia/src/xamarin/WinRTCompat.cpp; sourceTree = "<group>"; };
34838CEA20569A14009CB8D9 /* sk_managedstream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_managedstream.cpp; path = ../../../externals/skia/src/xamarin/sk_managedstream.cpp; sourceTree = "<group>"; };
34838CEB20569A14009CB8D9 /* SkManagedStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkManagedStream.cpp; path = ../../../externals/skia/src/xamarin/SkManagedStream.cpp; sourceTree = "<group>"; };
34838CEC20569A14009CB8D9 /* sk_xamarin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_xamarin.cpp; path = ../../../externals/skia/src/xamarin/sk_xamarin.cpp; sourceTree = "<group>"; };
34838CED20569A14009CB8D9 /* sk_managedpixelserializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_managedpixelserializer.cpp; path = ../../../externals/skia/src/xamarin/sk_managedpixelserializer.cpp; sourceTree = "<group>"; };
34838CEE20569A14009CB8D9 /* SkiaKeeper.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkiaKeeper.c; path = ../../../externals/skia/src/xamarin/SkiaKeeper.c; sourceTree = "<group>"; };
34838CEF20569A14009CB8D9 /* SkManagedPixelSerializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkManagedPixelSerializer.cpp; path = ../../../externals/skia/src/xamarin/SkManagedPixelSerializer.cpp; sourceTree = "<group>"; };
34838CF720569A1A009CB8D9 /* SkManagedPixelSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkManagedPixelSerializer.h; path = ../../../externals/skia/include/xamarin/SkManagedPixelSerializer.h; sourceTree = "<group>"; };
34838CF820569A1A009CB8D9 /* SkManagedStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkManagedStream.h; path = ../../../externals/skia/include/xamarin/SkManagedStream.h; sourceTree = "<group>"; };
34838CF920569A1A009CB8D9 /* sk_managedstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_managedstream.h; path = ../../../externals/skia/include/xamarin/sk_managedstream.h; sourceTree = "<group>"; };
34838CFA20569A1A009CB8D9 /* sk_managedpixelserializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_managedpixelserializer.h; path = ../../../externals/skia/include/xamarin/sk_managedpixelserializer.h; sourceTree = "<group>"; };
34838CFB20569A1A009CB8D9 /* sk_xamarin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_xamarin.h; path = ../../../externals/skia/include/xamarin/sk_xamarin.h; sourceTree = "<group>"; };
34838CFC20569A1A009CB8D9 /* WinRTCompat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WinRTCompat.h; path = ../../../externals/skia/include/xamarin/WinRTCompat.h; sourceTree = "<group>"; };
34C0C90520573CD300DFDB22 /* libSkiaSharp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = libSkiaSharp.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -61,9 +65,9 @@
21FD2B261C014C000023CFAE = {
isa = PBXGroup;
children = (
344D83F81E76CF0300C6D598 /* Frameworks */,
21FD2B311C014C000023CFAE /* Products */,
21FD2B321C014C000023CFAE /* Source */,
344D83F81E76CF0300C6D598 /* Frameworks */,
);
sourceTree = "<group>";
};
@ -78,19 +82,21 @@
21FD2B321C014C000023CFAE /* Source */ = {
isa = PBXGroup;
children = (
34B8B2D31F4B1BCE00CA3A7E /* sk_managedpixelserializer.cpp */,
34B8B2D41F4B1BCE00CA3A7E /* sk_managedpixelserializer.h */,
34B8B2D51F4B1BCE00CA3A7E /* SkManagedPixelSerializer.cpp */,
34B8B2D61F4B1BCE00CA3A7E /* SkManagedPixelSerializer.h */,
340303901C4053E500630F26 /* sk_managedstream.cpp */,
340303911C4053E500630F26 /* sk_managedstream.h */,
340303921C4053E500630F26 /* SkManagedStream.cpp */,
340303931C4053E500630F26 /* SkManagedStream.h */,
340303DA1C40877300630F26 /* sk_xamarin.cpp */,
3403038B1C404F6B00630F26 /* sk_xamarin.h */,
343DAE451C3F285700FAD826 /* SkiaKeeper.c */,
21FD2B331C014C000023CFAE /* libSkiaSharp.h */,
21FD2B351C014C000023CFAE /* Info.plist */,
34C0C90520573CD300DFDB22 /* libSkiaSharp.h */,
34838CED20569A14009CB8D9 /* sk_managedpixelserializer.cpp */,
34838CFA20569A1A009CB8D9 /* sk_managedpixelserializer.h */,
34838CEA20569A14009CB8D9 /* sk_managedstream.cpp */,
34838CF920569A1A009CB8D9 /* sk_managedstream.h */,
34838CEC20569A14009CB8D9 /* sk_xamarin.cpp */,
34838CFB20569A1A009CB8D9 /* sk_xamarin.h */,
34838CEE20569A14009CB8D9 /* SkiaKeeper.c */,
34838CEF20569A14009CB8D9 /* SkManagedPixelSerializer.cpp */,
34838CF720569A1A009CB8D9 /* SkManagedPixelSerializer.h */,
34838CEB20569A14009CB8D9 /* SkManagedStream.cpp */,
34838CF820569A1A009CB8D9 /* SkManagedStream.h */,
34838CE920569A14009CB8D9 /* WinRTCompat.cpp */,
34838CFC20569A1A009CB8D9 /* WinRTCompat.h */,
);
name = Source;
path = libSkiaSharp;
@ -113,12 +119,13 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
21FD2B341C014C000023CFAE /* libSkiaSharp.h in Headers */,
34B8B2DA1F4B1BCE00CA3A7E /* SkManagedPixelSerializer.h in Headers */,
34B8B2D81F4B1BCE00CA3A7E /* sk_managedpixelserializer.h in Headers */,
3403038C1C404F6B00630F26 /* sk_xamarin.h in Headers */,
340303971C4053E500630F26 /* SkManagedStream.h in Headers */,
340303951C4053E500630F26 /* sk_managedstream.h in Headers */,
34838CFE20569A1A009CB8D9 /* SkManagedStream.h in Headers */,
34C0C90620573CD300DFDB22 /* libSkiaSharp.h in Headers */,
34838CFD20569A1A009CB8D9 /* SkManagedPixelSerializer.h in Headers */,
34838CFF20569A1A009CB8D9 /* sk_managedstream.h in Headers */,
34838D0220569A1A009CB8D9 /* WinRTCompat.h in Headers */,
34838D0120569A1A009CB8D9 /* sk_xamarin.h in Headers */,
34838D0020569A1A009CB8D9 /* sk_managedpixelserializer.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -189,12 +196,13 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
34B8B2D91F4B1BCE00CA3A7E /* SkManagedPixelSerializer.cpp in Sources */,
340303DB1C40877300630F26 /* sk_xamarin.cpp in Sources */,
34B8B2D71F4B1BCE00CA3A7E /* sk_managedpixelserializer.cpp in Sources */,
343DAE471C3F285700FAD826 /* SkiaKeeper.c in Sources */,
340303941C4053E500630F26 /* sk_managedstream.cpp in Sources */,
340303961C4053E500630F26 /* SkManagedStream.cpp in Sources */,
34838CF320569A14009CB8D9 /* sk_xamarin.cpp in Sources */,
34838CF420569A14009CB8D9 /* sk_managedpixelserializer.cpp in Sources */,
34838CF020569A14009CB8D9 /* WinRTCompat.cpp in Sources */,
34838CF220569A14009CB8D9 /* SkManagedStream.cpp in Sources */,
34838CF620569A14009CB8D9 /* SkManagedPixelSerializer.cpp in Sources */,
34838CF120569A14009CB8D9 /* sk_managedstream.cpp in Sources */,
34838CF520569A14009CB8D9 /* SkiaKeeper.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

Просмотреть файл

@ -5,15 +5,3 @@
// Created by Bill Holmes on 11/21/15.
// Copyright © 2015 Xamarin. All rights reserved.
//
#import <UIKit/UIKit.h>
//! Project version number for libSkiaSharp.
FOUNDATION_EXPORT double libSkiaSharpVersionNumber;
//! Project version string for libSkiaSharp.
FOUNDATION_EXPORT const unsigned char libSkiaSharpVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <libSkiaSharp/PublicHeader.h>

Просмотреть файл

@ -1,34 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26228.4
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libSkiaSharp", "libSkiaSharp.vcxproj", "{93D08EB4-1CBC-4268-9394-795012182731}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|ARM = Release|ARM
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{93D08EB4-1CBC-4268-9394-795012182731}.Debug|ARM.ActiveCfg = Debug|ARM
{93D08EB4-1CBC-4268-9394-795012182731}.Debug|ARM.Build.0 = Debug|ARM
{93D08EB4-1CBC-4268-9394-795012182731}.Debug|Win32.ActiveCfg = Debug|Win32
{93D08EB4-1CBC-4268-9394-795012182731}.Debug|Win32.Build.0 = Debug|Win32
{93D08EB4-1CBC-4268-9394-795012182731}.Debug|x64.ActiveCfg = Debug|x64
{93D08EB4-1CBC-4268-9394-795012182731}.Debug|x64.Build.0 = Debug|x64
{93D08EB4-1CBC-4268-9394-795012182731}.Release|ARM.ActiveCfg = Release|ARM
{93D08EB4-1CBC-4268-9394-795012182731}.Release|ARM.Build.0 = Release|ARM
{93D08EB4-1CBC-4268-9394-795012182731}.Release|Win32.ActiveCfg = Release|Win32
{93D08EB4-1CBC-4268-9394-795012182731}.Release|Win32.Build.0 = Release|Win32
{93D08EB4-1CBC-4268-9394-795012182731}.Release|x64.ActiveCfg = Release|x64
{93D08EB4-1CBC-4268-9394-795012182731}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Просмотреть файл

@ -1,285 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{93d08eb4-1cbc-4268-9394-795012182731}</ProjectGuid>
<Keyword>DynamicLibrary</Keyword>
<RootNamespace>libSkiaSharp</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<AppContainerApplication>true</AppContainerApplication>
<ApplicationType>Windows Store</ApplicationType>
<WindowsTargetPlatformVersion>10.0.10240.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.10240.0</WindowsTargetPlatformMinVersion>
<ApplicationTypeRevision>10.0</ApplicationTypeRevision>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<LinkIncremental>true</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<LinkIncremental>false</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup>
<OutDir>$(SolutionDir)\bin\$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)\obj\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|arm'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;SK_INTERNAL;SK_GAMMA_SRGB;SK_GAMMA_APPLY_TO_A8;SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1;SK_SUPPORT_GPU=1;SK_SUPPORT_OPENCL=0;SK_FORCE_DISTANCE_FIELD_TEXT=0;SK_BUILD_FOR_WIN32;SK_BUILD_FOR_WINRT;_CRT_SECURE_NO_WARNINGS;GR_GL_FUNCTION_TYPE=__stdcall;_HAS_EXCEPTIONS=0;SK_DEVELOPER=1;;_WINDOWS;_USRDLL;LIBSKIA_WINDOWS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\..\externals\skia\include\c;..\..\externals\skia\include\private;..\..\externals\skia\include\codec;..\..\externals\skia\include\config;..\..\externals\skia\include\core;..\..\externals\skia\include\effects;..\..\externals\skia\include\gpu;..\..\externals\skia\include\images;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pipe;..\..\externals\skia\include\ports;..\..\externals\skia\include\ports;..\..\externals\skia\include\private;..\..\externals\skia\include\utils;..\..\externals\skia\include\xml;..\..\externals\skia\src\c;..\..\externals\skia\src\xml;..\..\externals\skia\src\core;..\..\externals\skia\src\gpu;..\..\externals\skia\src\image;..\..\externals\skia\src\opts;..\..\externals\skia\src\sfnt;..\..\externals\skia\src\utils;..\..\gyp\config\win;..\..\skia\include\svg;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>skia.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\externals\skia\out\winrt\$(Platform)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|arm'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>SK_INTERNAL;SK_GAMMA_SRGB;SK_GAMMA_APPLY_TO_A8;SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1;SK_SUPPORT_GPU=1;SK_SUPPORT_OPENCL=0;SK_FORCE_DISTANCE_FIELD_TEXT=0;SK_BUILD_FOR_WIN32;SK_BUILD_FOR_WINRT;_CRT_SECURE_NO_WARNINGS;GR_GL_FUNCTION_TYPE=__stdcall;_HAS_EXCEPTIONS=0;;WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSKIA_WINDOWS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\..\externals\skia\include\c;..\..\externals\skia\include\private;..\..\externals\skia\include\codec;..\..\externals\skia\include\config;..\..\externals\skia\include\core;..\..\externals\skia\include\effects;..\..\externals\skia\include\gpu;..\..\externals\skia\include\images;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pipe;..\..\externals\skia\include\ports;..\..\externals\skia\include\ports;..\..\externals\skia\include\private;..\..\externals\skia\include\utils;..\..\externals\skia\include\xml;..\..\externals\skia\src\c;..\..\externals\skia\src\xml;..\..\externals\skia\src\core;..\..\externals\skia\src\gpu;..\..\externals\skia\src\image;..\..\externals\skia\src\opts;..\..\externals\skia\src\sfnt;..\..\externals\skia\src\utils;..\..\gyp\config\win;..\..\skia\include\svg;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
<AdditionalDependencies>skia.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\externals\skia\out\winrt\$(Platform)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;SK_INTERNAL;SK_GAMMA_SRGB;SK_GAMMA_APPLY_TO_A8;SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1;SK_SUPPORT_GPU=1;SK_SUPPORT_OPENCL=0;SK_FORCE_DISTANCE_FIELD_TEXT=0;SK_BUILD_FOR_WIN32;SK_BUILD_FOR_WINRT;_CRT_SECURE_NO_WARNINGS;GR_GL_FUNCTION_TYPE=__stdcall;_HAS_EXCEPTIONS=0;SK_DEVELOPER=1;;WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSKIA_WINDOWS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\..\externals\skia\include\c;..\..\externals\skia\include\private;..\..\externals\skia\include\codec;..\..\externals\skia\include\config;..\..\externals\skia\include\core;..\..\externals\skia\include\effects;..\..\externals\skia\include\gpu;..\..\externals\skia\include\images;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pipe;..\..\externals\skia\include\ports;..\..\externals\skia\include\ports;..\..\externals\skia\include\private;..\..\externals\skia\include\utils;..\..\externals\skia\include\xml;..\..\externals\skia\src\c;..\..\externals\skia\src\xml;..\..\externals\skia\src\core;..\..\externals\skia\src\gpu;..\..\externals\skia\src\image;..\..\externals\skia\src\opts;..\..\externals\skia\src\sfnt;..\..\externals\skia\src\utils;..\..\gyp\config\win;..\..\skia\include\svg;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>skia.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\externals\skia\out\winrt\$(Platform)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>SK_INTERNAL;SK_GAMMA_SRGB;SK_GAMMA_APPLY_TO_A8;SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1;SK_SUPPORT_GPU=1;SK_SUPPORT_OPENCL=0;SK_FORCE_DISTANCE_FIELD_TEXT=0;SK_BUILD_FOR_WIN32;SK_BUILD_FOR_WINRT;_CRT_SECURE_NO_WARNINGS;GR_GL_FUNCTION_TYPE=__stdcall;_HAS_EXCEPTIONS=0;;WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSKIA_WINDOWS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\..\externals\skia\include\c;..\..\externals\skia\include\private;..\..\externals\skia\include\codec;..\..\externals\skia\include\config;..\..\externals\skia\include\core;..\..\externals\skia\include\effects;..\..\externals\skia\include\gpu;..\..\externals\skia\include\images;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pipe;..\..\externals\skia\include\ports;..\..\externals\skia\include\ports;..\..\externals\skia\include\private;..\..\externals\skia\include\utils;..\..\externals\skia\include\xml;..\..\externals\skia\src\c;..\..\externals\skia\src\xml;..\..\externals\skia\src\core;..\..\externals\skia\src\gpu;..\..\externals\skia\src\image;..\..\externals\skia\src\opts;..\..\externals\skia\src\sfnt;..\..\externals\skia\src\utils;..\..\gyp\config\win;..\..\skia\include\svg;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>skia.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\externals\skia\out\winrt\$(Platform)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;SK_INTERNAL;SK_GAMMA_SRGB;SK_GAMMA_APPLY_TO_A8;SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1;SK_SUPPORT_GPU=1;SK_SUPPORT_OPENCL=0;SK_FORCE_DISTANCE_FIELD_TEXT=0;SK_BUILD_FOR_WIN32;SK_BUILD_FOR_WINRT;_CRT_SECURE_NO_WARNINGS;GR_GL_FUNCTION_TYPE=__stdcall;_HAS_EXCEPTIONS=0;SK_DEVELOPER=1;;_WINDOWS;_USRDLL;LIBSKIA_WINDOWS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\..\externals\skia\include\c;..\..\externals\skia\include\private;..\..\externals\skia\include\codec;..\..\externals\skia\include\config;..\..\externals\skia\include\core;..\..\externals\skia\include\effects;..\..\externals\skia\include\gpu;..\..\externals\skia\include\images;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pipe;..\..\externals\skia\include\ports;..\..\externals\skia\include\ports;..\..\externals\skia\include\private;..\..\externals\skia\include\utils;..\..\externals\skia\include\xml;..\..\externals\skia\src\c;..\..\externals\skia\src\xml;..\..\externals\skia\src\core;..\..\externals\skia\src\gpu;..\..\externals\skia\src\image;..\..\externals\skia\src\opts;..\..\externals\skia\src\sfnt;..\..\externals\skia\src\utils;..\..\gyp\config\win;..\..\skia\include\svg;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>skia.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\externals\skia\out\winrt\$(Platform)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>SK_INTERNAL;SK_GAMMA_SRGB;SK_GAMMA_APPLY_TO_A8;SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1;SK_SUPPORT_GPU=1;SK_SUPPORT_OPENCL=0;SK_FORCE_DISTANCE_FIELD_TEXT=0;SK_BUILD_FOR_WIN32;SK_BUILD_FOR_WINRT;_CRT_SECURE_NO_WARNINGS;GR_GL_FUNCTION_TYPE=__stdcall;_HAS_EXCEPTIONS=0;;NDEBUG;_WINDOWS;_USRDLL;LIBSKIA_WINDOWS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\..\externals\skia\include\c;..\..\externals\skia\include\private;..\..\externals\skia\include\codec;..\..\externals\skia\include\config;..\..\externals\skia\include\core;..\..\externals\skia\include\effects;..\..\externals\skia\include\gpu;..\..\externals\skia\include\images;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pipe;..\..\externals\skia\include\ports;..\..\externals\skia\include\ports;..\..\externals\skia\include\private;..\..\externals\skia\include\utils;..\..\externals\skia\include\xml;..\..\externals\skia\src\c;..\..\externals\skia\src\xml;..\..\externals\skia\src\core;..\..\externals\skia\src\gpu;..\..\externals\skia\src\image;..\..\externals\skia\src\opts;..\..\externals\skia\src\sfnt;..\..\externals\skia\src\utils;..\..\gyp\config\win;..\..\skia\include\svg;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>skia.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\externals\skia\out\winrt\$(Platform)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\src\SkiaKeeper.c" />
<ClCompile Include="..\src\WinRTCompat.cpp" />
<ClCompile Include="..\src\SkManagedPixelSerializer.cpp" />
<ClCompile Include="..\src\SkManagedStream.cpp" />
<ClCompile Include="..\src\sk_managedpixelserializer.cpp" />
<ClCompile Include="..\src\sk_managedstream.cpp" />
<ClCompile Include="..\src\sk_xamarin.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\SkManagedPixelSerializer.h" />
<ClInclude Include="..\src\SkManagedStream.h" />
<ClInclude Include="..\src\sk_managedpixelserializer.h" />
<ClInclude Include="..\src\sk_managedstream.h" />
<ClInclude Include="..\src\sk_xamarin.h" />
<ClInclude Include="..\src\WinRTCompat.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Просмотреть файл

@ -7,41 +7,45 @@
objects = {
/* Begin PBXBuildFile section */
21FD2B341C014C000023CFAE /* libSkiaSharp.h in Headers */ = {isa = PBXBuildFile; fileRef = 21FD2B331C014C000023CFAE /* libSkiaSharp.h */; settings = {ATTRIBUTES = (Public, ); }; };
3403038C1C404F6B00630F26 /* sk_xamarin.h in Headers */ = {isa = PBXBuildFile; fileRef = 3403038B1C404F6B00630F26 /* sk_xamarin.h */; };
340303941C4053E500630F26 /* sk_managedstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 340303901C4053E500630F26 /* sk_managedstream.cpp */; };
340303951C4053E500630F26 /* sk_managedstream.h in Headers */ = {isa = PBXBuildFile; fileRef = 340303911C4053E500630F26 /* sk_managedstream.h */; };
340303961C4053E500630F26 /* SkManagedStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 340303921C4053E500630F26 /* SkManagedStream.cpp */; };
340303971C4053E500630F26 /* SkManagedStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 340303931C4053E500630F26 /* SkManagedStream.h */; };
340303DB1C40877300630F26 /* sk_xamarin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 340303DA1C40877300630F26 /* sk_xamarin.cpp */; };
343DAE471C3F285700FAD826 /* SkiaKeeper.c in Sources */ = {isa = PBXBuildFile; fileRef = 343DAE451C3F285700FAD826 /* SkiaKeeper.c */; };
344D83FA1E76CF0300C6D598 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 344D83F91E76CF0300C6D598 /* CoreFoundation.framework */; };
344D83FC1E76CF0700C6D598 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 344D83FB1E76CF0700C6D598 /* CoreText.framework */; };
344D83FE1E76CF0C00C6D598 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 344D83FD1E76CF0C00C6D598 /* CoreGraphics.framework */; };
34B8B2D71F4B1BCE00CA3A7E /* sk_managedpixelserializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34B8B2D31F4B1BCE00CA3A7E /* sk_managedpixelserializer.cpp */; };
34B8B2D81F4B1BCE00CA3A7E /* sk_managedpixelserializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 34B8B2D41F4B1BCE00CA3A7E /* sk_managedpixelserializer.h */; };
34B8B2D91F4B1BCE00CA3A7E /* SkManagedPixelSerializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34B8B2D51F4B1BCE00CA3A7E /* SkManagedPixelSerializer.cpp */; };
34B8B2DA1F4B1BCE00CA3A7E /* SkManagedPixelSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 34B8B2D61F4B1BCE00CA3A7E /* SkManagedPixelSerializer.h */; };
34C0C90820573CE000DFDB22 /* libSkiaSharp.h in Headers */ = {isa = PBXBuildFile; fileRef = 34C0C90720573CE000DFDB22 /* libSkiaSharp.h */; };
34EC5FF820569A4C00F57982 /* WinRTCompat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34EC5FF120569A4B00F57982 /* WinRTCompat.cpp */; };
34EC5FF920569A4C00F57982 /* sk_managedstream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34EC5FF220569A4B00F57982 /* sk_managedstream.cpp */; };
34EC5FFA20569A4C00F57982 /* SkManagedStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34EC5FF320569A4B00F57982 /* SkManagedStream.cpp */; };
34EC5FFB20569A4C00F57982 /* sk_xamarin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34EC5FF420569A4B00F57982 /* sk_xamarin.cpp */; };
34EC5FFC20569A4C00F57982 /* sk_managedpixelserializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34EC5FF520569A4B00F57982 /* sk_managedpixelserializer.cpp */; };
34EC5FFD20569A4C00F57982 /* SkiaKeeper.c in Sources */ = {isa = PBXBuildFile; fileRef = 34EC5FF620569A4B00F57982 /* SkiaKeeper.c */; };
34EC5FFE20569A4C00F57982 /* SkManagedPixelSerializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34EC5FF720569A4B00F57982 /* SkManagedPixelSerializer.cpp */; };
34EC600520569A5100F57982 /* SkManagedPixelSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 34EC5FFF20569A5000F57982 /* SkManagedPixelSerializer.h */; };
34EC600620569A5100F57982 /* SkManagedStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 34EC600020569A5000F57982 /* SkManagedStream.h */; };
34EC600720569A5100F57982 /* sk_managedstream.h in Headers */ = {isa = PBXBuildFile; fileRef = 34EC600120569A5000F57982 /* sk_managedstream.h */; };
34EC600820569A5100F57982 /* sk_managedpixelserializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 34EC600220569A5000F57982 /* sk_managedpixelserializer.h */; };
34EC600920569A5100F57982 /* sk_xamarin.h in Headers */ = {isa = PBXBuildFile; fileRef = 34EC600320569A5000F57982 /* sk_xamarin.h */; };
34EC600A20569A5100F57982 /* WinRTCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 34EC600420569A5000F57982 /* WinRTCompat.h */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
21FD2B301C014C000023CFAE /* libSkiaSharp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = libSkiaSharp.framework; sourceTree = BUILT_PRODUCTS_DIR; };
21FD2B331C014C000023CFAE /* libSkiaSharp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libSkiaSharp.h; sourceTree = "<group>"; };
21FD2B351C014C000023CFAE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
3403038B1C404F6B00630F26 /* sk_xamarin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_xamarin.h; path = ../src/sk_xamarin.h; sourceTree = "<absolute>"; };
340303901C4053E500630F26 /* sk_managedstream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_managedstream.cpp; path = ../src/sk_managedstream.cpp; sourceTree = "<absolute>"; };
340303911C4053E500630F26 /* sk_managedstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_managedstream.h; path = ../src/sk_managedstream.h; sourceTree = "<absolute>"; };
340303921C4053E500630F26 /* SkManagedStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkManagedStream.cpp; path = ../src/SkManagedStream.cpp; sourceTree = "<absolute>"; };
340303931C4053E500630F26 /* SkManagedStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkManagedStream.h; path = ../src/SkManagedStream.h; sourceTree = "<absolute>"; };
340303DA1C40877300630F26 /* sk_xamarin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_xamarin.cpp; path = ../../src/sk_xamarin.cpp; sourceTree = "<group>"; };
343DAE451C3F285700FAD826 /* SkiaKeeper.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkiaKeeper.c; path = ../../src/SkiaKeeper.c; sourceTree = "<group>"; };
344D83F91E76CF0300C6D598 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
344D83FB1E76CF0700C6D598 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; };
344D83FD1E76CF0C00C6D598 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
34B8B2D31F4B1BCE00CA3A7E /* sk_managedpixelserializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_managedpixelserializer.cpp; path = ../../src/sk_managedpixelserializer.cpp; sourceTree = "<group>"; };
34B8B2D41F4B1BCE00CA3A7E /* sk_managedpixelserializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_managedpixelserializer.h; path = ../../src/sk_managedpixelserializer.h; sourceTree = "<group>"; };
34B8B2D51F4B1BCE00CA3A7E /* SkManagedPixelSerializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkManagedPixelSerializer.cpp; path = ../../src/SkManagedPixelSerializer.cpp; sourceTree = "<group>"; };
34B8B2D61F4B1BCE00CA3A7E /* SkManagedPixelSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkManagedPixelSerializer.h; path = ../../src/SkManagedPixelSerializer.h; sourceTree = "<group>"; };
34C0C90720573CE000DFDB22 /* libSkiaSharp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = libSkiaSharp.h; sourceTree = "<group>"; };
34EC5FF120569A4B00F57982 /* WinRTCompat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WinRTCompat.cpp; path = ../../../externals/skia/src/xamarin/WinRTCompat.cpp; sourceTree = "<group>"; };
34EC5FF220569A4B00F57982 /* sk_managedstream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_managedstream.cpp; path = ../../../externals/skia/src/xamarin/sk_managedstream.cpp; sourceTree = "<group>"; };
34EC5FF320569A4B00F57982 /* SkManagedStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkManagedStream.cpp; path = ../../../externals/skia/src/xamarin/SkManagedStream.cpp; sourceTree = "<group>"; };
34EC5FF420569A4B00F57982 /* sk_xamarin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_xamarin.cpp; path = ../../../externals/skia/src/xamarin/sk_xamarin.cpp; sourceTree = "<group>"; };
34EC5FF520569A4B00F57982 /* sk_managedpixelserializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sk_managedpixelserializer.cpp; path = ../../../externals/skia/src/xamarin/sk_managedpixelserializer.cpp; sourceTree = "<group>"; };
34EC5FF620569A4B00F57982 /* SkiaKeeper.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkiaKeeper.c; path = ../../../externals/skia/src/xamarin/SkiaKeeper.c; sourceTree = "<group>"; };
34EC5FF720569A4B00F57982 /* SkManagedPixelSerializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkManagedPixelSerializer.cpp; path = ../../../externals/skia/src/xamarin/SkManagedPixelSerializer.cpp; sourceTree = "<group>"; };
34EC5FFF20569A5000F57982 /* SkManagedPixelSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkManagedPixelSerializer.h; path = ../../../externals/skia/include/xamarin/SkManagedPixelSerializer.h; sourceTree = "<group>"; };
34EC600020569A5000F57982 /* SkManagedStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkManagedStream.h; path = ../../../externals/skia/include/xamarin/SkManagedStream.h; sourceTree = "<group>"; };
34EC600120569A5000F57982 /* sk_managedstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_managedstream.h; path = ../../../externals/skia/include/xamarin/sk_managedstream.h; sourceTree = "<group>"; };
34EC600220569A5000F57982 /* sk_managedpixelserializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_managedpixelserializer.h; path = ../../../externals/skia/include/xamarin/sk_managedpixelserializer.h; sourceTree = "<group>"; };
34EC600320569A5000F57982 /* sk_xamarin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sk_xamarin.h; path = ../../../externals/skia/include/xamarin/sk_xamarin.h; sourceTree = "<group>"; };
34EC600420569A5000F57982 /* WinRTCompat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WinRTCompat.h; path = ../../../externals/skia/include/xamarin/WinRTCompat.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -61,9 +65,9 @@
21FD2B261C014C000023CFAE = {
isa = PBXGroup;
children = (
344D83F81E76CF0300C6D598 /* Frameworks */,
21FD2B311C014C000023CFAE /* Products */,
21FD2B321C014C000023CFAE /* Source */,
344D83F81E76CF0300C6D598 /* Frameworks */,
);
sourceTree = "<group>";
};
@ -78,19 +82,21 @@
21FD2B321C014C000023CFAE /* Source */ = {
isa = PBXGroup;
children = (
34B8B2D31F4B1BCE00CA3A7E /* sk_managedpixelserializer.cpp */,
34B8B2D41F4B1BCE00CA3A7E /* sk_managedpixelserializer.h */,
34B8B2D51F4B1BCE00CA3A7E /* SkManagedPixelSerializer.cpp */,
34B8B2D61F4B1BCE00CA3A7E /* SkManagedPixelSerializer.h */,
340303901C4053E500630F26 /* sk_managedstream.cpp */,
340303911C4053E500630F26 /* sk_managedstream.h */,
340303921C4053E500630F26 /* SkManagedStream.cpp */,
340303931C4053E500630F26 /* SkManagedStream.h */,
340303DA1C40877300630F26 /* sk_xamarin.cpp */,
3403038B1C404F6B00630F26 /* sk_xamarin.h */,
343DAE451C3F285700FAD826 /* SkiaKeeper.c */,
21FD2B331C014C000023CFAE /* libSkiaSharp.h */,
21FD2B351C014C000023CFAE /* Info.plist */,
34C0C90720573CE000DFDB22 /* libSkiaSharp.h */,
34EC5FF520569A4B00F57982 /* sk_managedpixelserializer.cpp */,
34EC600220569A5000F57982 /* sk_managedpixelserializer.h */,
34EC5FF220569A4B00F57982 /* sk_managedstream.cpp */,
34EC600120569A5000F57982 /* sk_managedstream.h */,
34EC5FF420569A4B00F57982 /* sk_xamarin.cpp */,
34EC600320569A5000F57982 /* sk_xamarin.h */,
34EC5FF620569A4B00F57982 /* SkiaKeeper.c */,
34EC5FF720569A4B00F57982 /* SkManagedPixelSerializer.cpp */,
34EC5FFF20569A5000F57982 /* SkManagedPixelSerializer.h */,
34EC5FF320569A4B00F57982 /* SkManagedStream.cpp */,
34EC600020569A5000F57982 /* SkManagedStream.h */,
34EC5FF120569A4B00F57982 /* WinRTCompat.cpp */,
34EC600420569A5000F57982 /* WinRTCompat.h */,
);
name = Source;
path = libSkiaSharp;
@ -113,12 +119,13 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
21FD2B341C014C000023CFAE /* libSkiaSharp.h in Headers */,
34B8B2DA1F4B1BCE00CA3A7E /* SkManagedPixelSerializer.h in Headers */,
34B8B2D81F4B1BCE00CA3A7E /* sk_managedpixelserializer.h in Headers */,
3403038C1C404F6B00630F26 /* sk_xamarin.h in Headers */,
340303971C4053E500630F26 /* SkManagedStream.h in Headers */,
340303951C4053E500630F26 /* sk_managedstream.h in Headers */,
34EC600620569A5100F57982 /* SkManagedStream.h in Headers */,
34C0C90820573CE000DFDB22 /* libSkiaSharp.h in Headers */,
34EC600520569A5100F57982 /* SkManagedPixelSerializer.h in Headers */,
34EC600720569A5100F57982 /* sk_managedstream.h in Headers */,
34EC600A20569A5100F57982 /* WinRTCompat.h in Headers */,
34EC600920569A5100F57982 /* sk_xamarin.h in Headers */,
34EC600820569A5100F57982 /* sk_managedpixelserializer.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -189,12 +196,13 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
34B8B2D91F4B1BCE00CA3A7E /* SkManagedPixelSerializer.cpp in Sources */,
340303DB1C40877300630F26 /* sk_xamarin.cpp in Sources */,
34B8B2D71F4B1BCE00CA3A7E /* sk_managedpixelserializer.cpp in Sources */,
343DAE471C3F285700FAD826 /* SkiaKeeper.c in Sources */,
340303941C4053E500630F26 /* sk_managedstream.cpp in Sources */,
340303961C4053E500630F26 /* SkManagedStream.cpp in Sources */,
34EC5FFB20569A4C00F57982 /* sk_xamarin.cpp in Sources */,
34EC5FFC20569A4C00F57982 /* sk_managedpixelserializer.cpp in Sources */,
34EC5FF820569A4C00F57982 /* WinRTCompat.cpp in Sources */,
34EC5FFA20569A4C00F57982 /* SkManagedStream.cpp in Sources */,
34EC5FFE20569A4C00F57982 /* SkManagedPixelSerializer.cpp in Sources */,
34EC5FF920569A4C00F57982 /* sk_managedstream.cpp in Sources */,
34EC5FFD20569A4C00F57982 /* SkiaKeeper.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -251,9 +259,9 @@
OTHER_LDFLAGS = "-all_load";
SDKROOT = watchos;
TARGETED_DEVICE_FAMILY = 4;
WATCHOS_DEPLOYMENT_TARGET = 2.0;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
WATCHOS_DEPLOYMENT_TARGET = 2.0;
};
name = Debug;
};
@ -306,10 +314,10 @@
OTHER_LDFLAGS = "-all_load";
SDKROOT = watchos;
TARGETED_DEVICE_FAMILY = 4;
WATCHOS_DEPLOYMENT_TARGET = 2.0;
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
WATCHOS_DEPLOYMENT_TARGET = 2.0;
};
name = Release;
};

Просмотреть файл

@ -5,15 +5,3 @@
// Created by Bill Holmes on 11/21/15.
// Copyright © 2015 Xamarin. All rights reserved.
//
#import <UIKit/UIKit.h>
//! Project version number for libSkiaSharp.
FOUNDATION_EXPORT double libSkiaSharpVersionNumber;
//! Project version string for libSkiaSharp.
FOUNDATION_EXPORT const unsigned char libSkiaSharpVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <libSkiaSharp/PublicHeader.h>

Просмотреть файл

@ -1,27 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26228.4
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libSkiaSharp", "libSkiaSharp.vcxproj", "{22B9B540-CC67-43B3-9341-336DEA7FC0EB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{22B9B540-CC67-43B3-9341-336DEA7FC0EB}.Debug|Win32.ActiveCfg = Debug|Win32
{22B9B540-CC67-43B3-9341-336DEA7FC0EB}.Debug|Win32.Build.0 = Debug|Win32
{22B9B540-CC67-43B3-9341-336DEA7FC0EB}.Debug|x64.ActiveCfg = Debug|x64
{22B9B540-CC67-43B3-9341-336DEA7FC0EB}.Debug|x64.Build.0 = Debug|x64
{22B9B540-CC67-43B3-9341-336DEA7FC0EB}.Release|Win32.ActiveCfg = Release|Win32
{22B9B540-CC67-43B3-9341-336DEA7FC0EB}.Release|Win32.Build.0 = Release|Win32
{22B9B540-CC67-43B3-9341-336DEA7FC0EB}.Release|x64.ActiveCfg = Release|x64
{22B9B540-CC67-43B3-9341-336DEA7FC0EB}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Просмотреть файл

@ -1,183 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{22B9B540-CC67-43B3-9341-336DEA7FC0EB}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>libSkiaSharp</RootNamespace>
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup>
<OutDir>$(SolutionDir)\bin\$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)\obj\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;SK_INTERNAL;SK_GAMMA_SRGB;SK_GAMMA_APPLY_TO_A8;SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1;SK_SUPPORT_GPU=1;SK_SUPPORT_OPENCL=0;SK_FORCE_DISTANCE_FIELD_TEXT=0;SK_BUILD_FOR_WIN32;_CRT_SECURE_NO_WARNINGS;GR_GL_FUNCTION_TYPE=__stdcall;_HAS_EXCEPTIONS=0;SK_DEVELOPER=1;;WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSKIA_WINDOWS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\..\externals\skia\include\c;..\..\externals\skia\include\private;..\..\externals\skia\include\codec;..\..\externals\skia\include\config;..\..\externals\skia\include\core;..\..\externals\skia\include\effects;..\..\externals\skia\include\gpu;..\..\externals\skia\include\images;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pipe;..\..\externals\skia\include\ports;..\..\externals\skia\include\ports;..\..\externals\skia\include\private;..\..\externals\skia\include\utils;..\..\externals\skia\include\xml;..\..\externals\skia\src\c;..\..\externals\skia\src\xml;..\..\externals\skia\src\core;..\..\externals\skia\src\gpu;..\..\externals\skia\src\image;..\..\externals\skia\src\opts;..\..\externals\skia\src\sfnt;..\..\externals\skia\src\utils;..\..\gyp\config\win;..\..\skia\include\svg;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>skia.lib;OpenGL32.lib;Gdi32.lib;Usp10.lib;FontSub.lib;Ole32.lib;OleAut32.lib;User32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\externals\skia\out\win\$(Platform)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;SK_INTERNAL;SK_GAMMA_SRGB;SK_GAMMA_APPLY_TO_A8;SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1;SK_SUPPORT_GPU=1;SK_SUPPORT_OPENCL=0;SK_FORCE_DISTANCE_FIELD_TEXT=0;SK_BUILD_FOR_WIN32;_CRT_SECURE_NO_WARNINGS;GR_GL_FUNCTION_TYPE=__stdcall;_HAS_EXCEPTIONS=0;SK_DEVELOPER=1;;_WINDOWS;_USRDLL;LIBSKIA_WINDOWS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\..\externals\skia\include\c;..\..\externals\skia\include\private;..\..\externals\skia\include\codec;..\..\externals\skia\include\config;..\..\externals\skia\include\core;..\..\externals\skia\include\effects;..\..\externals\skia\include\gpu;..\..\externals\skia\include\images;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pipe;..\..\externals\skia\include\ports;..\..\externals\skia\include\ports;..\..\externals\skia\include\private;..\..\externals\skia\include\utils;..\..\externals\skia\include\xml;..\..\externals\skia\src\c;..\..\externals\skia\src\xml;..\..\externals\skia\src\core;..\..\externals\skia\src\gpu;..\..\externals\skia\src\image;..\..\externals\skia\src\opts;..\..\externals\skia\src\sfnt;..\..\externals\skia\src\utils;..\..\gyp\config\win;..\..\skia\include\svg;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>skia.lib;OpenGL32.lib;Gdi32.lib;Usp10.lib;FontSub.lib;Ole32.lib;OleAut32.lib;User32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\externals\skia\out\win\$(Platform)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>SK_INTERNAL;SK_GAMMA_SRGB;SK_GAMMA_APPLY_TO_A8;SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1;SK_SUPPORT_GPU=1;SK_SUPPORT_OPENCL=0;SK_FORCE_DISTANCE_FIELD_TEXT=0;SK_BUILD_FOR_WIN32;_CRT_SECURE_NO_WARNINGS;GR_GL_FUNCTION_TYPE=__stdcall;_HAS_EXCEPTIONS=0;;WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSKIA_WINDOWS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\..\externals\skia\include\c;..\..\externals\skia\include\private;..\..\externals\skia\include\codec;..\..\externals\skia\include\config;..\..\externals\skia\include\core;..\..\externals\skia\include\effects;..\..\externals\skia\include\gpu;..\..\externals\skia\include\images;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pipe;..\..\externals\skia\include\ports;..\..\externals\skia\include\ports;..\..\externals\skia\include\private;..\..\externals\skia\include\utils;..\..\externals\skia\include\xml;..\..\externals\skia\src\c;..\..\externals\skia\src\xml;..\..\externals\skia\src\core;..\..\externals\skia\src\gpu;..\..\externals\skia\src\image;..\..\externals\skia\src\opts;..\..\externals\skia\src\sfnt;..\..\externals\skia\src\utils;..\..\gyp\config\win;..\..\skia\include\svg;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>skia.lib;OpenGL32.lib;Gdi32.lib;Usp10.lib;FontSub.lib;Ole32.lib;OleAut32.lib;User32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\externals\skia\out\win\$(Platform)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>SK_INTERNAL;SK_GAMMA_SRGB;SK_GAMMA_APPLY_TO_A8;SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1;SK_SUPPORT_GPU=1;SK_SUPPORT_OPENCL=0;SK_FORCE_DISTANCE_FIELD_TEXT=0;SK_BUILD_FOR_WIN32;_CRT_SECURE_NO_WARNINGS;GR_GL_FUNCTION_TYPE=__stdcall;_HAS_EXCEPTIONS=0;;NDEBUG;_WINDOWS;_USRDLL;LIBSKIA_WINDOWS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\..\externals\skia\include\c;..\..\externals\skia\include\private;..\..\externals\skia\include\codec;..\..\externals\skia\include\config;..\..\externals\skia\include\core;..\..\externals\skia\include\effects;..\..\externals\skia\include\gpu;..\..\externals\skia\include\images;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pathops;..\..\externals\skia\include\pipe;..\..\externals\skia\include\ports;..\..\externals\skia\include\ports;..\..\externals\skia\include\private;..\..\externals\skia\include\utils;..\..\externals\skia\include\xml;..\..\externals\skia\src\c;..\..\externals\skia\src\xml;..\..\externals\skia\src\core;..\..\externals\skia\src\gpu;..\..\externals\skia\src\image;..\..\externals\skia\src\opts;..\..\externals\skia\src\sfnt;..\..\externals\skia\src\utils;..\..\gyp\config\win;..\..\skia\include\svg;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>skia.lib;OpenGL32.lib;Gdi32.lib;Usp10.lib;FontSub.lib;Ole32.lib;OleAut32.lib;User32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\externals\skia\out\win\$(Platform)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\src\SkiaKeeper.c" />
<ClCompile Include="..\src\SkManagedPixelSerializer.cpp" />
<ClCompile Include="..\src\SkManagedStream.cpp" />
<ClCompile Include="..\src\sk_managedpixelserializer.cpp" />
<ClCompile Include="..\src\sk_managedstream.cpp" />
<ClCompile Include="..\src\sk_xamarin.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\SkManagedPixelSerializer.h" />
<ClInclude Include="..\src\SkManagedStream.h" />
<ClInclude Include="..\src\sk_managedpixelserializer.h" />
<ClInclude Include="..\src\sk_managedstream.h" />
<ClInclude Include="..\src\sk_xamarin.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Просмотреть файл

@ -1,28 +0,0 @@
//
// SkManagedPixelSerializer.cpp
//
// Created by Matthew on 2017/08/18.
// Copyright © 2017 Xamarin. All rights reserved.
//
#include "SkManagedPixelSerializer.h"
static use_delegate fUse = nullptr;
static encode_delegate fEncode = nullptr;
SkManagedPixelSerializer::SkManagedPixelSerializer() {
}
void SkManagedPixelSerializer::setDelegates(const use_delegate pUse, const encode_delegate pEncode)
{
::fUse = pUse;
::fEncode = pEncode;
}
bool SkManagedPixelSerializer::onUseEncodedData(const void* data, size_t len) {
return ::fUse(this, data, len);
}
SkData* SkManagedPixelSerializer::onEncode(const SkPixmap& pixmap) {
return ::fEncode(this, pixmap);
}

Просмотреть файл

@ -1,39 +0,0 @@
//
// SkManagedPixelSerializer.h
//
// Created by Matthew on 2017/08/18.
// Copyright © 2017 Xamarin. All rights reserved.
//
#ifndef SkManagedPixelSerializer_h
#define SkManagedPixelSerializer_h
#include "SkTypes.h"
#include "SkPixelSerializer.h"
class SkData;
class SkPixmap;
class SkManagedPixelSerializer;
// delegate declarations
typedef bool (*use_delegate) (SkManagedPixelSerializer* managed, const void* data, size_t len);
typedef SkData* (*encode_delegate) (SkManagedPixelSerializer* managed, const SkPixmap& pixmap);
// managed wrapper
class SkManagedPixelSerializer : public SkPixelSerializer {
public:
SkManagedPixelSerializer();
static void setDelegates(const use_delegate pUse, const encode_delegate pEncode);
protected:
bool onUseEncodedData(const void* data, size_t len) override;
SkData* onEncode(const SkPixmap&) override;
private:
typedef SkPixelSerializer INHERITED;
};
#endif

Просмотреть файл

@ -1,153 +0,0 @@
//
// SkManagedStream.cpp
//
// Created by Matthew on 2016/01/08.
// Copyright © 2016 Xamarin. All rights reserved.
//
#include "SkManagedStream.h"
// read stream
static read_delegate fRead = nullptr;
static peek_delegate fPeek = nullptr;
static isAtEnd_delegate fIsAtEnd = nullptr;
static hasPosition_delegate fHasPosition = nullptr;
static hasLength_delegate fHasLength = nullptr;
static rewind_delegate fRewind = nullptr;
static getPosition_delegate fGetPosition = nullptr;
static seek_delegate fSeek = nullptr;
static move_delegate fMove = nullptr;
static getLength_delegate fGetLength = nullptr;
static createNew_delegate fCreateNew = nullptr;
static destroy_delegate fDestroy = nullptr;
// write stream
static write_delegate fWrite = nullptr;
static flush_delegate fFlush = nullptr;
static bytesWritten_delegate fBytesWritten = nullptr;
static wdestroy_delegate fWDestroy = nullptr;
// the read stream
SkManagedStream::SkManagedStream() {
this->address = (size_t)this;
}
SkManagedStream::~SkManagedStream() {
::fDestroy(address);
}
void SkManagedStream::setDelegates(const read_delegate pRead,
const peek_delegate pPeek,
const isAtEnd_delegate pIsAtEnd,
const hasPosition_delegate pHasPosition,
const hasLength_delegate pHasLength,
const rewind_delegate pRewind,
const getPosition_delegate pGetPosition,
const seek_delegate pSeek,
const move_delegate pMove,
const getLength_delegate pGetLength,
const createNew_delegate pCreateNew,
const destroy_delegate pDestroy)
{
::fRead = (pRead);
::fPeek = (pPeek);
::fIsAtEnd = (pIsAtEnd);
::fHasPosition = (pHasPosition);
::fHasLength = (pHasLength);
::fRewind = (pRewind);
::fGetPosition = (pGetPosition);
::fSeek = (pSeek);
::fMove = (pMove);
::fGetLength = (pGetLength);
::fCreateNew = (pCreateNew);
::fDestroy = (pDestroy);
}
size_t SkManagedStream::read(void* buffer, size_t size) {
return ::fRead(this, buffer, size);
}
size_t SkManagedStream::peek(void *buffer, size_t size) const {
SkManagedStream* nonConstThis = const_cast<SkManagedStream*>(this);
return ::fPeek(nonConstThis, buffer, size);
}
bool SkManagedStream::isAtEnd() const {
return ::fIsAtEnd(this);
}
bool SkManagedStream::hasPosition() const {
return ::fHasPosition(this);
}
bool SkManagedStream::hasLength() const {
return ::fHasLength(this);
}
bool SkManagedStream::rewind() {
return ::fRewind(this);
}
size_t SkManagedStream::getPosition() const {
return ::fGetPosition(this);
}
bool SkManagedStream::seek(size_t position) {
return ::fSeek(this, position);
}
bool SkManagedStream::move(long offset) {
return ::fMove(this, offset);
}
size_t SkManagedStream::getLength() const {
return ::fGetLength(this);
}
SkManagedStream* SkManagedStream::duplicate() const {
return ::fCreateNew(this);
}
SkManagedStream* SkManagedStream::fork() const {
std::unique_ptr<SkManagedStream> that(::fCreateNew(this));
that->seek(getPosition());
return that.release();
}
// the write stream
SkManagedWStream::SkManagedWStream() {
this->address = (size_t)this;
}
SkManagedWStream::~SkManagedWStream() {
::fWDestroy(address);
}
void SkManagedWStream::setDelegates(const write_delegate pWrite,
const flush_delegate pFlush,
const bytesWritten_delegate pBytesWritten,
const wdestroy_delegate pDestroy)
{
::fWrite = (pWrite);
::fFlush = (pFlush);
::fBytesWritten = (pBytesWritten);
::fWDestroy = (pDestroy);
}
bool SkManagedWStream::write(const void* buffer, size_t size) {
return ::fWrite(this, buffer, size);
}
void SkManagedWStream::flush() {
::fFlush(this);
}
size_t SkManagedWStream::bytesWritten() const {
return ::fBytesWritten(this);
}

Просмотреть файл

@ -1,106 +0,0 @@
//
// SkManagedStream.hpp
//
// Created by Matthew on 2016/01/08.
// Copyright © 2016 Xamarin. All rights reserved.
//
#ifndef SkManagedStream_h
#define SkManagedStream_h
#include "SkTypes.h"
#include "SkStream.h"
class SkManagedWStream;
class SkManagedStream;
// delegate declarations
typedef size_t (*read_delegate) (SkManagedStream* managedStream, void* buffer, size_t size);
typedef size_t (*peek_delegate) (SkManagedStream* managedStream, void* buffer, size_t size);
typedef bool (*isAtEnd_delegate) (const SkManagedStream* managedStream);
typedef bool (*hasPosition_delegate) (const SkManagedStream* managedStream);
typedef bool (*hasLength_delegate) (const SkManagedStream* managedStream);
typedef bool (*rewind_delegate) (SkManagedStream* managedStream);
typedef size_t (*getPosition_delegate) (const SkManagedStream* managedStream);
typedef bool (*seek_delegate) (SkManagedStream* managedStream, size_t position);
typedef bool (*move_delegate) (SkManagedStream* managedStream, long offset);
typedef size_t (*getLength_delegate) (const SkManagedStream* managedStream);
typedef SkManagedStream* (*createNew_delegate) (const SkManagedStream* managedStream);
typedef void (*destroy_delegate) (size_t managedStream);
// delegate declarations
typedef bool (*write_delegate) (SkManagedWStream* managedStream, const void* buffer, size_t size);
typedef void (*flush_delegate) (SkManagedWStream* managedStream);
typedef size_t (*bytesWritten_delegate) (const SkManagedWStream* managedStream);
typedef void (*wdestroy_delegate) (size_t managedStream);
// managed stream wrapper
class SkManagedStream : public SkStreamAsset {
public:
SkManagedStream();
virtual ~SkManagedStream();
static void setDelegates(const read_delegate pRead,
const peek_delegate pPeek,
const isAtEnd_delegate pIsAtEnd,
const hasPosition_delegate pHasPosition,
const hasLength_delegate pHasLength,
const rewind_delegate pRewind,
const getPosition_delegate pGetPosition,
const seek_delegate pSeek,
const move_delegate pMove,
const getLength_delegate pGetLength,
const createNew_delegate pCreateNew,
const destroy_delegate pDestroy);
size_t read(void* buffer, size_t size) override;
bool isAtEnd() const override;
bool hasPosition() const override;
bool hasLength() const override;
size_t peek(void* buffer, size_t size) const override;
bool rewind() override;
SkManagedStream* duplicate() const override;
size_t getPosition() const override;
bool seek(size_t position) override;
bool move(long offset) override;
SkManagedStream* fork() const override;
size_t getLength() const override;
private:
size_t address;
typedef SkStreamAsset INHERITED;
};
// managed wstream wrapper
class SkManagedWStream : public SkWStream {
public:
SkManagedWStream();
virtual ~SkManagedWStream();
static void setDelegates(const write_delegate pWrite,
const flush_delegate pFlush,
const bytesWritten_delegate pBytesWritten,
const wdestroy_delegate pDestroy);
bool write(const void* buffer, size_t size) override;
void flush() override;
size_t bytesWritten() const override;
private:
size_t address;
typedef SkWStream INHERITED;
};
#endif

Просмотреть файл

@ -1,87 +0,0 @@
//
// SkiaKeeper.c
//
// Created by Bill Holmes on 11/23/15.
// Copyright © 2015 Xamarin. All rights reserved.
//
#include "sk_xamarin.h"
// Skia
#include "gr_context.h"
#include "sk_bitmap.h"
#include "sk_canvas.h"
#include "sk_codec.h"
#include "sk_colorfilter.h"
#include "sk_colorspace.h"
#include "sk_colortable.h"
#include "sk_data.h"
#include "sk_document.h"
#include "sk_image.h"
#include "sk_imagefilter.h"
#include "sk_mask.h"
#include "sk_maskfilter.h"
#include "sk_matrix.h"
#include "sk_paint.h"
#include "sk_path.h"
#include "sk_patheffect.h"
#include "sk_picture.h"
#include "sk_pixmap.h"
#include "sk_pixelserializer.h"
#include "sk_region.h"
#include "sk_shader.h"
#include "sk_stream.h"
#include "sk_string.h"
#include "sk_surface.h"
#include "sk_svg.h"
#include "sk_typeface.h"
#include "sk_xml.h"
#include "sk_vertices.h"
// Xamarin
#include "sk_managedstream.h"
#include "sk_managedpixelserializer.h"
SK_X_API void** KeepSkiaCSymbols ();
void** KeepSkiaCSymbols ()
{
static void* ret[] = {
// Skia
(void*)gr_context_create,
(void*)gr_glinterface_create_native_interface,
(void*)sk_bitmap_new,
(void*)sk_canvas_destroy,
(void*)sk_codec_min_buffered_bytes_needed,
(void*)sk_colorfilter_unref,
(void*)sk_colorspace_unref,
(void*)sk_colortable_unref,
(void*)sk_data_new_empty,
(void*)sk_document_unref,
(void*)sk_image_ref,
(void*)sk_imagefilter_croprect_new,
(void*)sk_mask_alloc_image,
(void*)sk_maskfilter_ref,
(void*)sk_matrix_set_identity,
(void*)sk_paint_new,
(void*)sk_path_new,
(void*)sk_path_effect_unref,
(void*)sk_picture_recorder_new,
(void*)sk_pixmap_destructor,
(void*)sk_pixelserializer_unref,
(void*)sk_region_new,
(void*)sk_shader_ref,
(void*)sk_stream_asset_destroy,
(void*)sk_string_new_empty,
(void*)sk_colortype_get_default_8888,
(void*)sk_svgcanvas_create,
(void*)sk_typeface_create_from_name,
(void*)sk_xmlstreamwriter_new,
(void*)sk_vertices_unref,
// Xamarin
(void*)sk_managedstream_new,
(void*)sk_managedpixelserializer_new,
};
return ret;
}

Просмотреть файл

@ -1,78 +0,0 @@
//
// WinRTCompat.c
//
// Created by Matthew Leibowitz on 06/09/16.
// Copyright © 2016 Xamarin. All rights reserved.
//
#include "WinRTCompat.h"
#ifdef SK_BUILD_FOR_WINRT
#include <windows.h>
#ifdef _M_ARM
unsigned int _mm_crc32_u32(unsigned int crc, unsigned int v)
{
return 0;
}
#endif // _M_ARM
DWORD WINAPI TlsAllocCompat(VOID)
{
return ::FlsAlloc(NULL);
}
LPVOID WINAPI TlsGetValueCompat(_In_ DWORD dwTlsIndex)
{
return ::FlsGetValue(dwTlsIndex);
}
BOOL WINAPI TlsSetValueCompat(_In_ DWORD dwTlsIndex, _In_opt_ LPVOID lpTlsValue)
{
return ::FlsSetValue(dwTlsIndex, lpTlsValue);
}
BOOL WINAPI TlsFreeCompat(_In_ DWORD dwTlsIndex)
{
return ::FlsFree(dwTlsIndex);
}
char *getenvCompat(const char *name)
{
// there is no environment in WinRT
return NULL;
}
int WINAPI CompareStringWCompat(_In_ LCID Locale, _In_ DWORD dwCmpFlags, _In_NLS_string_(cchCount1) PCNZWCH lpString1, _In_ int cchCount1, _In_NLS_string_(cchCount2) PCNZWCH lpString2, _In_ int cchCount2)
{
WCHAR localeName[LOCALE_NAME_MAX_LENGTH];
LCIDToLocaleName(Locale, localeName, LOCALE_NAME_MAX_LENGTH, 0);
return CompareStringEx(localeName, dwCmpFlags, lpString1, cchCount1, lpString2, cchCount2, NULL, NULL, NULL);
}
UINT WINAPI GetACPCompat(void)
{
return CP_ACP;
}
HANDLE WINAPI OpenThreadCompat(_In_ DWORD dwDesiredAccess, _In_ BOOL bInheritHandle, _In_ DWORD dwThreadId)
{
// TODO: implementation
return NULL;
}
DWORD WINAPI GetTickCountCompat(VOID)
{
return (long)GetTickCount64();
}
int WINAPI MessageBoxACompat(_In_opt_ HWND hWnd, _In_opt_ LPCSTR lpText, _In_opt_ LPCSTR lpCaption, _In_ UINT uType)
{
// TODO: implementation
return 0;
}
#endif // SK_BUILD_FOR_WINRT

Просмотреть файл

@ -1,78 +0,0 @@
//
// WinRTCompat.h
//
// Created by Matthew on 2016/06/20.
// Copyright © 2016 Xamarin. All rights reserved.
//
#ifndef WinRTCompat_h
#define WinRTCompat_h
#ifdef SK_BUILD_FOR_WINRT
#include <Windows.h>
#ifdef __cplusplus
#define C_PLUS_PLUS_BEGIN_GUARD extern "C" {
#define C_PLUS_PLUS_END_GUARD }
#else
#include <stdbool.h>
#define C_PLUS_PLUS_BEGIN_GUARD
#define C_PLUS_PLUS_END_GUARD
#endif
#include <wchar.h>
C_PLUS_PLUS_BEGIN_GUARD
#ifdef _M_ARM
// This should have been not used, but as the code is designed for x86
// and there is a RUNTIME check for simd, this has to exist. As the
// runtime check will fail, and revert to a C implementation, this is
// not a problem to have a stub.
// used in: deflate.c
unsigned int _mm_crc32_u32(unsigned int crc, unsigned int v);
#endif // _M_ARM
// used in: dng_string.cpp
int WINAPI CompareStringWCompat(_In_ LCID Locale, _In_ DWORD dwCmpFlags, _In_NLS_string_(cchCount1) PCNZWCH lpString1, _In_ int cchCount1, _In_NLS_string_(cchCount2) PCNZWCH lpString2, _In_ int cchCount2);
// used in: dng_string.cpp
UINT WINAPI GetACPCompat(void);
// used in: dng_pthread.cpp
HANDLE WINAPI OpenThreadCompat(_In_ DWORD dwDesiredAccess, _In_ BOOL bInheritHandle, _In_ DWORD dwThreadId);
// used in: dng_utils.cpp
DWORD WINAPI GetTickCountCompat(VOID);
// used in: dng_utils.cpp
int WINAPI MessageBoxACompat(_In_opt_ HWND hWnd, _In_opt_ LPCSTR lpText, _In_opt_ LPCSTR lpCaption, _In_ UINT uType);
// used in: dng_pthread.cpp
DWORD WINAPI TlsAllocCompat(VOID);
// used in: dng_pthread.cpp
LPVOID WINAPI TlsGetValueCompat(_In_ DWORD dwTlsIndex);
// used in: dng_pthread.cpp
BOOL WINAPI TlsSetValueCompat(_In_ DWORD dwTlsIndex, _In_opt_ LPVOID lpTlsValue);
// used in: dng_pthread.cpp
BOOL WINAPI TlsFreeCompat(_In_ DWORD dwTlsIndex);
// used in: jsimd_xxx.c
char *getenvCompat(const char *name);
// override any previous declaration with ours
#define MessageBoxA MessageBoxACompat
#define CompareStringW CompareStringWCompat
#define GetACP GetACPCompat
#define OpenThread OpenThreadCompat
#define GetTickCount GetTickCountCompat
#define TlsAlloc TlsAllocCompat
#define TlsGetValue TlsGetValueCompat
#define TlsSetValue TlsSetValueCompat
#define TlsFree TlsFreeCompat
#define getenv getenvCompat
C_PLUS_PLUS_END_GUARD
#endif // SK_BUILD_FOR_WINRT
#endif // WinRTCompat_h

Просмотреть файл

@ -1,48 +0,0 @@
/*
* Copyright 2017 Xamarin Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "SkManagedPixelSerializer.h"
#include "sk_managedpixelserializer.h"
#include "sk_types_priv.h"
static sk_managedpixelserializer_use_delegate gUse;
static sk_managedpixelserializer_encode_delegate gEncode;
static inline sk_managedpixelserializer_t* ToManagedPixelSerializer(SkManagedPixelSerializer* cserializer) {
return reinterpret_cast<sk_managedpixelserializer_t*>(cserializer);
}
bool dUse(SkManagedPixelSerializer* cserializer, const void* data, size_t len)
{
return gUse(ToManagedPixelSerializer(cserializer), data, len);
}
SkData* dEncode(SkManagedPixelSerializer* cserializer, const SkPixmap& pixmap)
{
return AsData(gEncode(ToManagedPixelSerializer(cserializer), ToPixmap(&pixmap)));
}
sk_managedpixelserializer_t* sk_managedpixelserializer_new ()
{
return ToManagedPixelSerializer (new SkManagedPixelSerializer ());
}
void sk_managedpixelserializer_set_delegates (
const sk_managedpixelserializer_use_delegate pUse,
const sk_managedpixelserializer_encode_delegate pEncode)
{
gUse = pUse;
gEncode = pEncode;
SkManagedPixelSerializer::setDelegates(dUse, dEncode);
}

Просмотреть файл

@ -1,33 +0,0 @@
/*
* Copyright 2017 Xamarin Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef sk_managedpixelserializer_DEFINED
#define sk_managedpixelserializer_DEFINED
#include "sk_xamarin.h"
#include "sk_types.h"
SK_C_PLUS_PLUS_BEGIN_GUARD
typedef struct sk_managedpixelserializer_t sk_managedpixelserializer_t;
typedef bool (*sk_managedpixelserializer_use_delegate) (sk_managedpixelserializer_t* serializer, const void* data, size_t len);
typedef sk_data_t* (*sk_managedpixelserializer_encode_delegate) (sk_managedpixelserializer_t* serializer, const sk_pixmap_t* pixmap);
SK_X_API sk_managedpixelserializer_t* sk_managedpixelserializer_new ();
SK_X_API void sk_managedpixelserializer_set_delegates (
const sk_managedpixelserializer_use_delegate pUse,
const sk_managedpixelserializer_encode_delegate pEncode);
SK_C_PLUS_PLUS_END_GUARD
#endif

Просмотреть файл

@ -1,183 +0,0 @@
/*
* Copyright 2016 Xamarin Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "SkManagedStream.h"
#include "sk_managedstream.h"
#include "sk_types_priv.h"
static sk_managedwstream_write_delegate gWrite;
static sk_managedwstream_flush_delegate gFlush;
static sk_managedwstream_bytesWritten_delegate gBytesWritten;
static sk_managedwstream_destroy_delegate gWDestroy;
static inline SkManagedWStream* AsManagedWStream(sk_wstream_managedstream_t* cstream) {
return reinterpret_cast<SkManagedWStream*>(cstream);
}
static inline sk_wstream_managedstream_t* ToManagedWStream(SkManagedWStream* stream) {
return reinterpret_cast<sk_wstream_managedstream_t*>(stream);
}
static inline const sk_wstream_managedstream_t* ToManagedWStream(const SkManagedWStream* stream) {
return reinterpret_cast<const sk_wstream_managedstream_t*>(stream);
}
bool dWrite(SkManagedWStream* managedStream, const void* buffer, size_t size)
{
return gWrite(ToManagedWStream(managedStream), buffer, size);
}
void dFlush(SkManagedWStream* managedStream)
{
gFlush(ToManagedWStream(managedStream));
}
size_t dBytesWritten(const SkManagedWStream* managedStream)
{
return gBytesWritten(ToManagedWStream(managedStream));
}
void dWDestroy(size_t managedStream)
{
gWDestroy(managedStream);
}
sk_wstream_managedstream_t* sk_managedwstream_new()
{
return ToManagedWStream(new SkManagedWStream());
}
void sk_managedwstream_destroy(sk_wstream_managedstream_t* stream)
{
delete AsManagedWStream(stream);
}
void sk_managedwstream_set_delegates(const sk_managedwstream_write_delegate pWrite,
const sk_managedwstream_flush_delegate pFlush,
const sk_managedwstream_bytesWritten_delegate pBytesWritten,
const sk_managedwstream_destroy_delegate pDestroy)
{
gWrite = pWrite;
gFlush = pFlush;
gBytesWritten = pBytesWritten;
gWDestroy = pDestroy;
SkManagedWStream::setDelegates(dWrite, dFlush, dBytesWritten, dWDestroy);
}
static sk_managedstream_read_delegate gRead;
static sk_managedstream_peek_delegate gPeek;
static sk_managedstream_isAtEnd_delegate gIsAtEnd;
static sk_managedstream_hasPosition_delegate gHasPosition;
static sk_managedstream_hasLength_delegate gHasLength;
static sk_managedstream_rewind_delegate gRewind;
static sk_managedstream_getPosition_delegate gGetPosition;
static sk_managedstream_seek_delegate gSeek;
static sk_managedstream_move_delegate gMove;
static sk_managedstream_getLength_delegate gGetLength;
static sk_managedstream_createNew_delegate gCreateNew;
static sk_managedstream_destroy_delegate gDestroy;
static inline SkManagedStream* AsManagedStream(sk_stream_managedstream_t* cstream) {
return reinterpret_cast<SkManagedStream*>(cstream);
}
static inline sk_stream_managedstream_t* ToManagedStream(SkManagedStream* stream) {
return reinterpret_cast<sk_stream_managedstream_t*>(stream);
}
static inline const sk_stream_managedstream_t* ToManagedStream(const SkManagedStream* stream) {
return reinterpret_cast<const sk_stream_managedstream_t*>(stream);
}
size_t dRead(SkManagedStream* managedStream, void* buffer, size_t size)
{
return gRead(ToManagedStream(managedStream), buffer, size);
}
size_t dPeek(SkManagedStream* managedStream, void* buffer, size_t size)
{
return gPeek(ToManagedStream(managedStream), buffer, size);
}
bool dIsAtEnd(const SkManagedStream* managedStream)
{
return gIsAtEnd(ToManagedStream(managedStream));
}
bool dHasPosition(const SkManagedStream* managedStream)
{
return gHasPosition(ToManagedStream(managedStream));
}
bool dHasLength(const SkManagedStream* managedStream)
{
return gHasLength(ToManagedStream(managedStream));
}
bool dRewind(SkManagedStream* managedStream)
{
return gRewind(ToManagedStream(managedStream));
}
size_t dGetPosition(const SkManagedStream* managedStream)
{
return gGetPosition(ToManagedStream(managedStream));
}
bool dSeek(SkManagedStream* managedStream, size_t position)
{
return gSeek(ToManagedStream(managedStream), position);
}
bool dMove(SkManagedStream* managedStream, long offset)
{
return gMove(ToManagedStream(managedStream), offset);
}
size_t dGetLength(const SkManagedStream* managedStream)
{
return gGetLength(ToManagedStream(managedStream));
}
SkManagedStream* dCreateNew(const SkManagedStream* managedStream)
{
return AsManagedStream(gCreateNew(ToManagedStream(managedStream)));
}
void dDestroy(size_t managedStream)
{
gDestroy(managedStream);
}
sk_stream_managedstream_t* sk_managedstream_new ()
{
return ToManagedStream (new SkManagedStream ());
}
void sk_managedstream_destroy (sk_stream_managedstream_t* stream)
{
delete AsManagedStream (stream);
}
void sk_managedstream_set_delegates (const sk_managedstream_read_delegate pRead,
const sk_managedstream_peek_delegate pPeek,
const sk_managedstream_isAtEnd_delegate pIsAtEnd,
const sk_managedstream_hasPosition_delegate pHasPosition,
const sk_managedstream_hasLength_delegate pHasLength,
const sk_managedstream_rewind_delegate pRewind,
const sk_managedstream_getPosition_delegate pGetPosition,
const sk_managedstream_seek_delegate pSeek,
const sk_managedstream_move_delegate pMove,
const sk_managedstream_getLength_delegate pGetLength,
const sk_managedstream_createNew_delegate pCreateNew,
const sk_managedstream_destroy_delegate pDestroy)
{
gRead = pRead;
gPeek = pPeek;
gIsAtEnd = pIsAtEnd;
gHasPosition = pHasPosition;
gHasLength = pHasLength;
gRewind = pRewind;
gGetPosition = pGetPosition;
gSeek = pSeek;
gMove = pMove;
gGetLength = pGetLength;
gCreateNew = pCreateNew;
gDestroy = pDestroy;
SkManagedStream::setDelegates(dRead, dPeek, dIsAtEnd, dHasPosition, dHasLength, dRewind, dGetPosition, dSeek, dMove, dGetLength, dCreateNew, dDestroy);
}

Просмотреть файл

@ -1,76 +0,0 @@
/*
* Copyright 2015 Xamarin Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
// EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL
// DO NOT USE -- FOR INTERNAL TESTING ONLY
#ifndef sk_managedstream_DEFINED
#define sk_managedstream_DEFINED
#include "sk_xamarin.h"
#include "sk_types.h"
SK_C_PLUS_PLUS_BEGIN_GUARD
typedef struct sk_wstream_managedstream_t sk_wstream_managedstream_t;
typedef bool (*sk_managedwstream_write_delegate) (sk_wstream_managedstream_t* cmanagedStream, const void* buffer, size_t size);
typedef void (*sk_managedwstream_flush_delegate) (sk_wstream_managedstream_t* cmanagedStream);
typedef size_t (*sk_managedwstream_bytesWritten_delegate) (const sk_wstream_managedstream_t* cmanagedStream);
typedef void (*sk_managedwstream_destroy_delegate) (size_t cmanagedStream);
SK_X_API sk_wstream_managedstream_t* sk_managedwstream_new ();
SK_X_API void sk_managedwstream_destroy (sk_wstream_managedstream_t*);
SK_X_API void sk_managedwstream_set_delegates (const sk_managedwstream_write_delegate pWrite,
const sk_managedwstream_flush_delegate pFlush,
const sk_managedwstream_bytesWritten_delegate pBytesWritten,
const sk_managedwstream_destroy_delegate pDestroy);
typedef struct sk_stream_managedstream_t sk_stream_managedstream_t;
typedef size_t (*sk_managedstream_read_delegate) (sk_stream_managedstream_t* cmanagedStream, void* buffer, size_t size);
typedef size_t (*sk_managedstream_peek_delegate) (sk_stream_managedstream_t* cmanagedStream, void* buffer, size_t size);
typedef bool (*sk_managedstream_isAtEnd_delegate) (const sk_stream_managedstream_t* cmanagedStream);
typedef bool (*sk_managedstream_hasPosition_delegate) (const sk_stream_managedstream_t* cmanagedStream);
typedef bool (*sk_managedstream_hasLength_delegate) (const sk_stream_managedstream_t* cmanagedStream);
typedef bool (*sk_managedstream_rewind_delegate) (sk_stream_managedstream_t* cmanagedStream);
typedef size_t (*sk_managedstream_getPosition_delegate) (const sk_stream_managedstream_t* cmanagedStream);
typedef bool (*sk_managedstream_seek_delegate) (sk_stream_managedstream_t* cmanagedStream, size_t position);
typedef bool (*sk_managedstream_move_delegate) (sk_stream_managedstream_t* cmanagedStream, long offset);
typedef size_t (*sk_managedstream_getLength_delegate) (const sk_stream_managedstream_t* cmanagedStream);
typedef sk_stream_managedstream_t* (*sk_managedstream_createNew_delegate) (const sk_stream_managedstream_t* cmanagedStream);
typedef void (*sk_managedstream_destroy_delegate) (size_t cmanagedStream);
// c API
SK_X_API sk_stream_managedstream_t* sk_managedstream_new ();
SK_X_API void sk_managedstream_destroy (sk_stream_managedstream_t*);
SK_X_API void sk_managedstream_set_delegates (const sk_managedstream_read_delegate pRead,
const sk_managedstream_peek_delegate pPeek,
const sk_managedstream_isAtEnd_delegate pIsAtEnd,
const sk_managedstream_hasPosition_delegate pHasPosition,
const sk_managedstream_hasLength_delegate pHasLength,
const sk_managedstream_rewind_delegate pRewind,
const sk_managedstream_getPosition_delegate pGetPosition,
const sk_managedstream_seek_delegate pSeek,
const sk_managedstream_move_delegate pMove,
const sk_managedstream_getLength_delegate pGetLength,
const sk_managedstream_createNew_delegate pCreateNew,
const sk_managedstream_destroy_delegate pDestroy);
SK_C_PLUS_PLUS_END_GUARD
#endif

Просмотреть файл

@ -1,20 +0,0 @@
/*
* Copyright 2016 Xamarin Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "SkCodec.h"
#include "sk_xamarin.h"
#include "sk_types_priv.h"
#ifdef NEED_INIT_NEON
namespace SkOpts {
void Init_neon() {}
}
#endif

Просмотреть файл

@ -1,27 +0,0 @@
/*
* Copyright 2015 Xamarin Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
// EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL
// DO NOT USE -- FOR INTERNAL TESTING ONLY
#ifndef sk_xamarin_DEFINED
#define sk_xamarin_DEFINED
#include "sk_types.h"
SK_C_PLUS_PLUS_BEGIN_GUARD
#if defined(_WIN32)
# define SK_X_API __declspec(dllexport)
#else
# define SK_X_API __attribute__((visibility("default")))
#endif
SK_C_PLUS_PLUS_END_GUARD
#endif

Просмотреть файл

@ -10,15 +10,15 @@
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\..\native-builds\lib\windows\x64\libSkiaSharp.dll" Condition="Exists('..\..\..\..\native-builds\lib\windows\x64\libSkiaSharp.dll')">
<None Include="..\..\..\..\output\native\windows\x64\libSkiaSharp.dll" Condition="Exists('..\..\..\..\output\native\windows\x64\libSkiaSharp.dll')">
<Link>libSkiaSharp.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="..\..\..\..\native-builds\lib\osx\libSkiaSharp.dylib" Condition="Exists('..\..\..\..\native-builds\lib\osx\libSkiaSharp.dylib')">
<None Include="..\..\..\..\output\native\osx\libSkiaSharp.dylib" Condition="Exists('..\..\..\..\output\native\osx\libSkiaSharp.dylib')">
<Link>libSkiaSharp.dylib</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="..\..\..\..\native-builds\lib\linux\x64\libSkiaSharp.so" Condition="Exists('..\..\..\..\native-builds\lib\linux\x64\libSkiaSharp.so')">
<None Include="..\..\..\..\output\native\linux\x64\libSkiaSharp.so" Condition="Exists('..\..\..\..\output\native\linux\x64\libSkiaSharp.so')">
<Link>libSkiaSharp.so</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>