This commit is contained in:
Peter Tribe 2020-08-14 19:12:42 -07:00
Родитель 0e9d993e98
Коммит 5f7be977d4
212 изменённых файлов: 341 добавлений и 956 удалений

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

@ -5,6 +5,5 @@
</activePackageSource>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="myget.org sixlabors" value="https://www.myget.org/F/sixlabors/api/v3/index.json" />
</packageSources>
</configuration>

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

@ -1,4 +1,4 @@
![](https://raw.githubusercontent.com/equinox2k/SVGSharpie/master/icons/logo-128.png)
![](https://raw.githubusercontent.com/ukoolabs/SVGSharpie/master/icons/logo-128.png)
# SVGSharpie
@ -16,9 +16,9 @@ Watch this space for news as development progresses.
| Package Name | NuGet |
|-------------------------------------|-----------------|
| `EquinoxLabs.SVGSharpie` | [![NuGet](https://img.shields.io/nuget/v/EquinoxLabs.SVGSharpie.svg)](https://www.nuget.org/packages/EquinoxLabs.SVGSharpie/) |
| `EquinoxLabs.SVGSharpie.ImageSharp` | [![NuGet](https://img.shields.io/nuget/v/EquinoxLabs.SVGSharpie.ImageSharp.svg)](https://www.nuget.org/packages/EquinoxLabs.SVGSharpie.ImageSharp/) |
| `EquinoxLabs.SVGSharpie.DynamicPDF` | [![NuGet](https://img.shields.io/nuget/v/EquinoxLabs.SVGSharpie.DynamicPDF.svg)](https://www.nuget.org/packages/EquinoxLabs.SVGSharpie.DynamicPDF/) |
| `UkooLabs.SVGSharpie` | [![NuGet](https://img.shields.io/nuget/v/UkooLabs.SVGSharpie.svg)](https://www.nuget.org/packages/UkooLabs.SVGSharpie/) |
| `UkooLabs.SVGSharpie.ImageSharp` | [![NuGet](https://img.shields.io/nuget/v/UkooLabs.SVGSharpie.ImageSharp.svg)](https://www.nuget.org/packages/UkooLabs.SVGSharpie.ImageSharp/) |
| `UkooLabs.SVGSharpie.DynamicPDF` | [![NuGet](https://img.shields.io/nuget/v/UkooLabs.SVGSharpie.DynamicPDF.svg)](https://www.nuget.org/packages/UkooLabs.SVGSharpie.DynamicPDF/) |
### Build Status

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

@ -2,15 +2,15 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28010.2016
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EquinoxLabs.SVGSharpie", "src\EquinoxLabs.SVGSharpie\EquinoxLabs.SVGSharpie.csproj", "{3A4E9949-3F70-4C63-BC13-EB296825C7C6}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UkooLabs.SVGSharpie", "src\UkooLabs.SVGSharpie\UkooLabs.SVGSharpie.csproj", "{3A4E9949-3F70-4C63-BC13-EB296825C7C6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EquinoxLabs.SVGSharpie.ImageSharp", "src\EquinoxLabs.SVGSharpie.ImageSharp\EquinoxLabs.SVGSharpie.ImageSharp.csproj", "{E4E9C756-3BDE-46B4-AEAD-9837A7316746}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UkooLabs.SVGSharpie.ImageSharp", "src\UkooLabs.SVGSharpie.ImageSharp\UkooLabs.SVGSharpie.ImageSharp.csproj", "{E4E9C756-3BDE-46B4-AEAD-9837A7316746}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EquinoxLabs.SVGSharpie.ImageSharp.Tests", "tests\EquinoxLabs.SvgSharpie.ImageSharp.Tests\EquinoxLabs.SVGSharpie.ImageSharp.Tests.csproj", "{FB682242-6C61-4A32-B5AA-FB85B9B95D83}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UkooLabs.SVGSharpie.ImageSharp.Tests", "tests\UkooLabs.SvgSharpie.ImageSharp.Tests\UkooLabs.SVGSharpie.ImageSharp.Tests.csproj", "{FB682242-6C61-4A32-B5AA-FB85B9B95D83}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EquinoxLabs.SVGSharpie.DynamicPDF", "src\EquinoxLabs.SVGSharpie.DynamicPDF\EquinoxLabs.SVGSharpie.DynamicPDF.csproj", "{905D48F1-195E-4A68-B1BA-A60B72EE3737}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UkooLabs.SVGSharpie.DynamicPDF", "src\UkooLabs.SVGSharpie.DynamicPDF\UkooLabs.SVGSharpie.DynamicPDF.csproj", "{905D48F1-195E-4A68-B1BA-A60B72EE3737}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EquinoxLabs.SVGSharpie.DynamicPDF.Tests", "tests\EquinoxLabs.SVGSharpie.DynamicPDF.Tests\EquinoxLabs.SVGSharpie.DynamicPDF.Tests.csproj", "{EC1CE2CF-698A-4D3D-BBD4-858DB05CD34F}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UkooLabs.SVGSharpie.DynamicPDF.Tests", "tests\UkooLabs.SVGSharpie.DynamicPDF.Tests\UkooLabs.SVGSharpie.DynamicPDF.Tests.csproj", "{EC1CE2CF-698A-4D3D-BBD4-858DB05CD34F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

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

@ -49,9 +49,9 @@ build_script:
# - ps: .\run-tests.ps1 $env:target_framework $env:is_32bit
after_test:
- cmd: appveyor PushArtifact "artifacts\EquinoxLabs.SVGSharpie.%APPVEYOR_BUILD_VERSION%.nupkg"
- cmd: appveyor PushArtifact "artifacts\EquinoxLabs.SVGSharpie.ImageSharp.%APPVEYOR_BUILD_VERSION%.nupkg"
- cmd: appveyor PushArtifact "artifacts\EquinoxLabs.SVGSharpie.DynamicPDF.%APPVEYOR_BUILD_VERSION%.nupkg"
- cmd: appveyor PushArtifact "artifacts\UkooLabs.SVGSharpie.%APPVEYOR_BUILD_VERSION%.nupkg"
- cmd: appveyor PushArtifact "artifacts\UkooLabs.SVGSharpie.ImageSharp.%APPVEYOR_BUILD_VERSION%.nupkg"
- cmd: appveyor PushArtifact "artifacts\UkooLabs.SVGSharpie.DynamicPDF.%APPVEYOR_BUILD_VERSION%.nupkg"
deploy:
provider: NuGet

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

@ -46,7 +46,7 @@ if ( ($targetFramework -eq "netcoreapp2.1") -and ($env:CI -eq "True") -and ($is3
$testRunnerCmd = ".\tests\CodeCoverage\CodeCoverage.cmd"
}
elseif ($targetFramework -eq "mono") {
$testDllPath = "$PSScriptRoot\tests\EquinoxLabs.SVGSharpie.ImageSharp.Tests\bin\Release\net462\EquinoxLabs.SVGSharpie.ImageSharp.Tests.dll"
$testDllPath = "$PSScriptRoot\tests\UkooLabs.SVGSharpie.ImageSharp.Tests\bin\Release\net462\UkooLabs.SVGSharpie.ImageSharp.Tests.dll"
VerifyPath($testDllPath, "test dll missing:")
$xunitRunnerPath = "${env:HOMEPATH}\.nuget\packages\xunit.runner.console\2.3.1\tools\net452\"
@ -67,7 +67,7 @@ elseif ($targetFramework -eq "mono") {
$testRunnerCmd = "& `"${monoPath}`" .\xunit.console.exe `"${testDllPath}`""
}
else {
cd .\tests\EquinoxLabs.SVGSharpie.ImageSharp.Tests
cd .\tests\UkooLabs.SVGSharpie.ImageSharp.Tests
$xunitArgs = "-nobuild -c Release -framework $targetFramework"
if ($targetFramework -eq "netcoreapp2.1") {

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

@ -2,7 +2,7 @@
using ceTe.DynamicPDF.IO;
using ceTe.DynamicPDF.PageElements;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core
namespace UkooLabs.SVGSharpie.DynamicPDF.Core
{
/// <summary>
/// Draws a rectangular clipping group around the child elements. All children will be clipped to the

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

@ -1,7 +1,7 @@
using ceTe.DynamicPDF.IO;
using ceTe.DynamicPDF.PageElements;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core
namespace UkooLabs.SVGSharpie.DynamicPDF.Core
{
/// <summary>
/// Represents a 'closepath' sub path command and writes the PDF 'h' operator

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

@ -2,7 +2,7 @@
using ceTe.DynamicPDF.IO;
using ceTe.DynamicPDF.PageElements;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core
namespace UkooLabs.SVGSharpie.DynamicPDF.Core
{
/// <summary>
/// Customized PDF path renderer, the base <see cref="Path"/> doesn't support fill rules other than non-zero

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core
namespace UkooLabs.SVGSharpie.DynamicPDF.Core
{
/// <summary>
/// Describes how a child element is horizontally positioned or stretched within a parent elements layout

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

@ -1,7 +1,7 @@
using ceTe.DynamicPDF.IO;
using ceTe.DynamicPDF.PageElements;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core
namespace UkooLabs.SVGSharpie.DynamicPDF.Core
{
/// <summary>
/// Represents a 'moveto' sub path command, when added to a <see cref="T:ceTe.DynamicPDF.PageElements.Path" />, is used to

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

@ -1,6 +1,6 @@
using System.Runtime.Serialization;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core
namespace UkooLabs.SVGSharpie.DynamicPDF.Core
{
/// <summary>
/// Describes the width, height and location of a rectangle

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

@ -1,6 +1,6 @@
using System;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core.Shading
namespace UkooLabs.SVGSharpie.DynamicPDF.Core.Shading
{
internal struct Circle : IEquatable<Circle>
{

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

@ -2,7 +2,7 @@
using ceTe.DynamicPDF;
using PdfColor = ceTe.DynamicPDF.Color;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core.Shading
namespace UkooLabs.SVGSharpie.DynamicPDF.Core.Shading
{
internal struct GradientColorStop : IEquatable<GradientColorStop>
{

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

@ -6,7 +6,7 @@ using ceTe.DynamicPDF;
using ceTe.DynamicPDF.IO;
using PdfColor = ceTe.DynamicPDF.Color;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core.Shading
namespace UkooLabs.SVGSharpie.DynamicPDF.Core.Shading
{
internal abstract class GradientShadingColor<T> : GradientShadingColor, IEquatable<T>
where T : GradientShadingColor<T>

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

@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Drawing;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core.Shading
namespace UkooLabs.SVGSharpie.DynamicPDF.Core.Shading
{
internal sealed class LinearGradientShadingColor : GradientShadingColor<LinearGradientShadingColor>
{

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

@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Drawing;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core.Shading
namespace UkooLabs.SVGSharpie.DynamicPDF.Core.Shading
{
internal sealed class RadialGradientShadingColor : GradientShadingColor<RadialGradientShadingColor>
{

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core.Shading
namespace UkooLabs.SVGSharpie.DynamicPDF.Core.Shading
{
internal enum ShadingType
{

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

@ -4,7 +4,7 @@ using System.Linq;
using ceTe.DynamicPDF.IO;
using PdfSpotColor = ceTe.DynamicPDF.SpotColor;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core
namespace UkooLabs.SVGSharpie.DynamicPDF.Core
{
internal sealed class SvgClipPathMaskWriterVisitor : SvgElementVisitor
{

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

@ -3,7 +3,7 @@ using ceTe.DynamicPDF;
using ceTe.DynamicPDF.IO;
using PdfSpotColor = ceTe.DynamicPDF.SpotColor;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core
namespace UkooLabs.SVGSharpie.DynamicPDF.Core
{
internal sealed class SvgClipPathPageElement : PageElement
{

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

@ -3,10 +3,10 @@ using System.Collections.Generic;
using System.Linq;
using ceTe.DynamicPDF;
using ceTe.DynamicPDF.PageElements;
using EquinoxLabs.SVGSharpie.DynamicPDF.Extensions;
using UkooLabs.SVGSharpie.DynamicPDF.Extensions;
using PdfSpotColor = ceTe.DynamicPDF.SpotColor;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core
namespace UkooLabs.SVGSharpie.DynamicPDF.Core
{
/// <inheritdoc />
/// <summary>

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

@ -4,7 +4,7 @@ using ceTe.DynamicPDF.IO;
using ceTe.DynamicPDF.PageElements;
using PdfSpotColor = ceTe.DynamicPDF.SpotColor;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core
namespace UkooLabs.SVGSharpie.DynamicPDF.Core
{
/// <summary>
/// Represents a DynamicPdf graphical <see cref="PageElement"/> where the

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

@ -2,12 +2,12 @@
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using EquinoxLabs.SVGSharpie.DynamicPDF.Extensions;
using UkooLabs.SVGSharpie.DynamicPDF.Extensions;
using Color = ceTe.DynamicPDF.Color;
using EquinoxLabs.SVGSharpie.DynamicPDF.Core.Shading;
using UkooLabs.SVGSharpie.DynamicPDF.Core.Shading;
using PdfSpotColor = ceTe.DynamicPDF.SpotColor;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core
namespace UkooLabs.SVGSharpie.DynamicPDF.Core
{
internal sealed class SvgPaintServerToDynamicPdfColorConverter
{

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

@ -4,9 +4,9 @@ using System.Linq;
using ceTe.DynamicPDF;
using ceTe.DynamicPDF.PageElements;
using PdfSpotColor = ceTe.DynamicPDF.SpotColor;
using EquinoxLabs.SVGSharpie.DynamicPDF.Extensions;
using UkooLabs.SVGSharpie.DynamicPDF.Extensions;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core
namespace UkooLabs.SVGSharpie.DynamicPDF.Core
{
/// <summary>
/// Transforms path segments composed only of <see cref="SvgPathSegCurvetoCubicAbs"/>, <see cref="SvgPathSegLinetoAbs"/>

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

@ -1,7 +1,7 @@
using System;
using System.Drawing;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core
namespace UkooLabs.SVGSharpie.DynamicPDF.Core
{
internal sealed class VectorElementPdfPageViewport
{

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Core
namespace UkooLabs.SVGSharpie.DynamicPDF.Core
{
public enum VerticalAlignment
{

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

@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Extensions
namespace UkooLabs.SVGSharpie.DynamicPDF.Extensions
{
internal static class CollectionExtensions
{

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

@ -2,7 +2,7 @@
using PdfRgbColor = ceTe.DynamicPDF.RgbColor;
using PdfSpotColor = ceTe.DynamicPDF.SpotColor;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Extensions
namespace UkooLabs.SVGSharpie.DynamicPDF.Extensions
{
internal static class ColorExtensions
{

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

@ -3,7 +3,7 @@ using System.Collections.Generic;
using ceTe.DynamicPDF;
using ceTe.DynamicPDF.PageElements;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Extensions
namespace UkooLabs.SVGSharpie.DynamicPDF.Extensions
{
internal static class DynamicPdfPageElementExtensions
{

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

@ -1,7 +1,7 @@
using System;
using ceTe.DynamicPDF;
namespace EquinoxLabs.SVGSharpie.DynamicPDF.Extensions
namespace UkooLabs.SVGSharpie.DynamicPDF.Extensions
{
internal static class SvgEnumConversionExtensions
{

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

@ -1,8 +1,8 @@
using ceTe.DynamicPDF;
using EquinoxLabs.SVGSharpie.DynamicPDF.Core;
using UkooLabs.SVGSharpie.DynamicPDF.Core;
using PdfSpotColor = ceTe.DynamicPDF.SpotColor;
namespace EquinoxLabs.SVGSharpie.DynamicPDF
namespace UkooLabs.SVGSharpie.DynamicPDF
{
public static class Renderer
{

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

@ -2,11 +2,11 @@
<PropertyGroup>
<AssemblyTitle>EquinoxLabs.SVGSharpie.DynamicPDF</AssemblyTitle>
<Authors>EquinoxLabs and contributors</Authors>
<AssemblyTitle>UkooLabs.SVGSharpie.DynamicPDF</AssemblyTitle>
<Authors>UkooLabs and contributors</Authors>
<Company>Equinox Labs</Company>
<Copyright>Copyright (c) Equinox Labs and contributors.</Copyright>
<Product>EquinoxLabs.SVGSharpie.DynamicPDF</Product>
<Product>UkooLabs.SVGSharpie.DynamicPDF</Product>
<Description>A cross-platform library for rendering SVG files using SVGSharpie and DynamicPDF; written in C#</Description>
<NeutralLanguage>en</NeutralLanguage>
@ -15,8 +15,8 @@
<TargetFrameworks>net462</TargetFrameworks>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<AssemblyName>EquinoxLabs.SVGSharpie.DynamicPDF</AssemblyName>
<PackageId>EquinoxLabs.SVGSharpie.DynamicPDF</PackageId>
<AssemblyName>UkooLabs.SVGSharpie.DynamicPDF</AssemblyName>
<PackageId>UkooLabs.SVGSharpie.DynamicPDF</PackageId>
<PackageTags>SVG Render Core DynamicPDF</PackageTags>
<PackageIconUrl>https://raw.githubusercontent.com/equinox2k/SVGSharpie/master/icons/logo-128.png</PackageIconUrl>
<PackageProjectUrl>https://github.com/equinox2k/SVGSharpie</PackageProjectUrl>
@ -42,7 +42,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\EquinoxLabs.SVGSharpie\EquinoxLabs.SVGSharpie.csproj" />
<ProjectReference Include="..\UkooLabs.SVGSharpie\UkooLabs.SVGSharpie.csproj" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">

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

@ -1,19 +1,20 @@
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
using EquinoxLabs.SVGSharpie;
namespace EquinoxLabs.SVGSharpie.ImageSharp.Dom
using UkooLabs.SVGSharpie;
using SixLabors.ImageSharp.Drawing.Processing;
namespace UkooLabs.SVGSharpie.ImageSharp.Dom
{
internal sealed class BrushGenerator<TPixel> : SvgPaintServerVisitor<IBrush<TPixel>>
where TPixel : struct, IPixel<TPixel>
internal sealed class BrushGenerator<TPixel> : SvgPaintServerVisitor<IBrush>
where TPixel : unmanaged, IPixel<TPixel>
{
public static BrushGenerator<TPixel> Instance { get; } = new BrushGenerator<TPixel>();
public override IBrush<TPixel> VisitSolidColorPaintServer(SvgSolidColorPaintServer paintServer)
public override IBrush VisitSolidColorPaintServer(SvgSolidColorPaintServer paintServer)
{
// lets asume the brush is a color for now
// TODO update ColourBuilder to expose named colors
var color = paintServer.Color.As<TPixel>(paintServer.Opacity);
return new SolidBrush<TPixel>(color);
var color = paintServer.Color.As<Rgba32>(paintServer.Opacity);
return new SolidBrush(color);
}
}

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

@ -1,10 +1,10 @@
using SixLabors.Fonts;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.Shapes;
using EquinoxLabs.SVGSharpie;
using UkooLabs.SVGSharpie;
using System.Numerics;
namespace EquinoxLabs.SVGSharpie.ImageSharp.Dom
using SixLabors.ImageSharp.Drawing;
namespace UkooLabs.SVGSharpie.ImageSharp.Dom
{
internal static class Extensions
{
@ -13,7 +13,7 @@ namespace EquinoxLabs.SVGSharpie.ImageSharp.Dom
return new Matrix3x2(matrix.A, matrix.B, matrix.C, matrix.D, matrix.E, matrix.F);
}
public static TPixel As<TPixel>(this SvgColor value, float opactiy) where TPixel : struct, IPixel<TPixel>
public static TPixel As<TPixel>(this SvgColor value, float opactiy) where TPixel : unmanaged, IPixel<TPixel>
{
var colorRgb = new Rgba32(value.R, value.G, value.B, (byte)(opactiy * value.A));

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

@ -3,14 +3,14 @@ using System.Threading.Tasks;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
using SixLabors.Shapes;
using EquinoxLabs.SVGSharpie.ImageSharp.Shapes;
using EquinoxLabs.SVGSharpie;
namespace EquinoxLabs.SVGSharpie.ImageSharp.Dom
using UkooLabs.SVGSharpie.ImageSharp.Shapes;
using UkooLabs.SVGSharpie;
using SixLabors.ImageSharp.Drawing;
namespace UkooLabs.SVGSharpie.ImageSharp.Dom
{
internal sealed partial class SvgDocumentRenderer<TPixel> : SvgElementWalker
where TPixel : struct, IPixel<TPixel>
where TPixel : unmanaged, IPixel<TPixel>
{
public override void VisitCircleElement(SvgCircleElement element)
{

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

@ -4,15 +4,14 @@ using System.Threading.Tasks;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
using SixLabors.Primitives;
using SixLabors.Shapes;
using EquinoxLabs.SVGSharpie.ImageSharp.Shapes;
using EquinoxLabs.SVGSharpie;
namespace EquinoxLabs.SVGSharpie.ImageSharp.Dom
using UkooLabs.SVGSharpie.ImageSharp.Shapes;
using UkooLabs.SVGSharpie;
using SixLabors.ImageSharp.Drawing;
namespace UkooLabs.SVGSharpie.ImageSharp.Dom
{
internal sealed partial class SvgDocumentRenderer<TPixel> : SvgElementWalker
where TPixel : struct, IPixel<TPixel>
where TPixel : unmanaged, IPixel<TPixel>
{
private void RenderPathSegList(SvgGraphicsElement element, SvgPathSegList segs)
@ -93,7 +92,7 @@ namespace EquinoxLabs.SVGSharpie.ImageSharp.Dom
// ReSharper disable once InconsistentNaming
private readonly PathBuilder builder;
private readonly List<IPath> paths = new List<IPath>();
private PointF currentPoint = default(PointF);
private PointF currentPoint = default;
private PointF initalPoint = default;
private PointF lastCubicControlPoint = default;
private PointF lastQuadriticControlPoint = default;

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

@ -3,14 +3,13 @@ using System.Threading.Tasks;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
using SixLabors.Shapes;
using EquinoxLabs.SVGSharpie.ImageSharp.Shapes;
using EquinoxLabs.SVGSharpie;
using UkooLabs.SVGSharpie.ImageSharp.Shapes;
using UkooLabs.SVGSharpie;
namespace EquinoxLabs.SVGSharpie.ImageSharp.Dom
namespace UkooLabs.SVGSharpie.ImageSharp.Dom
{
internal sealed partial class SvgDocumentRenderer<TPixel> : SvgElementWalker
where TPixel : struct, IPixel<TPixel>
where TPixel : unmanaged, IPixel<TPixel>
{
public override void VisitRectElement(SvgRectElement element)
{

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

@ -4,14 +4,15 @@ using System.Threading.Tasks;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
using SixLabors.Shapes;
using EquinoxLabs.SVGSharpie.ImageSharp.Shapes;
using EquinoxLabs.SVGSharpie;
namespace EquinoxLabs.SVGSharpie.ImageSharp.Dom
using UkooLabs.SVGSharpie.ImageSharp.Shapes;
using UkooLabs.SVGSharpie;
using SixLabors.ImageSharp.Drawing;
using SixLabors.ImageSharp.Drawing.Processing;
namespace UkooLabs.SVGSharpie.ImageSharp.Dom
{
internal sealed partial class SvgDocumentRenderer<TPixel> : SvgElementWalker
where TPixel : struct, IPixel<TPixel>
where TPixel : unmanaged, IPixel<TPixel>
{
private void RenderShapeToCanvas(SvgGraphicsElement svgGraphicsElement, IPath path)
{
@ -19,7 +20,7 @@ namespace EquinoxLabs.SVGSharpie.ImageSharp.Dom
var brush = svgGraphicsElement.CreateFillPaintServer()?.Accept(BrushGenerator<TPixel>.Instance);
IBrush<TPixel> strokFill = null;
IBrush strokFill = null;
IPath outline = null;
if (svgGraphicsElement.StrokeWidth > 0)
{
@ -41,16 +42,19 @@ namespace EquinoxLabs.SVGSharpie.ImageSharp.Dom
joint, end);
}
}
}
}
var shapeOptions = new ShapeOptions { IntersectionRule = IntersectionRule.Nonzero };
var shapeGraphicsOptions = new ShapeGraphicsOptions(new GraphicsOptions(), shapeOptions);
if (brush != null)
{
image.Fill(brush, path.Transform(matrix));
image.Fill(shapeGraphicsOptions, brush, path.Transform(matrix));
}
if (outline != null && strokFill != null)
{
image.Fill( strokFill, outline.Transform(matrix));
image.Fill(shapeGraphicsOptions, strokFill, outline.Transform(matrix));
}
}
}

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

@ -6,16 +6,14 @@ using SixLabors.Fonts;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
using SixLabors.Primitives;
using SixLabors.Shapes;
using SixLabors.Shapes.Text;
using EquinoxLabs.SVGSharpie.ImageSharp.Shapes;
using EquinoxLabs.SVGSharpie;
namespace EquinoxLabs.SVGSharpie.ImageSharp.Dom
using UkooLabs.SVGSharpie.ImageSharp.Shapes;
using UkooLabs.SVGSharpie;
using SixLabors.ImageSharp.Drawing;
namespace UkooLabs.SVGSharpie.ImageSharp.Dom
{
internal sealed partial class SvgDocumentRenderer<TPixel> : SvgElementWalker
where TPixel : struct, IPixel<TPixel>
where TPixel : unmanaged, IPixel<TPixel>
{
public static string DefaultFont { get; set; } = "Times New Roman";
public static string DefaultSansSerifFont { get; set; } = "Arial";

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

@ -4,21 +4,19 @@ using System.Threading.Tasks;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
using SixLabors.Primitives;
using SixLabors.Shapes;
using EquinoxLabs.SVGSharpie.ImageSharp.Dom;
using EquinoxLabs.SVGSharpie;
using UkooLabs.SVGSharpie.ImageSharp.Dom;
using UkooLabs.SVGSharpie;
namespace EquinoxLabs.SVGSharpie.ImageSharp.Dom
namespace UkooLabs.SVGSharpie.ImageSharp.Dom
{
internal sealed partial class SvgDocumentRenderer<TPixel> : SvgElementWalker
where TPixel : struct, IPixel<TPixel>
where TPixel : unmanaged, IPixel<TPixel>
{
private Matrix3x2 activeMatrix = Matrix3x2.Identity;
private readonly Vector2 size;
private readonly IImageProcessingContext<TPixel> image;
private readonly IImageProcessingContext image;
public SvgDocumentRenderer(SizeF size, IImageProcessingContext<TPixel> image)
public SvgDocumentRenderer(SizeF size, IImageProcessingContext image)
{
this.size = size;
this.image = image;

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

@ -1,12 +1,12 @@
using SixLabors.Primitives;
using SixLabors.Shapes;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Drawing;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using System.Text;
namespace EquinoxLabs.SVGSharpie.ImageSharp.Shapes
namespace UkooLabs.SVGSharpie.ImageSharp.Shapes
{
public class ArcLineSegemnt : ILineSegment
{

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

@ -1,11 +1,10 @@
using SixLabors.Primitives;
using SixLabors.Shapes;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Drawing;
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Text;
namespace EquinoxLabs.SVGSharpie.ImageSharp.Shapes
namespace UkooLabs.SVGSharpie.ImageSharp.Shapes
{
public class RoundedRect : IPath
{
@ -96,6 +95,16 @@ namespace EquinoxLabs.SVGSharpie.ImageSharp.Shapes
public IPath Transform(Matrix3x2 matrix)
{
return this.innerPath.Transform(matrix);
}
}
public int FindIntersections(PointF start, PointF end, PointF[] buffer, int offset, IntersectionRule intersectionRule)
{
return this.innerPath.FindIntersections(start, end, buffer, offset, intersectionRule);
}
public int FindIntersections(PointF start, PointF end, Span<PointF> buffer, IntersectionRule intersectionRule)
{
return this.innerPath.FindIntersections(start, end, buffer, intersectionRule);
}
}
}

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

@ -1,10 +1,10 @@
using System;
using EquinoxLabs.SVGSharpie.ImageSharp.Dom;
using UkooLabs.SVGSharpie.ImageSharp.Dom;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
namespace EquinoxLabs.SVGSharpie.ImageSharp
namespace UkooLabs.SVGSharpie.ImageSharp
{
/// <summary>
/// SVG image renderer
@ -17,7 +17,7 @@ namespace EquinoxLabs.SVGSharpie.ImageSharp
/// <typeparam name="TPixel"></typeparam>
/// <param name="content"></param>
/// <returns></returns>
public static Image<TPixel> RenderFromString<TPixel>(string content) where TPixel : struct, IPixel<TPixel>
public static Image<TPixel> RenderFromString<TPixel>(string content) where TPixel : unmanaged, IPixel<TPixel>
{
var document = SvgDocument.Parse(content);
return RenderInner<TPixel>(document, null, null);
@ -31,7 +31,7 @@ namespace EquinoxLabs.SVGSharpie.ImageSharp
/// <param name="width"></param>
/// <param name="height"></param>
/// <returns></returns>
public static Image<TPixel> RenderFromString<TPixel>(string content, int width, int height) where TPixel : struct, IPixel<TPixel>
public static Image<TPixel> RenderFromString<TPixel>(string content, int width, int height) where TPixel : unmanaged, IPixel<TPixel>
{
var document = SvgDocument.Parse(content);
return RenderInner<TPixel>(document, width, height);
@ -43,7 +43,7 @@ namespace EquinoxLabs.SVGSharpie.ImageSharp
/// <typeparam name="TPixel"></typeparam>
/// <param name="document"></param>
/// <returns></returns>
public static Image<TPixel> RenderFromDocument<TPixel>(SvgDocument document) where TPixel : struct, IPixel<TPixel>
public static Image<TPixel> RenderFromDocument<TPixel>(SvgDocument document) where TPixel : unmanaged, IPixel<TPixel>
{
return RenderInner<TPixel>(document, null, null);
}
@ -56,12 +56,12 @@ namespace EquinoxLabs.SVGSharpie.ImageSharp
/// <param name="width"></param>
/// <param name="height"></param>
/// <returns></returns>
public static Image<TPixel> RenderFromDocument<TPixel>(SvgDocument document, int width, int height) where TPixel : struct, IPixel<TPixel>
public static Image<TPixel> RenderFromDocument<TPixel>(SvgDocument document, int width, int height) where TPixel : unmanaged, IPixel<TPixel>
{
return RenderInner<TPixel>(document, width, height);
}
private static Image<TPixel> RenderInner<TPixel>(SvgDocument document, int? targetWidth, int? targetHeight) where TPixel : struct, IPixel<TPixel>
private static Image<TPixel> RenderInner<TPixel>(SvgDocument document, int? targetWidth, int? targetHeight) where TPixel : unmanaged, IPixel<TPixel>
{
float? width = targetWidth ?? document.RootElement.ViewWidth;
float? height = targetHeight ?? document.RootElement.ViewHeight;

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

@ -2,11 +2,11 @@
<PropertyGroup>
<AssemblyTitle>EquinoxLabs.SVGSharpie.ImageSharp</AssemblyTitle>
<Authors>EquinoxLabs and contributors</Authors>
<AssemblyTitle>UkooLabs.SVGSharpie.ImageSharp</AssemblyTitle>
<Authors>UkooLabs and contributors</Authors>
<Company>Equinox Labs</Company>
<Copyright>Copyright (c) Equinox Labs and contributors.</Copyright>
<Product>EquinoxLabs.SVGSharpie.ImageSharp</Product>
<Product>UkooLabs.SVGSharpie.ImageSharp</Product>
<Description>A cross-platform library for rendering SVG files using SVGSharpie and ImageSharp; written in C#</Description>
<NeutralLanguage>en</NeutralLanguage>
@ -15,8 +15,8 @@
<TargetFrameworks>netcoreapp2.1;netstandard1.3;netstandard2.0;net472</TargetFrameworks>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<AssemblyName>EquinoxLabs.SVGSharpie.ImageSharp</AssemblyName>
<PackageId>EquinoxLabs.SVGSharpie.ImageSharp</PackageId>
<AssemblyName>UkooLabs.SVGSharpie.ImageSharp</AssemblyName>
<PackageId>UkooLabs.SVGSharpie.ImageSharp</PackageId>
<PackageTags>SVG Render Core ImageSharp</PackageTags>
<PackageIconUrl>https://raw.githubusercontent.com/equinox2k/SVGSharpie/master/icons/logo-128.png</PackageIconUrl>
<PackageProjectUrl>https://github.com/equinox2k/SVGSharpie</PackageProjectUrl>
@ -32,13 +32,11 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="SixLabors.ImageSharp.Drawing" Version="1.0.0-dev002362" />
<PackageReference Include="SixLabors.Shapes" Version="1.0.0-dev000112" />
<PackageReference Include="SixLabors.Shapes.Text" Version="1.0.0-dev000112" />
<PackageReference Include="SixLabors.ImageSharp.Drawing" Version="1.0.0-beta0010" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\EquinoxLabs.SVGSharpie\EquinoxLabs.SVGSharpie.csproj" />
<ProjectReference Include="..\UkooLabs.SVGSharpie\UkooLabs.SVGSharpie.csproj" />
</ItemGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">

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

@ -1,6 +1,6 @@
using System;
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
/// <inheritdoc cref="ICssSelector" />
/// <summary>

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
/// <summary>
/// Describes how to match an <see cref="CssAttributeSelector"/> and its value to an elements attribute

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
public enum CssAttributeSelectorValueType
{

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
public enum CssCombinatorType
{

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

@ -1,7 +1,7 @@
using System;
using System.Linq;
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
/// <summary>
/// Represents a sequence of one or more <see cref="CssCompoundSelector"/> separated by <see cref="CssCombinatorType"/>s

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

@ -1,6 +1,6 @@
using System;
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
/// <summary>
/// Describes a single item of a <see cref="CssComplexSelector"/>

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

@ -1,7 +1,7 @@
using System;
using System.Linq;
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
/// <summary>
/// Represents a compound selector, which is a sequence of simple selectors that are not separated by a combinator.

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

@ -1,6 +1,6 @@
using System.Xml.Serialization;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
/// <summary>
/// Specifies how an element is to be displayed

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

@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
/// <summary>
/// Represents a functional pseudo-class

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

@ -1,6 +1,6 @@
using System;
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
public class CssParserException : Exception
{

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
public abstract class CssPseudoClass
{

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
public enum CssPseudoClassType
{

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

@ -1,6 +1,6 @@
using System;
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
/// <summary>
/// Represents a name explicitly located within (associated with) a namespace. To form a qualified name in CSS

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
/// <inheritdoc />
public abstract class CssSelector : ICssSelector

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

@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
/// <inheritdoc />
/// <summary>

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
public enum CssSelectorType
{

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

@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
public class CssSelectorVisitor
{

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

@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
public sealed class CssSimpleSelector : CssSelector
{

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
public enum CssSimpleSelectorType
{

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

@ -1,6 +1,6 @@
using System;
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
public struct CssSpecificity
{

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

@ -1,7 +1,7 @@
using System;
using System.Text;
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
internal sealed class CssStringStreamReader
{

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

@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
/// <summary>
/// Represents a structural pseudo-class

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

@ -1,6 +1,6 @@
using System;
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
public struct CssStylePropertyValue
{

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

@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
public sealed class CssStyleRule
{

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

@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
public sealed class CssStyleRulesList : List<CssStyleRule>
{

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

@ -1,7 +1,7 @@
using System.Collections.Generic;
using System.Text;
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
internal static class CssStyleRulesParser
{

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

@ -1,6 +1,6 @@
using System.Xml.Serialization;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
/// <summary>
/// Specifies how an text is to be renderd

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
/// <summary>
/// Represents a user action pseudo-class

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

@ -1,6 +1,6 @@
using System.Xml.Serialization;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
/// <summary>
/// Specifies how an element is to be displayed

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie.Css
namespace UkooLabs.SVGSharpie.Css
{
/// <summary>
/// Represents a structure that can be used as a condition (e.g. in a CSS rule) that determines which elements a

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

@ -1,6 +1,6 @@
using System;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
internal static class DisposableExtensions
{

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

@ -1,6 +1,6 @@
using System;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
public static class SvgFitToViewboxExtensions
{

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
public interface ISvgElementComputedStyle
{

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
/// <summary>
/// Defines attributes that apply to elements which have XML attributes viewBox and preserveAspectRatio.

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
public interface ISvgPathSegCurve1
{

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
public interface ISvgPathSegCurve2
{

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

@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
/// <summary>
/// Represents a paint server which interpolates a color through two or more color stops

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

@ -1,6 +1,6 @@
using System;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
/// <summary>
/// Represents a gradient color stop, a color value at an offset between 0..1

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

@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
/// <summary>
/// Represents a paint server which linearly interpolates a color through two or more color stops

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
/// <summary>
/// SVG Paint servers allow the fill and stroke of an object to be defined elsewhere

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

@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Linq;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
internal static class SvgPaintServerFactory
{

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
public enum SvgPaintServerType
{

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
/// <summary>
/// Represents a visitor that only visits the single <see cref="SvgElement">Node</see> passed into its Visit method.

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

@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
/// <summary>
/// Represents a paint server which radially interpolates a color through two or more color stops

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
/// <summary>
/// Represents a paint server that provides a single color with opacity

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
public struct StyleProperty<T>
{

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

@ -1,6 +1,6 @@
using System.Xml.Serialization;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
/// <inheritdoc />
/// <summary>

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

@ -1,7 +1,7 @@
using System.Text;
using System.Xml.Serialization;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
/// <summary>
/// The SVGClipPathElement interface corresponds to the clipPath element.

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

@ -1,4 +1,4 @@
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
public struct SvgColor
{

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

@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Globalization;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
public static class SvgColorTranslator
{

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

@ -2,7 +2,7 @@
using System.Linq;
using System.Xml.Serialization;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
/// <inheritdoc />
/// <summary>

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

@ -1,6 +1,6 @@
using System.Xml.Serialization;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
/// <inheritdoc />
/// <summary>

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

@ -3,7 +3,7 @@ using System.IO;
using System.Linq;
using System.Xml.Serialization;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
/// <summary>
/// Represents the root object of the document object model hierarchy.

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

@ -3,9 +3,9 @@ using System.Collections.Generic;
using System.Linq;
using System.Xml;
using System.Xml.Serialization;
using EquinoxLabs.SVGSharpie.Css;
using UkooLabs.SVGSharpie.Css;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
/// <summary>
/// All of the SVG DOM interfaces that correspond directly to elements in the SVG language derive from the SVGElement interface.

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

@ -2,7 +2,7 @@
using System.Linq.Expressions;
using System.Reflection;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
/// <summary>
/// Represents the style computed for an SVG element based on a set of matching style data

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

@ -3,9 +3,9 @@ using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Xml.Serialization;
using EquinoxLabs.SVGSharpie.Css;
using UkooLabs.SVGSharpie.Css;
namespace EquinoxLabs.SVGSharpie
namespace UkooLabs.SVGSharpie
{
internal sealed class SvgElementCssSelectorMatcher : CssSelectorVisitor<bool>
{

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше