Added the initial bits for a set of utils for SkiaSharp

This commit is contained in:
Matthew Leibowitz 2017-02-11 19:19:12 +04:00
Родитель 6fa7440ee8
Коммит 322baee72a
20 изменённых файлов: 574 добавлений и 2 удалений

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

@ -27,6 +27,7 @@ var VERSION_PACKAGES = new Dictionary<string, string> {
{ "SkiaSharp.Views", "1.56.1" },
{ "SkiaSharp.Views.Forms", "1.56.1" },
{ "SkiaSharp.Svg", "1.56.1" },
{ "SkiaSharp.Extended", "1.56.1-beta" },
};
string ANDROID_HOME = EnvironmentVariable ("ANDROID_HOME") ?? EnvironmentVariable ("HOME") + "/Library/Developer/Xamarin/android-sdk-macosx";
@ -76,6 +77,7 @@ Task ("libs")
ReplaceTextInFiles ("./source/SkiaSharp.Views/SkiaSharp.Views.Shared/Properties/SkiaSharpViewsAssemblyInfo.cs", "{GIT_SHA}", sha);
ReplaceTextInFiles ("./source/SkiaSharp.Views.Forms/SkiaSharp.Views.Forms.Shared/Properties/SkiaSharpViewsFormsAssemblyInfo.cs", "{GIT_SHA}", sha);
ReplaceTextInFiles ("./source/SkiaSharp.Svg/SkiaSharp.Svg.Shared/Properties/SkiaSharpSvgAssemblyInfo.cs", "{GIT_SHA}", sha);
ReplaceTextInFiles ("./source/SkiaSharp.Extended/SkiaSharp.Extended.Shared/Properties/SkiaSharpExtendedAssemblyInfo.cs", "{GIT_SHA}", sha);
}
// create all the directories
@ -122,6 +124,9 @@ Task ("libs")
// copy SVG
CopyFileToDirectory ("./source/SkiaSharp.Svg/SkiaSharp.Svg/bin/Release/SkiaSharp.Svg.dll", "./output/portable/");
// copy Extended
CopyFileToDirectory ("./source/SkiaSharp.Extended/SkiaSharp.Extended/bin/Release/SkiaSharp.Extended.dll", "./output/portable/");
}
if (IsRunningOnMac ()) {
@ -159,6 +164,9 @@ Task ("libs")
// copy SVG
CopyFileToDirectory ("./source/SkiaSharp.Svg/SkiaSharp.Svg/bin/Release/SkiaSharp.Svg.dll", "./output/portable/");
// copy Extended
CopyFileToDirectory ("./source/SkiaSharp.Extended/SkiaSharp.Extended/bin/Release/SkiaSharp.Extended.dll", "./output/portable/");
}
if (IsRunningOnLinux ()) {
@ -179,6 +187,9 @@ Task ("libs")
// copy SVG
CopyFileToDirectory ("./source/SkiaSharp.Svg/SkiaSharp.Svg/bin/Release/SkiaSharp.Svg.dll", "./output/portable/");
// copy Extended
CopyFileToDirectory ("./source/SkiaSharp.Extended/SkiaSharp.Extended/bin/Release/SkiaSharp.Extended.dll", "./output/portable/");
}
// .NET Standard / .NET Core
@ -191,11 +202,14 @@ Task ("libs")
CopyFileToDirectory ("./binding/SkiaSharp.NetStandard/bin/Release/SkiaSharp.dll", "./output/netstandard/");
// build other source
RunDotNetCoreRestore ("source/SkiaSharp.Svg/SkiaSharp.Svg.NetStandard");
RunDotNetCoreRestore ("source/SkiaSharp.Extended/SkiaSharp.Extended.NetStandard");
DotNetBuild ("./source/SkiaSharpSource.NetStandard.sln", c => {
c.Configuration = "Release";
});
// copy SVG
CopyFileToDirectory ("./source/SkiaSharp.Svg/SkiaSharp.Svg.NetStandard/bin/Release/SkiaSharp.Svg.dll", "./output/netstandard/");
// copy Extended
CopyFileToDirectory ("./source/SkiaSharp.Extended/SkiaSharp.Extended.NetStandard/bin/Release/SkiaSharp.Extended.dll", "./output/netstandard/");
});
////////////////////////////////////////////////////////////////////////////////////////////////////
@ -494,6 +508,8 @@ Task ("nuget")
}
// SVG is a PCL
PackageNuGet ("./nuget/SkiaSharp.Svg.nuspec", "./output/");
// Extended is a PCL
PackageNuGet ("./nuget/SkiaSharp.Extended.nuspec", "./output/");
});
////////////////////////////////////////////////////////////////////////////////////////////////////
@ -576,6 +592,9 @@ Task ("set-versions")
UpdateAssemblyInfo (
"./source/SkiaSharp.Svg/SkiaSharp.Svg.Shared/Properties/SkiaSharpSvgAssemblyInfo.cs",
VERSION_ASSEMBLY, VERSION_FILE, sha);
UpdateAssemblyInfo (
"./source/SkiaSharp.Extended/SkiaSharp.Extended.Shared/Properties/SkiaSharpExtendedAssemblyInfo.cs",
VERSION_ASSEMBLY, VERSION_FILE, sha);
});
////////////////////////////////////////////////////////////////////////////////////////////////////

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

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<package>
<metadata>
<id>SkiaSharp.Extended</id>
<title>SkiaSharp.Extended</title>
<version>1.56.1-beta</version>
<authors>Xamarin Inc.</authors>
<owners>Xamarin Inc.</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>This package adds many additional features and utilities for use with SkiaSharp.</description>
<copyright>Copyright (c) Xamarin Inc. 2016</copyright>
<licenseUrl>https://github.com/mono/SkiaSharp/blob/master/LICENSE.md</licenseUrl>
<projectUrl>https://github.com/mono/SkiaSharp</projectUrl>
<iconUrl>https://cdn.rawgit.com/mono/SkiaSharp/v1.53.0/images/skia_256x256.png</iconUrl>
<dependencies>
<dependency id="SkiaSharp" version="1.56.1" />
</dependencies>
</metadata>
<files>
<file src="output/portable/SkiaSharp.Extended.dll" target="lib/portable-net45+win8+wpa81+wp8" />
<file src="output/netstandard/SkiaSharp.Extended.dll" target="lib/netstandard1.3" />
</files>
</package>

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

