diff --git a/src/Gtk/Avalonia.Cairo/Media/DrawingContext.cs b/src/Gtk/Avalonia.Cairo/Media/DrawingContext.cs index 9ec37d5514..c9d07ad0cb 100644 --- a/src/Gtk/Avalonia.Cairo/Media/DrawingContext.cs +++ b/src/Gtk/Avalonia.Cairo/Media/DrawingContext.cs @@ -290,10 +290,10 @@ namespace Avalonia.Cairo.Media private BrushImpl CreateBrushImpl(IBrush brush, Size destinationSize) { var solid = brush as SolidColorBrush; - var linearGradientBrush = brush as LinearGradientBrush; - var radialGradientBrush = brush as RadialGradientBrush; - var imageBrush = brush as ImageBrush; - var visualBrush = brush as VisualBrush; + var linearGradientBrush = brush as ILinearGradientBrush; + var radialGradientBrush = brush as IRadialGradientBrush; + var imageBrush = brush as IImageBrush; + var visualBrush = brush as IVisualBrush; BrushImpl impl = null; if (solid != null) diff --git a/src/Gtk/Avalonia.Cairo/Media/ImageBrushImpl.cs b/src/Gtk/Avalonia.Cairo/Media/ImageBrushImpl.cs index 486ad50b1f..0ee7c630aa 100644 --- a/src/Gtk/Avalonia.Cairo/Media/ImageBrushImpl.cs +++ b/src/Gtk/Avalonia.Cairo/Media/ImageBrushImpl.cs @@ -1,11 +1,12 @@ using System; +using Avalonia.Media; using global::Cairo; namespace Avalonia.Cairo.Media { public class ImageBrushImpl : BrushImpl { - public ImageBrushImpl(Avalonia.Media.ImageBrush brush, Size destinationSize) + public ImageBrushImpl(IImageBrush brush, Size destinationSize) { this.PlatformBrush = TileBrushes.CreateTileBrush(brush, destinationSize); } diff --git a/src/Gtk/Avalonia.Cairo/Media/LinearGradientBrushImpl.cs b/src/Gtk/Avalonia.Cairo/Media/LinearGradientBrushImpl.cs index c809e5d2da..1e82da4059 100644 --- a/src/Gtk/Avalonia.Cairo/Media/LinearGradientBrushImpl.cs +++ b/src/Gtk/Avalonia.Cairo/Media/LinearGradientBrushImpl.cs @@ -1,11 +1,12 @@ using System; +using Avalonia.Media; using global::Cairo; namespace Avalonia.Cairo { public class LinearGradientBrushImpl : BrushImpl { - public LinearGradientBrushImpl(Avalonia.Media.LinearGradientBrush brush, Size destinationSize) + public LinearGradientBrushImpl(ILinearGradientBrush brush, Size destinationSize) { var start = brush.StartPoint.ToPixels(destinationSize); var end = brush.EndPoint.ToPixels(destinationSize); diff --git a/src/Gtk/Avalonia.Cairo/Media/RadialGradientBrushImpl.cs b/src/Gtk/Avalonia.Cairo/Media/RadialGradientBrushImpl.cs index 3fcb9c8244..52460c9628 100644 --- a/src/Gtk/Avalonia.Cairo/Media/RadialGradientBrushImpl.cs +++ b/src/Gtk/Avalonia.Cairo/Media/RadialGradientBrushImpl.cs @@ -1,11 +1,12 @@ using System; +using Avalonia.Media; using global::Cairo; namespace Avalonia.Cairo { public class RadialGradientBrushImpl : BrushImpl { - public RadialGradientBrushImpl(Avalonia.Media.RadialGradientBrush brush, Size destinationSize) + public RadialGradientBrushImpl(IRadialGradientBrush brush, Size destinationSize) { var center = brush.Center.ToPixels(destinationSize); var gradientOrigin = brush.GradientOrigin.ToPixels(destinationSize); diff --git a/src/Gtk/Avalonia.Cairo/Media/TileBrushes.cs b/src/Gtk/Avalonia.Cairo/Media/TileBrushes.cs index b533210749..eb78c9d2f3 100644 --- a/src/Gtk/Avalonia.Cairo/Media/TileBrushes.cs +++ b/src/Gtk/Avalonia.Cairo/Media/TileBrushes.cs @@ -14,7 +14,7 @@ namespace Avalonia.Cairo.Media { internal static class TileBrushes { - public static SurfacePattern CreateTileBrush(TileBrush brush, Size targetSize) + public static SurfacePattern CreateTileBrush(ITileBrush brush, Size targetSize) { var helper = new TileBrushImplHelper(brush, targetSize); if (!helper.IsValid) diff --git a/src/Gtk/Avalonia.Cairo/Media/VisualBrushImpl.cs b/src/Gtk/Avalonia.Cairo/Media/VisualBrushImpl.cs index 7c0e59e4d9..e820c50420 100644 --- a/src/Gtk/Avalonia.Cairo/Media/VisualBrushImpl.cs +++ b/src/Gtk/Avalonia.Cairo/Media/VisualBrushImpl.cs @@ -1,11 +1,12 @@ using System; +using Avalonia.Media; using global::Cairo; namespace Avalonia.Cairo.Media { public class VisualBrushImpl : BrushImpl { - public VisualBrushImpl(Avalonia.Media.VisualBrush brush, Size destinationSize) + public VisualBrushImpl(IVisualBrush brush, Size destinationSize) { this.PlatformBrush = TileBrushes.CreateTileBrush(brush, destinationSize); } diff --git a/src/Shared/RenderHelpers/TileBrushImplHelper.cs b/src/Shared/RenderHelpers/TileBrushImplHelper.cs index de26b6ca36..ad1dc44c61 100644 --- a/src/Shared/RenderHelpers/TileBrushImplHelper.cs +++ b/src/Shared/RenderHelpers/TileBrushImplHelper.cs @@ -17,17 +17,17 @@ namespace Avalonia.RenderHelpers private readonly Vector _scale; private readonly Vector _translate; private readonly Size _imageSize; - private readonly VisualBrush _visualBrush; - private readonly ImageBrush _imageBrush; + private readonly IVisualBrush _visualBrush; + private readonly IImageBrush _imageBrush; private readonly Matrix _transform; private readonly Rect _drawRect; public bool IsValid { get; } - public TileBrushImplHelper(TileBrush brush, Size targetSize) + public TileBrushImplHelper(ITileBrush brush, Size targetSize) { - _imageBrush = brush as ImageBrush; - _visualBrush = brush as VisualBrush; + _imageBrush = brush as IImageBrush; + _visualBrush = brush as IVisualBrush; if (_imageBrush != null) { if (_imageBrush.Source == null) @@ -112,7 +112,7 @@ namespace Avalonia.RenderHelpers /// - /// Calculates a translate based on a , a source and destination + /// Calculates a translate based on an , a source and destination /// rectangle and a scale. /// /// The brush. @@ -122,7 +122,7 @@ namespace Avalonia.RenderHelpers /// A vector with the X and Y _translate. public static Vector CalculateTranslate( - TileBrush brush, + ITileBrush brush, Rect sourceRect, Rect destinationRect, Vector scale) diff --git a/src/Skia/Avalonia.Skia/DrawingContextImpl.cs b/src/Skia/Avalonia.Skia/DrawingContextImpl.cs index 0b1ef3fea7..10ce1d1c91 100644 --- a/src/Skia/Avalonia.Skia/DrawingContextImpl.cs +++ b/src/Skia/Avalonia.Skia/DrawingContextImpl.cs @@ -148,14 +148,14 @@ namespace Avalonia.Skia return rv; } - var gradient = brush as GradientBrush; + var gradient = brush as IGradientBrush; if (gradient != null) { var tileMode = gradient.SpreadMethod.ToSKShaderTileMode(); var stopColors = gradient.GradientStops.Select(s => s.Color.ToSKColor()).ToArray(); var stopOffsets = gradient.GradientStops.Select(s => (float)s.Offset).ToArray(); - var linearGradient = brush as LinearGradientBrush; + var linearGradient = brush as ILinearGradientBrush; if (linearGradient != null) { var start = linearGradient.StartPoint.ToPixels(targetSize).ToSKPoint(); @@ -168,7 +168,7 @@ namespace Avalonia.Skia } else { - var radialGradient = brush as RadialGradientBrush; + var radialGradient = brush as IRadialGradientBrush; if (radialGradient != null) { var center = radialGradient.Center.ToPixels(targetSize).ToSKPoint(); @@ -187,7 +187,7 @@ namespace Avalonia.Skia return rv; } - var tileBrush = brush as TileBrush; + var tileBrush = brush as ITileBrush; if (tileBrush != null) { var helper = new TileBrushImplHelper(tileBrush, targetSize); diff --git a/src/Windows/Avalonia.Direct2D1/Media/DrawingContext.cs b/src/Windows/Avalonia.Direct2D1/Media/DrawingContext.cs index 9e90d08280..51925d5341 100644 --- a/src/Windows/Avalonia.Direct2D1/Media/DrawingContext.cs +++ b/src/Windows/Avalonia.Direct2D1/Media/DrawingContext.cs @@ -311,11 +311,11 @@ namespace Avalonia.Direct2D1.Media /// The Direct2D brush wrapper. public BrushImpl CreateBrush(IBrush brush, Size destinationSize) { - var solidColorBrush = brush as Avalonia.Media.ISolidColorBrush; - var linearGradientBrush = brush as Avalonia.Media.LinearGradientBrush; - var radialGradientBrush = brush as Avalonia.Media.RadialGradientBrush; - var imageBrush = brush as Avalonia.Media.ImageBrush; - var visualBrush = brush as Avalonia.Media.VisualBrush; + var solidColorBrush = brush as ISolidColorBrush; + var linearGradientBrush = brush as ILinearGradientBrush; + var radialGradientBrush = brush as IRadialGradientBrush; + var imageBrush = brush as IImageBrush; + var visualBrush = brush as IVisualBrush; if (solidColorBrush != null) { @@ -339,7 +339,7 @@ namespace Avalonia.Direct2D1.Media } else { - return new SolidColorBrushImpl((Avalonia.Media.SolidColorBrush)null, _renderTarget); + return new SolidColorBrushImpl(null, _renderTarget); } } diff --git a/src/Windows/Avalonia.Direct2D1/Media/LinearGradientBrushImpl.cs b/src/Windows/Avalonia.Direct2D1/Media/LinearGradientBrushImpl.cs index 8d8058340e..5369f84f46 100644 --- a/src/Windows/Avalonia.Direct2D1/Media/LinearGradientBrushImpl.cs +++ b/src/Windows/Avalonia.Direct2D1/Media/LinearGradientBrushImpl.cs @@ -2,13 +2,14 @@ // Licensed under the MIT license. See licence.md file in the project root for full license information. using System.Linq; +using Avalonia.Media; namespace Avalonia.Direct2D1.Media { public class LinearGradientBrushImpl : BrushImpl { public LinearGradientBrushImpl( - Avalonia.Media.LinearGradientBrush brush, + ILinearGradientBrush brush, SharpDX.Direct2D1.RenderTarget target, Size destinationSize) { diff --git a/src/Windows/Avalonia.Direct2D1/Media/RadialGradientBrushImpl.cs b/src/Windows/Avalonia.Direct2D1/Media/RadialGradientBrushImpl.cs index 72779096ff..85417fe918 100644 --- a/src/Windows/Avalonia.Direct2D1/Media/RadialGradientBrushImpl.cs +++ b/src/Windows/Avalonia.Direct2D1/Media/RadialGradientBrushImpl.cs @@ -2,13 +2,14 @@ // Licensed under the MIT license. See licence.md file in the project root for full license information. using System.Linq; +using Avalonia.Media; namespace Avalonia.Direct2D1.Media { public class RadialGradientBrushImpl : BrushImpl { public RadialGradientBrushImpl( - Avalonia.Media.RadialGradientBrush brush, + IRadialGradientBrush brush, SharpDX.Direct2D1.RenderTarget target, Size destinationSize) { diff --git a/src/Windows/Avalonia.Direct2D1/Media/TileBrushImpl.cs b/src/Windows/Avalonia.Direct2D1/Media/TileBrushImpl.cs index dd1aac3776..b0c4a2c83b 100644 --- a/src/Windows/Avalonia.Direct2D1/Media/TileBrushImpl.cs +++ b/src/Windows/Avalonia.Direct2D1/Media/TileBrushImpl.cs @@ -10,7 +10,7 @@ namespace Avalonia.Direct2D1.Media public sealed class TileBrushImpl : BrushImpl { public TileBrushImpl( - TileBrush brush, + ITileBrush brush, SharpDX.Direct2D1.RenderTarget target, Size targetSize) { @@ -34,7 +34,7 @@ namespace Avalonia.Direct2D1.Media } } - private static BrushProperties GetBrushProperties(TileBrush brush, Rect destinationRect) + private static BrushProperties GetBrushProperties(ITileBrush brush, Rect destinationRect) { var tileTransform = brush.TileMode != TileMode.None ? @@ -48,7 +48,7 @@ namespace Avalonia.Direct2D1.Media }; } - private static BitmapBrushProperties GetBitmapBrushProperties(TileBrush brush) + private static BitmapBrushProperties GetBitmapBrushProperties(ITileBrush brush) { var tileMode = brush.TileMode;