diff --git a/GitVersion.yml b/GitVersion.yml
new file mode 100644
index 000000000..914437bae
--- /dev/null
+++ b/GitVersion.yml
@@ -0,0 +1,15 @@
+# to create a new package you create a new release/tag
+# in github appveyor will build it without the -cixxx tag
+# it will then be deployable cleanly to nuget.org
+
+next-version: 1.0.0
+legacy-semver-padding: 6
+branches:
+ master:
+ tag: alpha-
+ mode: ContinuousDeployment
+ increment: Minor
+ prevent-increment-of-merged-branch-version: false
+ track-merge-target: true
+ignore:
+ sha: []
\ No newline at end of file
diff --git a/ImageSharp.sln b/ImageSharp.sln
index e949d1d57..01854bda1 100644
--- a/ImageSharp.sln
+++ b/ImageSharp.sln
@@ -33,6 +33,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Source", "Source", "{815C06
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{56801022-D71A-4FBE-BC5B-CBA08E2284EC}"
EndProject
+Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "ImageSharp.Drawing", "src\ImageSharp.Drawing\ImageSharp.Drawing.xproj", "{2E33181E-6E28-4662-A801-E2E7DC206029}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -51,6 +53,10 @@ Global
{299D8E18-102C-42DE-ADBF-79098EE706A8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{299D8E18-102C-42DE-ADBF-79098EE706A8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{299D8E18-102C-42DE-ADBF-79098EE706A8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2E33181E-6E28-4662-A801-E2E7DC206029}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2E33181E-6E28-4662-A801-E2E7DC206029}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2E33181E-6E28-4662-A801-E2E7DC206029}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2E33181E-6E28-4662-A801-E2E7DC206029}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -59,5 +65,6 @@ Global
{2AA31A1F-142C-43F4-8687-09ABCA4B3A26} = {815C0625-CD3D-440F-9F80-2D83856AB7AE}
{F836E8E6-B4D9-4208-8346-140C74678B91} = {56801022-D71A-4FBE-BC5B-CBA08E2284EC}
{299D8E18-102C-42DE-ADBF-79098EE706A8} = {56801022-D71A-4FBE-BC5B-CBA08E2284EC}
+ {2E33181E-6E28-4662-A801-E2E7DC206029} = {815C0625-CD3D-440F-9F80-2D83856AB7AE}
EndGlobalSection
EndGlobal
diff --git a/appveyor.yml b/appveyor.yml
index ea1a585b0..952720a78 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -9,6 +9,7 @@ environment:
version_suffix: alpha
install:
+- choco install gitversion.portable -pre -y
# Use the install script to grab the latest dotnet install
- ps: iex .\dotnet-latest.ps1
@@ -17,31 +18,11 @@ install:
# the parent CMD process).
- "SET PATH=C:\\Program Files\\dotnet\\bin;%PATH%"
-- ps: .\build\appveyor-semver.ps1
-- ps: Update-AppveyorBuild -Version "v$Env:appveyor_version"
-
-assembly_info:
- patch: true
- file: '**\AssemblyInfo.*'
- assembly_version: '$(ms_file_version)'
- assembly_file_version: '$(ms_file_version)'
- assembly_informational_version: '$(mssemver)'
-
before_build:
-- cmd: >-
- dotnet restore src\ImageSharp
-
- cd build
-
- npm install
-
- node appveyor-project-version-patch.js
-
- cd..
+- ps: gitversion /l console /output buildserver /updateAssemblyInfo
build_script:
-- cmd: >-
- dotnet pack src\ImageSharp --configuration Release --output "artifacts\bin\ImageSharp"
+- cmd: build.cmd
test_script:
- tests\CodeCoverage\CodeCoverage.cmd
diff --git a/build.cmd b/build.cmd
new file mode 100644
index 000000000..6a52e0820
--- /dev/null
+++ b/build.cmd
@@ -0,0 +1,37 @@
+
+
+@echo Off
+ECHO Starting build
+
+call build\config.cmd
+
+ECHO Restoring packages
+for %%s in (%projects%) do dotnet restore %%s
+
+call build\update-versions.cmd
+
+set buildRoot="%~dp0"
+SET cli=dotnet pack --configuration Release --output "artifacts\bin\ImageSharp"
+where gitversion
+if not "%errorlevel%"=="0" (
+ REM gitversion was not availible lets make a local build
+ SET cli=%cli% --version-suffix "local-build"
+)
+
+ECHO Building packages
+for %%s in (%projects%) do %cli% %%s
+
+REM reset local version numbers
+call build\reset-versions.cmd
+
+:success
+ECHO successfully built project
+REM exit 0
+goto end
+
+:failure
+ECHO failed to build.
+REM exit -1
+goto end
+
+:end
diff --git a/build/appveyor-project-version-patch.js b/build/appveyor-project-version-patch.js
deleted file mode 100644
index 705a8bfa6..000000000
--- a/build/appveyor-project-version-patch.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var jsonfile = require("jsonfile");
-var semver = require("semver");
-
-var file = "../src/imagesharp/project.json";
-
-var semversion = semver.valid(process.env.mssemver);
-
-jsonfile.readFile(file, function (err, project) {
- project.version = semversion;
- jsonfile.writeFile(file, project, {spaces: 2}, function(err) {
- console.error(err);
- });
-})
\ No newline at end of file
diff --git a/build/appveyor-semver.ps1 b/build/appveyor-semver.ps1
deleted file mode 100644
index e8045e42e..000000000
--- a/build/appveyor-semver.ps1
+++ /dev/null
@@ -1,17 +0,0 @@
-$version=[Version]$Env:APPVEYOR_BUILD_VERSION
-$version_suffix=$Env:version_suffix
-
-$basever=$version.Major.ToString() + "." + $version.Minor.ToString() + "." + $version.Build.ToString()
-
-$semver = $basever + "-" + $version_suffix + "." + $version.Revision.ToString().PadLeft(6,"0")
-$mssemver = $basever + "-" + $version_suffix + "-" + $version.Revision.ToString().PadLeft(6,"0")
-$appveyor_version = $mssemver
-
-$Env:semver = $semver
-$Env:mssemver = $mssemver
-$Env:appveyor_version = $appveyor_version
-$Env:ms_file_version = $version.ToString()
-
-"Envrionment variable 'semver' set:" + $Env:semver
-"Envrionment variable 'mssemver' set:" + $Env:mssemver
-"Envrionment variable 'appveyor_version' set:" + $Env:appveyor_version
\ No newline at end of file
diff --git a/build/config.cmd b/build/config.cmd
new file mode 100644
index 000000000..1619c2b1c
--- /dev/null
+++ b/build/config.cmd
@@ -0,0 +1,8 @@
+@echo Off
+REM ======================
+REM = Configure settings =
+
+REM Space seperated list of projects to version and package
+SET projects=".\src\ImageSharp" ".\src\ImageSharp.Drawing"
+
+REM ======================
\ No newline at end of file
diff --git a/build/package.json b/build/package.json
deleted file mode 100644
index 59cc96e92..000000000
--- a/build/package.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "dependencies": {
- "jsonfile": "^2.2.3",
- "semver": "^5.0.3"
- }
-}
diff --git a/build/reset-versions.cmd b/build/reset-versions.cmd
new file mode 100644
index 000000000..0be7817da
--- /dev/null
+++ b/build/reset-versions.cmd
@@ -0,0 +1,25 @@
+
+
+@echo Off
+REM include project configs
+call %~dp0\config.cmd
+
+set buildRoot="%cd%"
+
+ECHO Reseting build version numbers
+for %%s in (%projects%) do (
+ cd %%s
+ ECHO %GitVersion_NuGetVersion%
+ dotnet version "1.0.0-*"
+ cd %buildRoot%
+)
+
+:success
+REM exit 0
+goto end
+
+:failure
+REM exit -1
+goto end
+
+:end
diff --git a/build/update-versions.cmd b/build/update-versions.cmd
new file mode 100644
index 000000000..9847144b4
--- /dev/null
+++ b/build/update-versions.cmd
@@ -0,0 +1,41 @@
+
+
+@echo Off
+REM include project configs
+call %~dp0\config.cmd
+
+REM gitversion not already been set in this build
+if "%GitVersion_NuGetVersion%" == "" (
+ rem can I call gitversion
+ where gitversion
+ if "%errorlevel%"=="0" (
+ REM call gitversion and then recall this build script with the envArgs set
+ ECHO calculating correct version number
+
+ REM call this file from itself with the args set
+ gitversion /output buildserver /exec "%~dp0\update-versions.cmd"
+
+ REM we looped skip to the end
+ goto end
+ )
+)
+
+set buildRoot="%cd%"
+
+ECHO Updating build version numbers
+for %%s in (%projects%) do (
+ cd %%s
+ ECHO %GitVersion_NuGetVersion%
+ dotnet version %GitVersion_NuGetVersion%
+ cd %buildRoot%
+)
+
+:success
+REM exit 0
+goto end
+
+:failure
+REM exit -1
+goto end
+
+:end
diff --git a/src/ImageSharp/Drawing/Brushes/Brushes.cs b/src/ImageSharp.Drawing/Brushes/Brushes.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/Brushes.cs
rename to src/ImageSharp.Drawing/Brushes/Brushes.cs
diff --git a/src/ImageSharp/Drawing/Brushes/Brushes{TColor}.cs b/src/ImageSharp.Drawing/Brushes/Brushes{TColor}.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/Brushes{TColor}.cs
rename to src/ImageSharp.Drawing/Brushes/Brushes{TColor}.cs
diff --git a/src/ImageSharp/Drawing/Brushes/IBrush.cs b/src/ImageSharp.Drawing/Brushes/IBrush.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/IBrush.cs
rename to src/ImageSharp.Drawing/Brushes/IBrush.cs
diff --git a/src/ImageSharp/Drawing/Brushes/ImageBrush.cs b/src/ImageSharp.Drawing/Brushes/ImageBrush.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/ImageBrush.cs
rename to src/ImageSharp.Drawing/Brushes/ImageBrush.cs
diff --git a/src/ImageSharp/Drawing/Brushes/ImageBrush{TColor}.cs b/src/ImageSharp.Drawing/Brushes/ImageBrush{TColor}.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/ImageBrush{TColor}.cs
rename to src/ImageSharp.Drawing/Brushes/ImageBrush{TColor}.cs
diff --git a/src/ImageSharp/Drawing/Brushes/PatternBrush.cs b/src/ImageSharp.Drawing/Brushes/PatternBrush.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/PatternBrush.cs
rename to src/ImageSharp.Drawing/Brushes/PatternBrush.cs
diff --git a/src/ImageSharp/Drawing/Brushes/PatternBrush{TColor}.cs b/src/ImageSharp.Drawing/Brushes/PatternBrush{TColor}.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/PatternBrush{TColor}.cs
rename to src/ImageSharp.Drawing/Brushes/PatternBrush{TColor}.cs
diff --git a/src/ImageSharp/Drawing/Brushes/Processors/IBrushApplicator.cs b/src/ImageSharp.Drawing/Brushes/Processors/IBrushApplicator.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/Processors/IBrushApplicator.cs
rename to src/ImageSharp.Drawing/Brushes/Processors/IBrushApplicator.cs
diff --git a/src/ImageSharp/Drawing/Brushes/RecolorBrush.cs b/src/ImageSharp.Drawing/Brushes/RecolorBrush.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/RecolorBrush.cs
rename to src/ImageSharp.Drawing/Brushes/RecolorBrush.cs
diff --git a/src/ImageSharp/Drawing/Brushes/RecolorBrush{TColor}.cs b/src/ImageSharp.Drawing/Brushes/RecolorBrush{TColor}.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/RecolorBrush{TColor}.cs
rename to src/ImageSharp.Drawing/Brushes/RecolorBrush{TColor}.cs
diff --git a/src/ImageSharp/Drawing/Brushes/SolidBrush.cs b/src/ImageSharp.Drawing/Brushes/SolidBrush.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/SolidBrush.cs
rename to src/ImageSharp.Drawing/Brushes/SolidBrush.cs
diff --git a/src/ImageSharp/Drawing/Brushes/SolidBrush{TColor}.cs b/src/ImageSharp.Drawing/Brushes/SolidBrush{TColor}.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Brushes/SolidBrush{TColor}.cs
rename to src/ImageSharp.Drawing/Brushes/SolidBrush{TColor}.cs
diff --git a/src/ImageSharp/Drawing/Draw.cs b/src/ImageSharp.Drawing/Draw.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Draw.cs
rename to src/ImageSharp.Drawing/Draw.cs
diff --git a/src/ImageSharp/Drawing/DrawImage.cs b/src/ImageSharp.Drawing/DrawImage.cs
similarity index 100%
rename from src/ImageSharp/Drawing/DrawImage.cs
rename to src/ImageSharp.Drawing/DrawImage.cs
diff --git a/src/ImageSharp/Drawing/DrawRectangle.cs b/src/ImageSharp.Drawing/DrawRectangle.cs
similarity index 100%
rename from src/ImageSharp/Drawing/DrawRectangle.cs
rename to src/ImageSharp.Drawing/DrawRectangle.cs
diff --git a/src/ImageSharp/Drawing/Fill.cs b/src/ImageSharp.Drawing/Fill.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Fill.cs
rename to src/ImageSharp.Drawing/Fill.cs
diff --git a/src/ImageSharp/Drawing/FillRectangle.cs b/src/ImageSharp.Drawing/FillRectangle.cs
similarity index 100%
rename from src/ImageSharp/Drawing/FillRectangle.cs
rename to src/ImageSharp.Drawing/FillRectangle.cs
diff --git a/src/ImageSharp/Drawing/GraphicsOptions.cs b/src/ImageSharp.Drawing/GraphicsOptions.cs
similarity index 100%
rename from src/ImageSharp/Drawing/GraphicsOptions.cs
rename to src/ImageSharp.Drawing/GraphicsOptions.cs
diff --git a/src/ImageSharp.Drawing/ImageSharp.Drawing.xproj b/src/ImageSharp.Drawing/ImageSharp.Drawing.xproj
new file mode 100644
index 000000000..488f86bc7
--- /dev/null
+++ b/src/ImageSharp.Drawing/ImageSharp.Drawing.xproj
@@ -0,0 +1,25 @@
+
+
+
+ 14.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+
+
+
+ 2e33181e-6e28-4662-a801-e2e7dc206029
+ ImageSharp.Drawing
+ .\obj
+ .\bin\
+ v4.5.1
+
+
+ 2.0
+
+
+ True
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/ImageSharp/Drawing/Paths/BezierLineSegment.cs b/src/ImageSharp.Drawing/Paths/BezierLineSegment.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Paths/BezierLineSegment.cs
rename to src/ImageSharp.Drawing/Paths/BezierLineSegment.cs
diff --git a/src/ImageSharp/Drawing/Paths/ILineSegment.cs b/src/ImageSharp.Drawing/Paths/ILineSegment.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Paths/ILineSegment.cs
rename to src/ImageSharp.Drawing/Paths/ILineSegment.cs
diff --git a/src/ImageSharp/Drawing/Paths/IPath.cs b/src/ImageSharp.Drawing/Paths/IPath.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Paths/IPath.cs
rename to src/ImageSharp.Drawing/Paths/IPath.cs
diff --git a/src/ImageSharp/Drawing/Paths/InternalPath.cs b/src/ImageSharp.Drawing/Paths/InternalPath.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Paths/InternalPath.cs
rename to src/ImageSharp.Drawing/Paths/InternalPath.cs
diff --git a/src/ImageSharp/Drawing/Paths/LinearLineSegment.cs b/src/ImageSharp.Drawing/Paths/LinearLineSegment.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Paths/LinearLineSegment.cs
rename to src/ImageSharp.Drawing/Paths/LinearLineSegment.cs
diff --git a/src/ImageSharp/Drawing/Paths/Path.cs b/src/ImageSharp.Drawing/Paths/Path.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Paths/Path.cs
rename to src/ImageSharp.Drawing/Paths/Path.cs
diff --git a/src/ImageSharp/Drawing/Paths/PointInfo.cs b/src/ImageSharp.Drawing/Paths/PointInfo.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Paths/PointInfo.cs
rename to src/ImageSharp.Drawing/Paths/PointInfo.cs
diff --git a/src/ImageSharp/Drawing/Pens/IPen.cs b/src/ImageSharp.Drawing/Pens/IPen.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Pens/IPen.cs
rename to src/ImageSharp.Drawing/Pens/IPen.cs
diff --git a/src/ImageSharp/Drawing/Pens/Pen.cs b/src/ImageSharp.Drawing/Pens/Pen.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Pens/Pen.cs
rename to src/ImageSharp.Drawing/Pens/Pen.cs
diff --git a/src/ImageSharp/Drawing/Pens/Pens.cs b/src/ImageSharp.Drawing/Pens/Pens.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Pens/Pens.cs
rename to src/ImageSharp.Drawing/Pens/Pens.cs
diff --git a/src/ImageSharp/Drawing/Pens/Pens{TColor}.cs b/src/ImageSharp.Drawing/Pens/Pens{TColor}.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Pens/Pens{TColor}.cs
rename to src/ImageSharp.Drawing/Pens/Pens{TColor}.cs
diff --git a/src/ImageSharp/Drawing/Pens/Pen{TColor}.cs b/src/ImageSharp.Drawing/Pens/Pen{TColor}.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Pens/Pen{TColor}.cs
rename to src/ImageSharp.Drawing/Pens/Pen{TColor}.cs
diff --git a/src/ImageSharp/Drawing/Pens/Processors/ColoredPointInfo.cs b/src/ImageSharp.Drawing/Pens/Processors/ColoredPointInfo.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Pens/Processors/ColoredPointInfo.cs
rename to src/ImageSharp.Drawing/Pens/Processors/ColoredPointInfo.cs
diff --git a/src/ImageSharp/Drawing/Pens/Processors/IPenApplicator.cs b/src/ImageSharp.Drawing/Pens/Processors/IPenApplicator.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Pens/Processors/IPenApplicator.cs
rename to src/ImageSharp.Drawing/Pens/Processors/IPenApplicator.cs
diff --git a/src/ImageSharp/Drawing/Processors/DrawImageProcessor.cs b/src/ImageSharp.Drawing/Processors/DrawImageProcessor.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Processors/DrawImageProcessor.cs
rename to src/ImageSharp.Drawing/Processors/DrawImageProcessor.cs
diff --git a/src/ImageSharp/Drawing/Processors/DrawPathProcessor.cs b/src/ImageSharp.Drawing/Processors/DrawPathProcessor.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Processors/DrawPathProcessor.cs
rename to src/ImageSharp.Drawing/Processors/DrawPathProcessor.cs
diff --git a/src/ImageSharp/Drawing/Processors/FillProcessor.cs b/src/ImageSharp.Drawing/Processors/FillProcessor.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Processors/FillProcessor.cs
rename to src/ImageSharp.Drawing/Processors/FillProcessor.cs
diff --git a/src/ImageSharp/Drawing/Processors/FillShapeProcessor.cs b/src/ImageSharp.Drawing/Processors/FillShapeProcessor.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Processors/FillShapeProcessor.cs
rename to src/ImageSharp.Drawing/Processors/FillShapeProcessor.cs
diff --git a/src/ImageSharp.Drawing/Properties/AssemblyInfo.cs b/src/ImageSharp.Drawing/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..8f3982ee4
--- /dev/null
+++ b/src/ImageSharp.Drawing/Properties/AssemblyInfo.cs
@@ -0,0 +1,40 @@
+//
+// Copyright (c) James Jackson-South and contributors.
+// Licensed under the Apache License, Version 2.0.
+//
+
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("ImageSharp")]
+[assembly: AssemblyDescription("A cross-platform library for processing of image files; written in C#")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("James Jackson-South")]
+[assembly: AssemblyProduct("ImageSharp")]
+[assembly: AssemblyCopyright("Copyright (c) James Jackson-South and contributors.")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+[assembly: NeutralResourcesLanguage("en")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyInformationalVersion("1.0.0.0")]
+
+// Ensure the internals can be tested.
+[assembly: InternalsVisibleTo("ImageSharp.Benchmarks")]
+[assembly: InternalsVisibleTo("ImageSharp.Tests")]
+[assembly: InternalsVisibleTo("ImageSharp.Tests46")]
diff --git a/src/ImageSharp/Drawing/Shapes/BezierPolygon.cs b/src/ImageSharp.Drawing/Shapes/BezierPolygon.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/BezierPolygon.cs
rename to src/ImageSharp.Drawing/Shapes/BezierPolygon.cs
diff --git a/src/ImageSharp/Drawing/Shapes/ComplexPolygon.cs b/src/ImageSharp.Drawing/Shapes/ComplexPolygon.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/ComplexPolygon.cs
rename to src/ImageSharp.Drawing/Shapes/ComplexPolygon.cs
diff --git a/src/ImageSharp/Drawing/Shapes/IShape.cs b/src/ImageSharp.Drawing/Shapes/IShape.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/IShape.cs
rename to src/ImageSharp.Drawing/Shapes/IShape.cs
diff --git a/src/ImageSharp/Drawing/Shapes/LinearPolygon.cs b/src/ImageSharp.Drawing/Shapes/LinearPolygon.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/LinearPolygon.cs
rename to src/ImageSharp.Drawing/Shapes/LinearPolygon.cs
diff --git a/src/ImageSharp/Drawing/Shapes/Polygon.cs b/src/ImageSharp.Drawing/Shapes/Polygon.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/Polygon.cs
rename to src/ImageSharp.Drawing/Shapes/Polygon.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/Clipper.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/Clipper.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/Clipper.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/Clipper.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/ClipperException.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/ClipperException.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/ClipperException.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/ClipperException.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/Direction.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/Direction.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/Direction.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/Direction.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/EdgeSide.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/EdgeSide.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/EdgeSide.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/EdgeSide.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/IntersectNode.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/IntersectNode.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/IntersectNode.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/IntersectNode.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/IntersectNodeSort.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/IntersectNodeSort.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/IntersectNodeSort.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/IntersectNodeSort.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/Join.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/Join.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/Join.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/Join.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/LocalMinima.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/LocalMinima.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/LocalMinima.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/LocalMinima.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/Maxima.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/Maxima.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/Maxima.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/Maxima.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/OutPt.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/OutPt.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/OutPt.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/OutPt.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/OutRec.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/OutRec.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/OutRec.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/OutRec.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/PolyNode.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/PolyNode.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/PolyNode.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/PolyNode.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/PolyTree.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/PolyTree.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/PolyTree.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/PolyTree.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/PolyType.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/PolyType.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/PolyType.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/PolyType.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/README.md b/src/ImageSharp.Drawing/Shapes/PolygonClipper/README.md
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/README.md
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/README.md
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/Scanbeam.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/Scanbeam.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/Scanbeam.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/Scanbeam.cs
diff --git a/src/ImageSharp/Drawing/Shapes/PolygonClipper/TEdge.cs b/src/ImageSharp.Drawing/Shapes/PolygonClipper/TEdge.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/PolygonClipper/TEdge.cs
rename to src/ImageSharp.Drawing/Shapes/PolygonClipper/TEdge.cs
diff --git a/src/ImageSharp/Drawing/Shapes/RectangularPolygon.cs b/src/ImageSharp.Drawing/Shapes/RectangularPolygon.cs
similarity index 100%
rename from src/ImageSharp/Drawing/Shapes/RectangularPolygon.cs
rename to src/ImageSharp.Drawing/Shapes/RectangularPolygon.cs
diff --git a/src/ImageSharp.Drawing/project.json b/src/ImageSharp.Drawing/project.json
new file mode 100644
index 000000000..0e0f7a166
--- /dev/null
+++ b/src/ImageSharp.Drawing/project.json
@@ -0,0 +1,78 @@
+{
+ "version": "1.0.0-*",
+ "title": "ImageSharp.Drawing",
+ "description": "A cross-platform library for the processing of image files; written in C#",
+ "authors": [
+ "James Jackson-South and contributors"
+ ],
+ "packOptions": {
+ "owners": [
+ "James Jackson-South and contributors"
+ ],
+ "projectUrl": "https://github.com/JimBobSquarePants/ImageSharp",
+ "licenseUrl": "http://www.apache.org/licenses/LICENSE-2.0",
+ "iconUrl": "https://raw.githubusercontent.com/JimBobSquarePants/ImageSharp/master/build/icons/imagesharp-logo-128.png",
+ "requireLicenseAcceptance": false,
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/JimBobSquarePants/ImageSharp"
+ },
+ "tags": [
+ "Image Resize Crop Gif Jpg Jpeg Bitmap Png Core"
+ ]
+ },
+ "buildOptions": {
+ "allowUnsafe": true,
+ "xmlDoc": true,
+ "additionalArguments": [
+ "/additionalfile:stylecop.json"
+ ]
+ },
+ "configurations": {
+ "Release": {
+ "buildOptions": {
+ "warningsAsErrors": true,
+ "optimize": true
+ }
+ }
+ },
+ "dependencies": {
+ "ImageSharp": "1.0.0-*",
+ "StyleCop.Analyzers": {
+ "version": "1.0.0",
+ "type": "build"
+ },
+ "System.Buffers": "4.0.0",
+ "System.Numerics.Vectors": "4.1.1",
+ "System.Runtime.CompilerServices.Unsafe": "4.0.0"
+ },
+ "frameworks": {
+ "netstandard1.1": {
+ "dependencies": {
+ "System.Collections": "4.0.11",
+ "System.Diagnostics.Debug": "4.0.11",
+ "System.Diagnostics.Tools": "4.0.1",
+ "System.IO": "4.1.0",
+ "System.IO.Compression": "4.1.0",
+ "System.Linq": "4.1.0",
+ "System.ObjectModel": "4.0.12",
+ "System.Resources.ResourceManager": "4.0.1",
+ "System.Runtime.Extensions": "4.1.0",
+ "System.Runtime.InteropServices": "4.1.0",
+ "System.Runtime.Numerics": "4.0.1",
+ "System.Text.Encoding.Extensions": "4.0.11",
+ "System.Threading": "4.0.11",
+ "System.Threading.Tasks": "4.0.11",
+ "System.Threading.Tasks.Parallel": "4.0.1"
+ }
+ },
+ "net45": {
+ "dependencies": {
+ "System.Runtime": "4.0.0"
+ }
+ }
+ },
+ "tools": {
+ "dotnet-version": "1.1.0"
+ }
+}
\ No newline at end of file
diff --git a/src/ImageSharp.Drawing/stylecop.json b/src/ImageSharp.Drawing/stylecop.json
new file mode 100644
index 000000000..df8f120a5
--- /dev/null
+++ b/src/ImageSharp.Drawing/stylecop.json
@@ -0,0 +1,9 @@
+{
+ "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
+ "settings": {
+ "documentationRules": {
+ "companyName": "James Jackson-South",
+ "copyrightText": "Copyright (c) James Jackson-South and contributors.\nLicensed under the Apache License, Version 2.0."
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/ImageSharp/Properties/AssemblyInfo.cs b/src/ImageSharp/Properties/AssemblyInfo.cs
index 8f3982ee4..83f4268e7 100644
--- a/src/ImageSharp/Properties/AssemblyInfo.cs
+++ b/src/ImageSharp/Properties/AssemblyInfo.cs
@@ -38,3 +38,4 @@ using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("ImageSharp.Benchmarks")]
[assembly: InternalsVisibleTo("ImageSharp.Tests")]
[assembly: InternalsVisibleTo("ImageSharp.Tests46")]
+[assembly: InternalsVisibleTo("ImageSharp.Drawing")]
\ No newline at end of file
diff --git a/tests/ImageSharp.Benchmarks/project.json b/tests/ImageSharp.Benchmarks/project.json
index 171cf1310..9cf5cac39 100644
--- a/tests/ImageSharp.Benchmarks/project.json
+++ b/tests/ImageSharp.Benchmarks/project.json
@@ -15,7 +15,8 @@
},
"dependencies": {
"BenchmarkDotNet.Diagnostics.Windows": "0.10.1",
- "ImageSharp": "1.0.0-*"
+ "ImageSharp": "1.0.0-*",
+ "ImageSharp.Drawing": "1.0.0-*"
},
"commands": {
"ImageSharp.Benchmarks": "ImageSharp.Benchmarks"
diff --git a/tests/ImageSharp.Tests/project.json b/tests/ImageSharp.Tests/project.json
index e0e269239..d6bdcb7d6 100644
--- a/tests/ImageSharp.Tests/project.json
+++ b/tests/ImageSharp.Tests/project.json
@@ -22,7 +22,8 @@
"dependencies": {
"ImageSharp": "1.0.0-*",
"xunit": "2.2.0-*",
- "dotnet-test-xunit": "2.2.0-*"
+ "dotnet-test-xunit": "2.2.0-*",
+ "ImageSharp.Drawing": "1.0.0-*"
},
"frameworks": {
"netcoreapp1.1": {