@ -0,0 +1 @@


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

@ -0,0 +1,59 @@
<?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>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{36456F7F-388A-49E1-B9C5-CC2DEC82D2C2}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>SkiaSharp.Extended</RootNamespace>
<AssemblyName>SkiaSharp.Extended</AssemblyName>
<DefaultLanguage>en-US</DefaultLanguage>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\..\mono.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<!-- A reference to the entire .NET Framework is automatically included -->
<None Include="project.json" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\binding\SkiaSharp.NetStandard\SkiaSharp.NetStandard.csproj">
<Project>{4e0924f8-d546-4428-9412-4b9411fba5ff}</Project>
<Name>SkiaSharp.NetStandard</Name>
</ProjectReference>
</ItemGroup>
<Import Project="..\SkiaSharp.Extended.Shared\SkiaSharp.Extended.Shared.projitems" Label="Shared" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

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

@ -0,0 +1,9 @@
{
"supports": {},
"dependencies": {
"NETStandard.Library": "1.6.0"
},
"frameworks": {
"netstandard1.3": {}
}
}

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

@ -0,0 +1,17 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Cake.
// </auto-generated>
//------------------------------------------------------------------------------
using System.Reflection;
[assembly: AssemblyTitle("SkiaSharp.Extended")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SkiaSharp.Extended")]
[assembly: AssemblyVersion("1.56.0.0")]
[assembly: AssemblyFileVersion("1.56.1.0")]
[assembly: AssemblyInformationalVersion("1.56.1.0-{GIT_SHA}")]
[assembly: AssemblyCopyright("Xamarin Inc.")]
[assembly: AssemblyTrademark("")]

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

@ -0,0 +1,194 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace SkiaSharp.Extended
{
public static class SKGeometry
{
public const float PI = (float)Math.PI;
private const float UprightAngle = PI / 2f;
private const float TotalAngle = 2f * PI;
public static SKPoint GetCirclePoint(float r, float angle)
{
return new SKPoint(r * (float)Math.Cos(angle), r * (float)Math.Sin(angle));
}
public static SKPath CreateSectorPath(float start, float end, float outerRadius, float innerRadius = 0.0f, float margin = 0.0f, float explodeDistance = 0.0f, SKPathDirection direction = SKPathDirection.Clockwise)
{
var path = new SKPath();
// if the sector has no size, then it has no path
if (start == end)
{
return path;
}
// the the sector is a full circle, then do that
if (end - start == 1.0f)
{
path.AddCircle(0, 0, outerRadius, direction);
path.AddCircle(0, 0, innerRadius, direction);
path.FillType = SKPathFillType.EvenOdd;
return path;
}
// calculate the angles
var startAngle = TotalAngle * start - UprightAngle;
var endAngle = TotalAngle * end - UprightAngle;
var large = endAngle - startAngle > PI ? SKPathArcSize.Large : SKPathArcSize.Small;
var sectorCenterAngle = (endAngle - startAngle) / 2f + startAngle;
// get the radius bits
var cectorCenterRadius = (outerRadius - innerRadius) / 2f + innerRadius;
// move explosion around 90 degrees, since matrix use down as 0
var explosionMatrix = SKMatrix.MakeRotation(sectorCenterAngle - (PI / 2f));
var offset = explosionMatrix.MapPoint(new SKPoint(0, explodeDistance));
// calculate the angle for the margins
margin = direction == SKPathDirection.Clockwise ? margin : -margin;
var offsetR = outerRadius == 0 ? 0 : ((margin / (TotalAngle * outerRadius)) * TotalAngle);
var offsetr = innerRadius == 0 ? 0 : ((margin / (TotalAngle * innerRadius)) * TotalAngle);
// get the points
var a = GetCirclePoint(outerRadius, startAngle + offsetR) + offset;
var b = GetCirclePoint(outerRadius, endAngle - offsetR) + offset;
var c = GetCirclePoint(innerRadius, endAngle - offsetr) + offset;
var d = GetCirclePoint(innerRadius, startAngle + offsetr) + offset;
// add the points to the path
path.MoveTo(a);
path.ArcTo(outerRadius, outerRadius, 0, large, direction, b.X, b.Y);
path.LineTo(c);
if (innerRadius == 0.0f)
{
// take a short cut
path.LineTo(d);
}
else
{
var reverseDirection = direction == SKPathDirection.Clockwise ? SKPathDirection.CounterClockwise : SKPathDirection.Clockwise;
path.ArcTo(innerRadius, innerRadius, 0, large, reverseDirection, d.X, d.Y);
}
path.Close();
return path;
}
public static SKPath CreatePiePath(IEnumerable<float> sectorSizes, float outerRadius, float innerRadius = 0.0f, float spacing = 0.0f, float explodeDistance = 0.0f, SKPathDirection direction = SKPathDirection.Clockwise)
{
var path = new SKPath();
float cursor = 0;
var sum = sectorSizes.Sum();
foreach (var sectorSize in sectorSizes)
{
var sector = CreateSectorPath(cursor, cursor + sectorSize, outerRadius, innerRadius, spacing / 2f, explodeDistance, direction);
cursor += sectorSize;
path.AddPath(sector, SKPath.AddMode.Append);
}
return path;
}
public static SKPath CreateSquarePath(float side, SKPathDirection direction = SKPathDirection.Clockwise)
{
return CreateRectanglePath(side, side, direction);
}
public static SKPath CreateRectanglePath(float width, float height, SKPathDirection direction = SKPathDirection.Clockwise)
{
var path = new SKPath();
path.AddRect(new SKRect(width / -2, height / -2, width / 2, height / 2), direction);
path.Close();
return path;
}
public static SKPath CreateTrianglePath(float width, float height, SKPathDirection direction = SKPathDirection.Clockwise)
{
var path = new SKPath();
path.MoveTo(0, height / -2);
if (direction == SKPathDirection.Clockwise)
{
path.LineTo(width / -2, height / 2);
path.LineTo(width / 2, height / 2);
}
else
{
path.LineTo(width / 2, height / 2);
path.LineTo(width / -2, height / 2);
}
path.Close();
return path;
}
public static SKPath CreateTrianglePath(float radius, SKPathDirection direction = SKPathDirection.Clockwise)
{
return CreateRegularPolygonPath(radius, 3, direction);
}
public static SKPath CreateRegularPolygonPath(float radius, int points, SKPathDirection direction = SKPathDirection.Clockwise)
{
var path = new SKPath();
float stepAngle = TotalAngle / points;
if (direction == SKPathDirection.CounterClockwise)
{
stepAngle = -stepAngle;
}
for (int p = 0; p < points; p++)
{
float angle = stepAngle * p - UprightAngle;
float x = radius * (float)Math.Cos(angle);
float y = radius * (float)Math.Sin(angle);
if (p == 0)
path.MoveTo(x, y);
else
path.LineTo(x, y);
}
path.Close();
return path;
}
public static SKPath CreateRegularStarPath(float outerRadius, float innerRadius, int points, SKPathDirection direction = SKPathDirection.Clockwise)
{
var path = new SKPath();
bool isInner = false;
points *= 2;
float stepAngle = TotalAngle / points;
if (direction == SKPathDirection.CounterClockwise)
{
stepAngle = -stepAngle;
}
for (int p = 0; p < points; p++)
{
float radius = isInner ? innerRadius : outerRadius;
float angle = stepAngle * p - UprightAngle;
float x = radius * (float)Math.Cos(angle);
float y = radius * (float)Math.Sin(angle);
if (p == 0)
path.MoveTo(x, y);
else
path.LineTo(x, y);
isInner = !isInner;
}
path.Close();
return path;
}
}
}

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

@ -0,0 +1,47 @@
namespace SkiaSharp.Extended
{
public static class SKGeometryExtensions
{
public static void DrawSquare(this SKCanvas canvas, float cx, float cy, float side, SKPaint paint)
{
var path = SKGeometry.CreateSquarePath(side);
path.Offset(cx, cy);
canvas.DrawPath(path, paint);
}
public static void DrawRect(this SKCanvas canvas, float cx, float cy, float width, float height, SKPaint paint)
{
var path = SKGeometry.CreateRectanglePath(width, height);
path.Offset(cx, cy);
canvas.DrawPath(path, paint);
}
public static void DrawTriangle(this SKCanvas canvas, float cx, float cy, float width, float height, SKPaint paint)
{
var path = SKGeometry.CreateTrianglePath(width, height);
path.Offset(cx, cy);
canvas.DrawPath(path, paint);
}
public static void DrawTriangle(this SKCanvas canvas, float cx, float cy, float radius, SKPaint paint)
{
var path = SKGeometry.CreateTrianglePath(radius);
path.Offset(cx, cy);
canvas.DrawPath(path, paint);
}
public static void DrawRegularPolygon(this SKCanvas canvas, float cx, float cy, float radius, int points, SKPaint paint)
{
var path = SKGeometry.CreateRegularPolygonPath(radius, points);
path.Offset(cx, cy);
canvas.DrawPath(path, paint);
}
public static void DrawStar(this SKCanvas canvas, float cx, float cy, float outerRadius, float innerRadius, int points, SKPaint paint)
{
var path = SKGeometry.CreateRegularStarPath(outerRadius, innerRadius, points);
path.Offset(cx, cy);
canvas.DrawPath(path, paint);
}
}
}

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

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
<HasSharedItems>true</HasSharedItems>
<SharedGUID>e3290ce6-0ada-486b-9bab-8bcf07f9be45</SharedGUID>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<Import_RootNamespace>SkiaSharp.Extended</Import_RootNamespace>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(MSBuildThisFileDirectory)Properties\SkiaSharpExtendedAssemblyInfo.cs" />
<Compile Include="$(MSBuildThisFileDirectory)SKGeometryExtensions.cs" />
<Compile Include="$(MSBuildThisFileDirectory)SKGeometry.cs" />
</ItemGroup>
</Project>

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

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>e3290ce6-0ada-486b-9bab-8bcf07f9be45</ProjectGuid>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.Default.props" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.props" />
<PropertyGroup />
<Import Project="SkiaSharp.Extended.Shared.projitems" Label="Shared" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.CSharp.targets" />
</Project>

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

@ -0,0 +1 @@


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

@ -0,0 +1,57 @@
<?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>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>SkiaSharp.Extended</RootNamespace>
<AssemblyName>SkiaSharp.Extended</AssemblyName>
<DefaultLanguage>en-US</DefaultLanguage>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<TargetFrameworkProfile>Profile78</TargetFrameworkProfile>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\..\mono.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<!-- A reference to the entire .NET Framework is automatically included -->
<ProjectReference Include="..\..\..\binding\SkiaSharp.Portable\SkiaSharp.Portable.csproj">
<Project>{7aa90628-2fdd-4585-af2f-cc51cfa8b52a}</Project>
<Name>SkiaSharp.Portable</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="..\SkiaSharp.Extended.Shared\SkiaSharp.Extended.Shared.projitems" Label="Shared" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

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

@ -15,7 +15,20 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Svg", "SkiaSharp.
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Svg.Shared", "SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.shproj", "{B201E760-DB91-485C-A99A-814BDED90BDB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SkiaSharp.Extended", "SkiaSharp.Extended", "{CD6A8CE6-9521-4ADB-B49C-77E8B2A8441F}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Extended.Shared", "SkiaSharp.Extended\SkiaSharp.Extended.Shared\SkiaSharp.Extended.Shared.shproj", "{E3290CE6-0ADA-486B-9BAB-8BCF07F9BE45}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Extended", "SkiaSharp.Extended\SkiaSharp.Extended\SkiaSharp.Extended.csproj", "{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.projitems*{04c4399a-6740-4733-b6b7-f968232a76c8}*SharedItemsImports = 4
..\binding\Binding\Binding.projitems*{9c502b9a-25d4-473f-89bd-5a13dde16354}*SharedItemsImports = 13
SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.projitems*{b201e760-db91-485c-a99a-814bded90bdb}*SharedItemsImports = 13
SkiaSharp.Extended\SkiaSharp.Extended.Shared\SkiaSharp.Extended.Shared.projitems*{e3290ce6-0ada-486b-9bab-8bcf07f9be45}*SharedItemsImports = 13
SkiaSharp.Extended\SkiaSharp.Extended.Shared\SkiaSharp.Extended.Shared.projitems*{fea1fec9-950c-46c0-9eb0-a515e0ab8f19}*SharedItemsImports = 4
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
@ -29,6 +42,10 @@ Global
{04C4399A-6740-4733-B6B7-F968232A76C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{04C4399A-6740-4733-B6B7-F968232A76C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{04C4399A-6740-4733-B6B7-F968232A76C8}.Release|Any CPU.Build.0 = Release|Any CPU
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -38,5 +55,7 @@ Global
{7AA90628-2FDD-4585-AF2F-CC51CFA8B52A} = {C335869B-7CC8-4239-B4A5-8031AA9758D3}
{04C4399A-6740-4733-B6B7-F968232A76C8} = {F9C7D51F-468C-4E58-BB75-2317DB99C8A7}
{B201E760-DB91-485C-A99A-814BDED90BDB} = {F9C7D51F-468C-4E58-BB75-2317DB99C8A7}
{E3290CE6-0ADA-486B-9BAB-8BCF07F9BE45} = {CD6A8CE6-9521-4ADB-B49C-77E8B2A8441F}
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19} = {CD6A8CE6-9521-4ADB-B49C-77E8B2A8441F}
EndGlobalSection
EndGlobal

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

@ -49,6 +49,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SkiaSharp.Views.Forms", "Sk
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Svg.Shared", "SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.shproj", "{B201E760-DB91-485C-A99A-814BDED90BDB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SkiaSharp.Extras", "SkiaSharp.Extras", "{8570A43F-3AD6-4EC4-8CD1-92EF9AC23916}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Extended.Shared", "SkiaSharp.Extended\SkiaSharp.Extended.Shared\SkiaSharp.Extended.Shared.shproj", "{E3290CE6-0ADA-486B-9BAB-8BCF07F9BE45}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Extended", "SkiaSharp.Extended\SkiaSharp.Extended\SkiaSharp.Extended.csproj", "{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.projitems*{04c4399a-6740-4733-b6b7-f968232a76c8}*SharedItemsImports = 4
@ -70,9 +76,11 @@ Global
SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.projitems*{b201e760-db91-485c-a99a-814bded90bdb}*SharedItemsImports = 13
..\Binding\Binding\Binding.projitems*{c737dc80-5b71-4b26-a2dc-da30421788b0}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems*{cbca14e7-96c9-4697-909c-19b1ef7298f7}*SharedItemsImports = 13
SkiaSharp.Extended\SkiaSharp.Extended.Shared\SkiaSharp.Extended.Shared.projitems*{e3290ce6-0ada-486b-9bab-8bcf07f9be45}*SharedItemsImports = 13
SkiaSharp.Views\SkiaSharp.Views.AppleiOS\SkiaSharp.Views.AppleiOS.projitems*{e5973829-6c8b-43e4-b81b-c8492df26c90}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems*{e5973829-6c8b-43e4-b81b-c8492df26c90}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{e5973829-6c8b-43e4-b81b-c8492df26c90}*SharedItemsImports = 4
SkiaSharp.Extended\SkiaSharp.Extended.Shared\SkiaSharp.Extended.Shared.projitems*{fea1fec9-950c-46c0-9eb0-a515e0ab8f19}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.AppleiOS\SkiaSharp.Views.AppleiOS.projitems*{ff4c9f9f-7a6a-44d1-8338-d30e39e4e9d4}*SharedItemsImports = 13
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -132,6 +140,10 @@ Global
{04C4399A-6740-4733-B6B7-F968232A76C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{04C4399A-6740-4733-B6B7-F968232A76C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{04C4399A-6740-4733-B6B7-F968232A76C8}.Release|Any CPU.Build.0 = Release|Any CPU
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -156,5 +168,7 @@ Global
{7AA90628-2FDD-4585-AF2F-CC51CFA8B52A} = {C335869B-7CC8-4239-B4A5-8031AA9758D3}
{04C4399A-6740-4733-B6B7-F968232A76C8} = {F9C7D51F-468C-4E58-BB75-2317DB99C8A7}
{B201E760-DB91-485C-A99A-814BDED90BDB} = {F9C7D51F-468C-4E58-BB75-2317DB99C8A7}
{E3290CE6-0ADA-486B-9BAB-8BCF07F9BE45} = {8570A43F-3AD6-4EC4-8CD1-92EF9AC23916}
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19} = {8570A43F-3AD6-4EC4-8CD1-92EF9AC23916}
EndGlobalSection
EndGlobal

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

@ -15,7 +15,21 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Svg.NetStandard",
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Svg.Shared", "SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.shproj", "{B201E760-DB91-485C-A99A-814BDED90BDB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SkiaSharp.Extended", "SkiaSharp.Extended", "{1DE47CE5-7542-40CD-89ED-296CB9B212EB}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Extended.Shared", "SkiaSharp.Extended\SkiaSharp.Extended.Shared\SkiaSharp.Extended.Shared.shproj", "{E3290CE6-0ADA-486B-9BAB-8BCF07F9BE45}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Extended.NetStandard", "SkiaSharp.Extended\SkiaSharp.Extended.NetStandard\SkiaSharp.Extended.NetStandard.csproj", "{36456F7F-388A-49E1-B9C5-CC2DEC82D2C2}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
SkiaSharp.Extended\SkiaSharp.Extended.Shared\SkiaSharp.Extended.Shared.projitems*{36456f7f-388a-49e1-b9c5-cc2dec82d2c2}*SharedItemsImports = 4
..\binding\Binding\Binding.projitems*{4e0924f8-d546-4428-9412-4b9411fba5ff}*SharedItemsImports = 4
..\binding\Binding\Binding.projitems*{9c502b9a-25d4-473f-89bd-5a13dde16354}*SharedItemsImports = 13
SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.projitems*{b201e760-db91-485c-a99a-814bded90bdb}*SharedItemsImports = 13
SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.projitems*{e19ffaf3-31a4-4a52-8460-de0c00221439}*SharedItemsImports = 4
SkiaSharp.Extended\SkiaSharp.Extended.Shared\SkiaSharp.Extended.Shared.projitems*{e3290ce6-0ada-486b-9bab-8bcf07f9be45}*SharedItemsImports = 13
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
@ -29,6 +43,10 @@ Global
{E19FFAF3-31A4-4A52-8460-DE0C00221439}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E19FFAF3-31A4-4A52-8460-DE0C00221439}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E19FFAF3-31A4-4A52-8460-DE0C00221439}.Release|Any CPU.Build.0 = Release|Any CPU
{36456F7F-388A-49E1-B9C5-CC2DEC82D2C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{36456F7F-388A-49E1-B9C5-CC2DEC82D2C2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{36456F7F-388A-49E1-B9C5-CC2DEC82D2C2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{36456F7F-388A-49E1-B9C5-CC2DEC82D2C2}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -38,5 +56,7 @@ Global
{4E0924F8-D546-4428-9412-4B9411FBA5FF} = {C335869B-7CC8-4239-B4A5-8031AA9758D3}
{E19FFAF3-31A4-4A52-8460-DE0C00221439} = {F9C7D51F-468C-4E58-BB75-2317DB99C8A7}
{B201E760-DB91-485C-A99A-814BDED90BDB} = {F9C7D51F-468C-4E58-BB75-2317DB99C8A7}
{E3290CE6-0ADA-486B-9BAB-8BCF07F9BE45} = {1DE47CE5-7542-40CD-89ED-296CB9B212EB}
{36456F7F-388A-49E1-B9C5-CC2DEC82D2C2} = {1DE47CE5-7542-40CD-89ED-296CB9B212EB}
EndGlobalSection
EndGlobal

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

@ -37,6 +37,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SkiaSharp.Views.Forms", "Sk
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Svg.Shared", "SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.shproj", "{B201E760-DB91-485C-A99A-814BDED90BDB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SkiaSharp.Extended", "SkiaSharp.Extended", "{2F0684AA-463A-443A-AB75-A2DA9B15D975}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Extended.Shared", "SkiaSharp.Extended\SkiaSharp.Extended.Shared\SkiaSharp.Extended.Shared.shproj", "{E3290CE6-0ADA-486B-9BAB-8BCF07F9BE45}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Extended", "SkiaSharp.Extended\SkiaSharp.Extended\SkiaSharp.Extended.csproj", "{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.projitems*{04c4399a-6740-4733-b6b7-f968232a76c8}*SharedItemsImports = 4
@ -48,9 +54,10 @@ Global
..\Binding\Binding\Binding.projitems*{9c502b9a-25d4-473f-89bd-5a13dde16354}*SharedItemsImports = 13
SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.projitems*{b201e760-db91-485c-a99a-814bded90bdb}*SharedItemsImports = 13
..\Binding\Binding\Binding.projitems*{bab615aa-956e-4079-b260-dd7b1f52ec7d}*SharedItemsImports = 4
SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.projitems*{e19ffaf3-31a4-4a52-8460-de0c00221439}*SharedItemsImports = 4
SkiaSharp.Extended\SkiaSharp.Extended.Shared\SkiaSharp.Extended.Shared.projitems*{e3290ce6-0ada-486b-9bab-8bcf07f9be45}*SharedItemsImports = 13
SkiaSharp.Views\SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{e5a90865-c185-45ad-88d1-6da7d6004b03}*SharedItemsImports = 4
..\Binding\Binding\Binding.projitems*{eb1bbdcc-fb07-40d5-8b9e-0079e2c2f2df}*SharedItemsImports = 4
SkiaSharp.Extended\SkiaSharp.Extended.Shared\SkiaSharp.Extended.Shared.projitems*{fea1fec9-950c-46c0-9eb0-a515e0ab8f19}*SharedItemsImports = 4
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -93,6 +100,10 @@ Global
{04C4399A-6740-4733-B6B7-F968232A76C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{04C4399A-6740-4733-B6B7-F968232A76C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{04C4399A-6740-4733-B6B7-F968232A76C8}.Release|Any CPU.Build.0 = Release|Any CPU
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -111,5 +122,7 @@ Global
{743CF830-D458-41A9-865A-F85126562015} = {F19E1537-81B2-4D4F-A69E-78DC73ACC141}
{04C4399A-6740-4733-B6B7-F968232A76C8} = {F9C7D51F-468C-4E58-BB75-2317DB99C8A7}
{B201E760-DB91-485C-A99A-814BDED90BDB} = {F9C7D51F-468C-4E58-BB75-2317DB99C8A7}
{E3290CE6-0ADA-486B-9BAB-8BCF07F9BE45} = {2F0684AA-463A-443A-AB75-A2DA9B15D975}
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19} = {2F0684AA-463A-443A-AB75-A2DA9B15D975}
EndGlobalSection
EndGlobal

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

@ -65,12 +65,21 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Svg.NetStandard",
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Svg.Shared", "SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.shproj", "{B201E760-DB91-485C-A99A-814BDED90BDB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SkiaSharp.Extended", "SkiaSharp.Extended", "{06F5DF49-E622-4A4C-8F01-0DB0E04721CE}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.Extended.Shared", "SkiaSharp.Extended\SkiaSharp.Extended.Shared\SkiaSharp.Extended.Shared.shproj", "{E3290CE6-0ADA-486B-9BAB-8BCF07F9BE45}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Extended", "SkiaSharp.Extended\SkiaSharp.Extended\SkiaSharp.Extended.csproj", "{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Extended.NetStandard", "SkiaSharp.Extended\SkiaSharp.Extended.NetStandard\SkiaSharp.Extended.NetStandard.csproj", "{36456F7F-388A-49E1-B9C5-CC2DEC82D2C2}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.projitems*{04c4399a-6740-4733-b6b7-f968232a76c8}*SharedItemsImports = 4
SkiaSharp.Views.Forms\SkiaSharp.Views.Forms.Shared\SkiaSharp.Views.Forms.Shared.projitems*{1555d119-8598-4e4d-91ac-d313f94a1673}*SharedItemsImports = 4
SkiaSharp.Views.Forms\SkiaSharp.Views.Forms.Shared\SkiaSharp.Views.Forms.Shared.projitems*{2f94f024-1841-47e8-b521-74aa4e3eba54}*SharedItemsImports = 4
SkiaSharp.Views.Forms\SkiaSharp.Views.Forms.Shared\SkiaSharp.Views.Forms.Shared.projitems*{314fb505-9858-4e03-b799-91b0ba627d05}*SharedItemsImports = 13
SkiaSharp.Extended\SkiaSharp.Extended.Shared\SkiaSharp.Extended.Shared.projitems*{36456f7f-388a-49e1-b9c5-cc2dec82d2c2}*SharedItemsImports = 4
SkiaSharp.Views.Forms\SkiaSharp.Views.Forms.Shared\SkiaSharp.Views.Forms.Shared.projitems*{3a1277b5-cfae-48cc-b64b-4dae1222a3eb}*SharedItemsImports = 4
..\Binding\Binding\Binding.projitems*{4588a759-3853-49b8-8a68-6c7917be9220}*SharedItemsImports = 4
SkiaSharp.Views.Forms\SkiaSharp.Views.Forms.Shared\SkiaSharp.Views.Forms.Shared.projitems*{4ac36d63-bf11-445f-81ee-107c0cef4fc9}*SharedItemsImports = 4
@ -91,11 +100,13 @@ Global
..\Binding\Binding\Binding.projitems*{c737dc80-5b71-4b26-a2dc-da30421788b0}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems*{cbca14e7-96c9-4697-909c-19b1ef7298f7}*SharedItemsImports = 13
SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.projitems*{e19ffaf3-31a4-4a52-8460-de0c00221439}*SharedItemsImports = 4
SkiaSharp.Extended\SkiaSharp.Extended.Shared\SkiaSharp.Extended.Shared.projitems*{e3290ce6-0ada-486b-9bab-8bcf07f9be45}*SharedItemsImports = 13
SkiaSharp.Views\SkiaSharp.Views.AppleiOS\SkiaSharp.Views.AppleiOS.projitems*{e5973829-6c8b-43e4-b81b-c8492df26c90}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.Apple\SkiaSharp.Views.Apple.projitems*{e5973829-6c8b-43e4-b81b-c8492df26c90}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{e5973829-6c8b-43e4-b81b-c8492df26c90}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.Shared\SkiaSharp.Views.Shared.projitems*{e5a90865-c185-45ad-88d1-6da7d6004b03}*SharedItemsImports = 4
..\Binding\Binding\Binding.projitems*{eb1bbdcc-fb07-40d5-8b9e-0079e2c2f2df}*SharedItemsImports = 4
SkiaSharp.Extended\SkiaSharp.Extended.Shared\SkiaSharp.Extended.Shared.projitems*{fea1fec9-950c-46c0-9eb0-a515e0ab8f19}*SharedItemsImports = 4
SkiaSharp.Views\SkiaSharp.Views.AppleiOS\SkiaSharp.Views.AppleiOS.projitems*{ff4c9f9f-7a6a-44d1-8338-d30e39e4e9d4}*SharedItemsImports = 13
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -187,6 +198,14 @@ Global
{E19FFAF3-31A4-4A52-8460-DE0C00221439}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E19FFAF3-31A4-4A52-8460-DE0C00221439}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E19FFAF3-31A4-4A52-8460-DE0C00221439}.Release|Any CPU.Build.0 = Release|Any CPU
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}.Release|Any CPU.Build.0 = Release|Any CPU
{36456F7F-388A-49E1-B9C5-CC2DEC82D2C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{36456F7F-388A-49E1-B9C5-CC2DEC82D2C2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{36456F7F-388A-49E1-B9C5-CC2DEC82D2C2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{36456F7F-388A-49E1-B9C5-CC2DEC82D2C2}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -219,5 +238,8 @@ Global
{4E0924F8-D546-4428-9412-4B9411FBA5FF} = {C335869B-7CC8-4239-B4A5-8031AA9758D3}
{E19FFAF3-31A4-4A52-8460-DE0C00221439} = {F9C7D51F-468C-4E58-BB75-2317DB99C8A7}
{B201E760-DB91-485C-A99A-814BDED90BDB} = {F9C7D51F-468C-4E58-BB75-2317DB99C8A7}
{E3290CE6-0ADA-486B-9BAB-8BCF07F9BE45} = {06F5DF49-E622-4A4C-8F01-0DB0E04721CE}
{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19} = {06F5DF49-E622-4A4C-8F01-0DB0E04721CE}
{36456F7F-388A-49E1-B9C5-CC2DEC82D2C2} = {06F5DF49-E622-4A4C-8F01-0DB0E04721CE}
EndGlobalSection
EndGlobal

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

@ -144,6 +144,9 @@
<Compile Include="..\Tests\SKSvgTest.cs">
<Link>SKSvgTest.cs</Link>
</Compile>
<Compile Include="..\Tests\SKGeometryTest.cs">
<Link>SKGeometryTest.cs</Link>
</Compile>
</ItemGroup>
<ItemGroup>
<Content Include="..\Content\fonts\content-font.ttf">
@ -216,6 +219,10 @@
<Project>{04C4399A-6740-4733-B6B7-F968232A76C8}</Project>
<Name>SkiaSharp.Svg</Name>
</ProjectReference>
<ProjectReference Include="..\..\source\SkiaSharp.Extended\SkiaSharp.Extended\SkiaSharp.Extended.csproj">
<Project>{FEA1FEC9-950C-46C0-9EB0-A515E0AB8F19}</Project>
<Name>SkiaSharp.Extended</Name>
</ProjectReference>
</ItemGroup>
<Import Project="..\..\binding\SkiaSharp.Desktop\bin\$(Configuration)\nuget\build\net45\SkiaSharp.Desktop.targets" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

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

@ -24,7 +24,8 @@
"dotnet-test-xunit": "2.2.0-preview2-build1029",
"SkiaSharp": "1.56.1",
"SkiaSharp.Svg": "1.56.1"
"SkiaSharp.Svg": "1.56.1",
"SkiaSharp.Extended": "1.56.1-beta"
},
"testRunner": "xunit",
"frameworks": {

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

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Xunit;
using SkiaSharp.Extended;
namespace SkiaSharp.Tests
{
public class SKGeometryTest : SKTest
{
[Fact]
public void GeometryGeneratesRectPath()
{
var rectPath = SKGeometry.CreateTrianglePath(100);
Assert.Equal(3, rectPath.PointCount);
}
}
}