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}. - - -