diff --git a/Perspex-Mono.sln b/Perspex-Mono.sln
index 708e28cd15..725b3bf205 100644
--- a/Perspex-Mono.sln
+++ b/Perspex-Mono.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.31101.0
+# Visual Studio 14
+VisualStudioVersion = 14.0.22609.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Perspex.Base", "Perspex.Base\Perspex.Base.csproj", "{B09B78D8-9B26-48B0-9149-D64A2F120F3F}"
EndProject
@@ -53,6 +53,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{596AF7
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{C5A00AC3-B34C-4564-9BDD-2DA473EF4D8B}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Perspex.Cairo.RenderTests", "Tests\Perspex.RenderTests\Perspex.Cairo.RenderTests.csproj", "{DABFD304-D6A4-4752-8123-C2CCF7AC7831}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -139,6 +141,10 @@ Global
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -152,5 +158,6 @@ Global
{2905FF23-53FB-45E6-AA49-6AF47A172056} = {C5A00AC3-B34C-4564-9BDD-2DA473EF4D8B}
{415E048E-4611-4815-9CF2-D774E29079AC} = {2BAFBE53-7FA4-4BB9-976F-9AFCC4F9847D}
{DB070A10-BF39-4752-8456-86E9D5928478} = {C5A00AC3-B34C-4564-9BDD-2DA473EF4D8B}
+ {DABFD304-D6A4-4752-8123-C2CCF7AC7831} = {C5A00AC3-B34C-4564-9BDD-2DA473EF4D8B}
EndGlobalSection
EndGlobal
diff --git a/Perspex-Windows.sln b/Perspex-Windows.sln
index ffdeec305e..8377e68b3a 100644
--- a/Perspex-Windows.sln
+++ b/Perspex-Windows.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.31101.0
+# Visual Studio 14
+VisualStudioVersion = 14.0.22609.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Perspex.Win32", "Windows\Perspex.Win32\Perspex.Win32.csproj", "{811A76CF-1CF6-440F-963B-BBE31BD72A82}"
EndProject
@@ -9,8 +9,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestApplication", "TestAppl
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Perspex.Direct2D1", "Windows\Perspex.Direct2D1\Perspex.Direct2D1.csproj", "{3E908F67-5543-4879-A1DC-08EACE79B3CD}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Perspex.Direct2D1.RenderTests", "Tests\Perspex.Direct2D1.RenderTests\Perspex.Direct2D1.RenderTests.csproj", "{DABFD304-D6A4-4752-8123-C2CCF7AC7831}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Perspex.Base", "Perspex.Base\Perspex.Base.csproj", "{B09B78D8-9B26-48B0-9149-D64A2F120F3F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Perspex.SceneGraph", "Perspex.SceneGraph\Perspex.SceneGraph.csproj", "{EB582467-6ABB-43A1-B052-E981BA910E3A}"
@@ -53,6 +51,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{596AF7
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{C5A00AC3-B34C-4564-9BDD-2DA473EF4D8B}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Perspex.Direct2D1.RenderTests", "Tests\Perspex.RenderTests\Perspex.Direct2D1.RenderTests.csproj", "{DABFD304-D6A4-4752-8123-C2CCF7AC7831}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -71,9 +71,6 @@ Global
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.Release|Any CPU.Build.0 = Release|Any CPU
- {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -142,6 +139,10 @@ Global
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D211E587-D8BC-45B9-95A4-F297C8FA5200}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DABFD304-D6A4-4752-8123-C2CCF7AC7831}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -149,12 +150,12 @@ Global
GlobalSection(NestedProjects) = preSolution
{811A76CF-1CF6-440F-963B-BBE31BD72A82} = {B39A8919-9F95-48FE-AD7B-76E08B509888}
{3E908F67-5543-4879-A1DC-08EACE79B3CD} = {B39A8919-9F95-48FE-AD7B-76E08B509888}
- {DABFD304-D6A4-4752-8123-C2CCF7AC7831} = {C5A00AC3-B34C-4564-9BDD-2DA473EF4D8B}
{47ECDF59-DEF8-4C53-87B1-2098A3429059} = {C5A00AC3-B34C-4564-9BDD-2DA473EF4D8B}
{5CCB5571-7C30-4E7D-967D-0E2158EBD91F} = {C5A00AC3-B34C-4564-9BDD-2DA473EF4D8B}
{76716382-3159-460E-BDA6-C5715CF606D7} = {C5A00AC3-B34C-4564-9BDD-2DA473EF4D8B}
{2905FF23-53FB-45E6-AA49-6AF47A172056} = {C5A00AC3-B34C-4564-9BDD-2DA473EF4D8B}
{415E048E-4611-4815-9CF2-D774E29079AC} = {2BAFBE53-7FA4-4BB9-976F-9AFCC4F9847D}
{DB070A10-BF39-4752-8456-86E9D5928478} = {C5A00AC3-B34C-4564-9BDD-2DA473EF4D8B}
+ {DABFD304-D6A4-4752-8123-C2CCF7AC7831} = {C5A00AC3-B34C-4564-9BDD-2DA473EF4D8B}
EndGlobalSection
EndGlobal
diff --git a/Tests/Perspex.Direct2D1.RenderTests/packages.config b/Tests/Perspex.Direct2D1.RenderTests/packages.config
deleted file mode 100644
index c030e93134..0000000000
--- a/Tests/Perspex.Direct2D1.RenderTests/packages.config
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Tests/Perspex.Direct2D1.RenderTests/Controls/BorderTests.cs b/Tests/Perspex.RenderTests/Controls/BorderTests.cs
similarity index 100%
rename from Tests/Perspex.Direct2D1.RenderTests/Controls/BorderTests.cs
rename to Tests/Perspex.RenderTests/Controls/BorderTests.cs
diff --git a/Tests/Perspex.Direct2D1.RenderTests/Controls/ImageTests.cs b/Tests/Perspex.RenderTests/Controls/ImageTests.cs
similarity index 100%
rename from Tests/Perspex.Direct2D1.RenderTests/Controls/ImageTests.cs
rename to Tests/Perspex.RenderTests/Controls/ImageTests.cs
diff --git a/Tests/Perspex.RenderTests/Perspex.Cairo.RenderTests.csproj b/Tests/Perspex.RenderTests/Perspex.Cairo.RenderTests.csproj
new file mode 100644
index 0000000000..01124d0abb
--- /dev/null
+++ b/Tests/Perspex.RenderTests/Perspex.Cairo.RenderTests.csproj
@@ -0,0 +1,148 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {DABFD304-D6A4-4752-8123-C2CCF7AC7831}
+ Library
+ Properties
+ Perspex.Direct2D1.RenderTests
+ Perspex.Direct2D1.RenderTests
+ v4.5
+ 512
+ 10.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+ $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages
+ False
+ UnitTest
+ a4c4bf26
+
+
+ true
+ full
+ false
+ bin\Debug\
+ TRACE;DEBUG;PERSPEX_CAIRO
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ False
+ ..\..\packages\Magick.NET-Q16-x86.7.0.0.0007\lib\net40-client\Magick.NET-x86.dll
+
+
+ ..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
+ True
+
+
+
+
+ ..\..\packages\xunit.1.9.2\lib\net20\xunit.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {fb05ac90-89ba-4f2f-a924-f37875fb547c}
+ Perspex.Cairo
+
+
+ {d211e587-d8bc-45b9-95a4-f297c8fa5200}
+ Perspex.Animation
+
+
+ {b09b78d8-9b26-48b0-9149-d64a2f120f3f}
+ Perspex.Base
+
+
+ {d2221c82-4a25-4583-9b43-d791e3f6820c}
+ Perspex.Controls
+
+
+ {62024b2d-53eb-4638-b26b-85eeaa54866e}
+ Perspex.Input
+
+
+ {6b0ed19d-a08b-461c-a9d9-a9ee40b0c06b}
+ Perspex.Interactivity
+
+
+ {42472427-4774-4c81-8aff-9f27b8e31721}
+ Perspex.Layout
+
+
+ {eb582467-6abb-43a1-b052-e981ba910e3a}
+ Perspex.SceneGraph
+
+
+ {f1baa01a-f176-4c6a-b39d-5b40bb1b148f}
+ Perspex.Styling
+
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+
+
+
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
+
\ No newline at end of file
diff --git a/Tests/Perspex.Direct2D1.RenderTests/Perspex.Direct2D1.RenderTests.csproj b/Tests/Perspex.RenderTests/Perspex.Direct2D1.RenderTests.csproj
similarity index 97%
rename from Tests/Perspex.Direct2D1.RenderTests/Perspex.Direct2D1.RenderTests.csproj
rename to Tests/Perspex.RenderTests/Perspex.Direct2D1.RenderTests.csproj
index b097dbcb61..00c619244d 100644
--- a/Tests/Perspex.Direct2D1.RenderTests/Perspex.Direct2D1.RenderTests.csproj
+++ b/Tests/Perspex.RenderTests/Perspex.Direct2D1.RenderTests.csproj
@@ -40,9 +40,9 @@
False
..\..\packages\Magick.NET-Q16-x86.7.0.0.0007\lib\net40-client\Magick.NET-x86.dll
-
- False
- ..\..\packages\Splat.1.6.1\lib\Net45\Splat.dll
+
+ ..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
+ True
diff --git a/Tests/Perspex.Direct2D1.RenderTests/Properties/AssemblyInfo.cs b/Tests/Perspex.RenderTests/Properties/AssemblyInfo.cs
similarity index 100%
rename from Tests/Perspex.Direct2D1.RenderTests/Properties/AssemblyInfo.cs
rename to Tests/Perspex.RenderTests/Properties/AssemblyInfo.cs
diff --git a/Tests/Perspex.Direct2D1.RenderTests/Shapes/EllipseTests.cs b/Tests/Perspex.RenderTests/Shapes/EllipseTests.cs
similarity index 100%
rename from Tests/Perspex.Direct2D1.RenderTests/Shapes/EllipseTests.cs
rename to Tests/Perspex.RenderTests/Shapes/EllipseTests.cs
diff --git a/Tests/Perspex.Direct2D1.RenderTests/Shapes/PathTests.cs b/Tests/Perspex.RenderTests/Shapes/PathTests.cs
similarity index 100%
rename from Tests/Perspex.Direct2D1.RenderTests/Shapes/PathTests.cs
rename to Tests/Perspex.RenderTests/Shapes/PathTests.cs
diff --git a/Tests/Perspex.Direct2D1.RenderTests/Shapes/RectangleTests.cs b/Tests/Perspex.RenderTests/Shapes/RectangleTests.cs
similarity index 100%
rename from Tests/Perspex.Direct2D1.RenderTests/Shapes/RectangleTests.cs
rename to Tests/Perspex.RenderTests/Shapes/RectangleTests.cs
diff --git a/Tests/Perspex.Direct2D1.RenderTests/TestBase.cs b/Tests/Perspex.RenderTests/TestBase.cs
similarity index 90%
rename from Tests/Perspex.Direct2D1.RenderTests/TestBase.cs
rename to Tests/Perspex.RenderTests/TestBase.cs
index 1b32e2640b..6a842001a8 100644
--- a/Tests/Perspex.Direct2D1.RenderTests/TestBase.cs
+++ b/Tests/Perspex.RenderTests/TestBase.cs
@@ -3,7 +3,6 @@
// Copyright 2014 MIT Licence. See licence.md for more information.
//
// -----------------------------------------------------------------------
-
namespace Perspex.Direct2D1.RenderTests
{
using System.IO;
@@ -13,16 +12,30 @@ namespace Perspex.Direct2D1.RenderTests
using Perspex.Media.Imaging;
using Xunit;
+#if PERSPEX_CAIRO
+ using Perspex.Cairo;
+#else
+ using Perspex.Direct2D1;
+#endif
+
public class TestBase
{
static TestBase()
{
+#if PERSPEX_CAIRO
+ CairoPlatform.Initialize();
+#else
Direct2D1Platform.Initialize();
+#endif
}
public TestBase(string outputPath)
{
+#if PERSPEX_CAIRO
+ string testFiles = Path.GetFullPath(@"..\..\..\..\TestFiles\Cairo");
+#else
string testFiles = Path.GetFullPath(@"..\..\..\..\TestFiles\Direct2D1");
+#endif
this.OutputPath = Path.Combine(testFiles, outputPath);
}
diff --git a/Tests/Perspex.Direct2D1.RenderTests/app.config b/Tests/Perspex.RenderTests/app.config
similarity index 100%
rename from Tests/Perspex.Direct2D1.RenderTests/app.config
rename to Tests/Perspex.RenderTests/app.config
diff --git a/Tests/Perspex.RenderTests/packages.config b/Tests/Perspex.RenderTests/packages.config
new file mode 100644
index 0000000000..4c51de0254
--- /dev/null
+++ b/Tests/Perspex.RenderTests/packages.config
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file