diff --git a/Perspex.sln b/Perspex.sln
index a2a524c6a7..5ad71b7946 100644
--- a/Perspex.sln
+++ b/Perspex.sln
@@ -148,18 +148,19 @@ Global
src\Shared\PlatformSupport\PlatformSupport.projitems*{e4d9629c-f168-4224-3f51-a5e482ffbc42}*SharedItemsImports = 13
src\Skia\Perspex.Skia\Perspex.Skia.projitems*{2f59f3d0-748d-4652-b01e-e0d954756308}*SharedItemsImports = 13
src\Shared\PlatformSupport\PlatformSupport.projitems*{db070a10-bf39-4752-8456-86e9d5928478}*SharedItemsImports = 4
- src\Shared\RenderHelpers\RenderHelpers.projitems*{925dd807-b651-475f-9f7c-cbeb974ce43d}*SharedItemsImports = 4
src\Skia\Perspex.Skia\Perspex.Skia.projitems*{925dd807-b651-475f-9f7c-cbeb974ce43d}*SharedItemsImports = 4
+ src\Shared\RenderHelpers\RenderHelpers.projitems*{925dd807-b651-475f-9f7c-cbeb974ce43d}*SharedItemsImports = 4
samples\TestApplicationShared\TestApplicationShared.projitems*{78345174-5b52-4a14-b9fd-d5f2428137f0}*SharedItemsImports = 13
src\Shared\PlatformSupport\PlatformSupport.projitems*{54f237d5-a70a-4752-9656-0c70b1a7b047}*SharedItemsImports = 4
+ samples\TestApplicationShared\TestApplicationShared.projitems*{ff69b927-c545-49ae-8e16-3d14d621aa12}*SharedItemsImports = 4
src\Shared\RenderHelpers\RenderHelpers.projitems*{3c4c0cb4-0c0f-4450-a37b-148c84ff905f}*SharedItemsImports = 13
src\Shared\PlatformSupport\PlatformSupport.projitems*{811a76cf-1cf6-440f-963b-bbe31bd72a82}*SharedItemsImports = 4
- src\Shared\RenderHelpers\RenderHelpers.projitems*{47be08a7-5985-410b-9ffc-2264b8ea595f}*SharedItemsImports = 4
src\Skia\Perspex.Skia\Perspex.Skia.projitems*{47be08a7-5985-410b-9ffc-2264b8ea595f}*SharedItemsImports = 4
+ src\Shared\RenderHelpers\RenderHelpers.projitems*{47be08a7-5985-410b-9ffc-2264b8ea595f}*SharedItemsImports = 4
samples\TestApplicationShared\TestApplicationShared.projitems*{8c923867-8a8f-4f6b-8b80-47d9e8436166}*SharedItemsImports = 4
samples\TestApplicationShared\TestApplicationShared.projitems*{e3a1060b-50d0-44e8-88b6-f44ef2e5bd72}*SharedItemsImports = 4
- src\Shared\RenderHelpers\RenderHelpers.projitems*{bd43f7c0-396b-4aa1-bad9-dfde54d51298}*SharedItemsImports = 4
src\Skia\Perspex.Skia\Perspex.Skia.projitems*{bd43f7c0-396b-4aa1-bad9-dfde54d51298}*SharedItemsImports = 4
+ src\Shared\RenderHelpers\RenderHelpers.projitems*{bd43f7c0-396b-4aa1-bad9-dfde54d51298}*SharedItemsImports = 4
src\Shared\RenderHelpers\RenderHelpers.projitems*{3e908f67-5543-4879-a1dc-08eace79b3cd}*SharedItemsImports = 4
src\Shared\PlatformSupport\PlatformSupport.projitems*{e1aa3dbf-9056-4530-9376-18119a7a3ffe}*SharedItemsImports = 4
EndGlobalSection
diff --git a/nuget/template/Perspex.Desktop.nuspec b/nuget/template/Perspex.Desktop.nuspec
index 2c78dc9c8c..192afe828d 100644
--- a/nuget/template/Perspex.Desktop.nuspec
+++ b/nuget/template/Perspex.Desktop.nuspec
@@ -21,9 +21,9 @@
-
-
-
+
+
+
diff --git a/samples/ControlCatalog/App.config b/samples/ControlCatalog/App.config
index 8324aa6ff1..2e292d1c8a 100644
--- a/samples/ControlCatalog/App.config
+++ b/samples/ControlCatalog/App.config
@@ -1,6 +1,14 @@
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Skia/Perspex.Skia.Android.TestApp/Perspex.Skia.Android.TestApp.csproj b/src/Skia/Perspex.Skia.Android.TestApp/Perspex.Skia.Android.TestApp.csproj
index 8a27aec08c..614b0210bb 100644
--- a/src/Skia/Perspex.Skia.Android.TestApp/Perspex.Skia.Android.TestApp.csproj
+++ b/src/Skia/Perspex.Skia.Android.TestApp/Perspex.Skia.Android.TestApp.csproj
@@ -16,7 +16,7 @@
Resources\Resource.Designer.cs
Off
True
- v5.1
+ v6.0
Properties\AndroidManifest.xml
diff --git a/src/Skia/Perspex.Skia.Android/Perspex.Skia.Android.csproj b/src/Skia/Perspex.Skia.Android/Perspex.Skia.Android.csproj
index 2146b7a9e9..2916c4059e 100644
--- a/src/Skia/Perspex.Skia.Android/Perspex.Skia.Android.csproj
+++ b/src/Skia/Perspex.Skia.Android/Perspex.Skia.Android.csproj
@@ -15,7 +15,7 @@
Resources\Resource.Designer.cs
Off
True
- v5.1
+ v6.0
true
diff --git a/src/Windows/Perspex.Direct2D1/Media/DrawingContext.cs b/src/Windows/Perspex.Direct2D1/Media/DrawingContext.cs
index 77f6702533..0876a2a8a3 100644
--- a/src/Windows/Perspex.Direct2D1/Media/DrawingContext.cs
+++ b/src/Windows/Perspex.Direct2D1/Media/DrawingContext.cs
@@ -9,6 +9,7 @@ using Perspex.Media;
using SharpDX;
using SharpDX.Direct2D1;
using IBitmap = Perspex.Media.Imaging.IBitmap;
+using SharpDX.Mathematics.Interop;
namespace Perspex.Direct2D1.Media
{
@@ -218,11 +219,11 @@ namespace Perspex.Direct2D1.Media
_renderTarget.FillRoundedRectangle(
new RoundedRectangle
{
- Rect = new RectangleF(
+ Rect = new RawRectangleF(
(float)rect.X,
(float)rect.Y,
- (float)rect.Width,
- (float)rect.Height),
+ (float)rect.Right,
+ (float)rect.Bottom),
RadiusX = cornerRadius,
RadiusY = cornerRadius
},
@@ -260,8 +261,8 @@ namespace Perspex.Direct2D1.Media
{
var parameters = new LayerParameters
{
- ContentBounds = RectangleF.Infinite,
- MaskTransform = Matrix3x2.Identity,
+ ContentBounds = PrimitiveExtensions.RectangleInfinite,
+ MaskTransform = PrimitiveExtensions.Matrix3x2Identity,
Opacity = (float) opacity,
};
@@ -295,8 +296,8 @@ namespace Perspex.Direct2D1.Media
var solidColorBrush = brush as Perspex.Media.SolidColorBrush;
var linearGradientBrush = brush as Perspex.Media.LinearGradientBrush;
var radialGradientBrush = brush as Perspex.Media.RadialGradientBrush;
- var imageBrush = brush as ImageBrush;
- var visualBrush = brush as VisualBrush;
+ var imageBrush = brush as Perspex.Media.ImageBrush;
+ var visualBrush = brush as Perspex.Media.VisualBrush;
if (solidColorBrush != null)
{
diff --git a/src/Windows/Perspex.Direct2D1/Media/FormattedTextImpl.cs b/src/Windows/Perspex.Direct2D1/Media/FormattedTextImpl.cs
index 1368a574fd..22f8b94491 100644
--- a/src/Windows/Perspex.Direct2D1/Media/FormattedTextImpl.cs
+++ b/src/Windows/Perspex.Direct2D1/Media/FormattedTextImpl.cs
@@ -68,8 +68,8 @@ namespace Perspex.Direct2D1.Media
public TextHitTestResult HitTestPoint(Point point)
{
- SharpDX.Bool isTrailingHit;
- SharpDX.Bool isInside;
+ SharpDX.Mathematics.Interop.RawBool isTrailingHit;
+ SharpDX.Mathematics.Interop.RawBool isInside;
var result = TextLayout.HitTestPoint(
(float)point.X,
diff --git a/src/Windows/Perspex.Direct2D1/Media/LinearGradientBrushImpl.cs b/src/Windows/Perspex.Direct2D1/Media/LinearGradientBrushImpl.cs
index 436826fbaa..caf58044d6 100644
--- a/src/Windows/Perspex.Direct2D1/Media/LinearGradientBrushImpl.cs
+++ b/src/Windows/Perspex.Direct2D1/Media/LinearGradientBrushImpl.cs
@@ -41,7 +41,7 @@ namespace Perspex.Direct2D1.Media
new SharpDX.Direct2D1.BrushProperties
{
Opacity = (float)brush.Opacity,
- Transform = SharpDX.Matrix3x2.Identity,
+ Transform = PrimitiveExtensions.Matrix3x2Identity,
},
stops);
}
diff --git a/src/Windows/Perspex.Direct2D1/Media/PerspexTextRenderer.cs b/src/Windows/Perspex.Direct2D1/Media/PerspexTextRenderer.cs
index 24faf13578..806883c172 100644
--- a/src/Windows/Perspex.Direct2D1/Media/PerspexTextRenderer.cs
+++ b/src/Windows/Perspex.Direct2D1/Media/PerspexTextRenderer.cs
@@ -5,6 +5,7 @@ using System;
using SharpDX;
using SharpDX.Direct2D1;
using SharpDX.DirectWrite;
+using SharpDX.Mathematics.Interop;
namespace Perspex.Direct2D1.Media
{
@@ -54,7 +55,7 @@ namespace Perspex.Direct2D1.Media
_context.CreateBrush(wrapper.Brush, new Size()).PlatformBrush;
_renderTarget.DrawGlyphRun(
- new Vector2(baselineOriginX, baselineOriginY),
+ new RawVector2 { X = baselineOriginX, Y = baselineOriginY },
glyphRun,
brush,
measuringMode);
@@ -82,7 +83,7 @@ namespace Perspex.Direct2D1.Media
throw new NotImplementedException();
}
- public Matrix3x2 GetCurrentTransform(object clientDrawingContext)
+ public RawMatrix3x2 GetCurrentTransform(object clientDrawingContext)
{
return _renderTarget.Transform;
}
diff --git a/src/Windows/Perspex.Direct2D1/Media/RadialGradientBrushImpl.cs b/src/Windows/Perspex.Direct2D1/Media/RadialGradientBrushImpl.cs
index 356f5d8533..80cc87821a 100644
--- a/src/Windows/Perspex.Direct2D1/Media/RadialGradientBrushImpl.cs
+++ b/src/Windows/Perspex.Direct2D1/Media/RadialGradientBrushImpl.cs
@@ -47,7 +47,7 @@ namespace Perspex.Direct2D1.Media
new SharpDX.Direct2D1.BrushProperties
{
Opacity = (float)brush.Opacity,
- Transform = SharpDX.Matrix3x2.Identity,
+ Transform = PrimitiveExtensions.Matrix3x2Identity,
},
stops);
}
diff --git a/src/Windows/Perspex.Direct2D1/Media/SolidColorBrushImpl.cs b/src/Windows/Perspex.Direct2D1/Media/SolidColorBrushImpl.cs
index ce48231891..82a7db516d 100644
--- a/src/Windows/Perspex.Direct2D1/Media/SolidColorBrushImpl.cs
+++ b/src/Windows/Perspex.Direct2D1/Media/SolidColorBrushImpl.cs
@@ -9,7 +9,7 @@ namespace Perspex.Direct2D1.Media
{
PlatformBrush = new SharpDX.Direct2D1.SolidColorBrush(
target,
- brush?.Color.ToDirect2D() ?? new SharpDX.Color4(),
+ brush?.Color.ToDirect2D() ?? new SharpDX.Mathematics.Interop.RawColor4(),
new SharpDX.Direct2D1.BrushProperties
{
Opacity = brush != null ? (float)brush.Opacity : 1.0f,
diff --git a/src/Windows/Perspex.Direct2D1/Media/TileBrushImpl.cs b/src/Windows/Perspex.Direct2D1/Media/TileBrushImpl.cs
index 413035f5e9..9d1ba2dbe2 100644
--- a/src/Windows/Perspex.Direct2D1/Media/TileBrushImpl.cs
+++ b/src/Windows/Perspex.Direct2D1/Media/TileBrushImpl.cs
@@ -38,14 +38,15 @@ namespace Perspex.Direct2D1.Media
private static BrushProperties GetBrushProperties(TileBrush brush, Rect destinationRect)
{
+ var tileTransform =
+ brush.TileMode != TileMode.None ?
+ Matrix.CreateTranslation(destinationRect.X, destinationRect.Y) :
+ Matrix.Identity;
+
return new BrushProperties
{
Opacity = (float)brush.Opacity,
- Transform = brush.TileMode != TileMode.None ?
- SharpDX.Matrix3x2.Translation(
- (float)destinationRect.X,
- (float)destinationRect.Y) :
- SharpDX.Matrix3x2.Identity,
+ Transform = tileTransform.ToDirect2D(),
};
}
diff --git a/src/Windows/Perspex.Direct2D1/Perspex.Direct2D1.csproj b/src/Windows/Perspex.Direct2D1/Perspex.Direct2D1.csproj
index 924d90927b..491badd112 100644
--- a/src/Windows/Perspex.Direct2D1/Perspex.Direct2D1.csproj
+++ b/src/Windows/Perspex.Direct2D1/Perspex.Direct2D1.csproj
@@ -35,17 +35,17 @@
bin\Release\Perspex.Direct2D1.XML
-
- False
- $(SharpDXPackageBinDir)\SharpDX.dll
+
+ ..\..\..\packages\SharpDX.3.0.0\lib\net45\SharpDX.dll
+ True
-
- False
- $(SharpDXPackageBinDir)\SharpDX.Direct2D1.dll
+
+ ..\..\..\packages\SharpDX.Direct2D1.3.0.0\lib\net45\SharpDX.Direct2D1.dll
+ True
-
- False
- $(SharpDXPackageBinDir)\SharpDX.DXGI.dll
+
+ ..\..\..\packages\SharpDX.DXGI.3.0.0\lib\net45\SharpDX.DXGI.dll
+ True
@@ -117,13 +117,6 @@
-
-
-
- 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}.
-
-
-