diff --git a/appveyor.yml b/appveyor.yml index 76f991d38e..3c36c2fcd3 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -os: Visual Studio 2017 RC +os: Visual Studio 2017 platform: - Any CPU configuration: @@ -11,10 +11,10 @@ environment: secure: OtVfyN3ErqQrDTnWH2HDfJDlCiu/i4/X4wFmK3ZXXP7HmCiXYPSbTjMPwwdOxRaK MYGET_API_URL: https://www.myget.org/F/avalonia-ci/api/v2/package install: - - if not exist dotnet-1.0.1.exe appveyor DownloadFile https://go.microsoft.com/fwlink/?linkid=843448 -FileName "dotnet-1.0.1.exe" - if not exist gtk-sharp-2.12.26.msi appveyor DownloadFile http://download.xamarin.com/GTKforWindows/Windows/gtk-sharp-2.12.26.msi - - msiexec /i gtk-sharp-2.12.26.msi /qn /norestart - - cmd: call dotnet-1.0.1.exe /quiet + - if not exist dotnet-1.0.1.exe appveyor DownloadFile https://go.microsoft.com/fwlink/?linkid=843448 -FileName "dotnet-1.0.1.exe" + - ps: Start-Process -FilePath "msiexec" -ArgumentList "/i gtk-sharp-2.12.26.msi /quiet /qn /norestart" -Wait + - ps: Start-Process -FilePath "dotnet-1.0.1.exe" -ArgumentList "/quiet" -Wait - cmd: set PATH=%programfiles(x86)%\GtkSharp\2.12\bin\;%PATH% before_build: - git submodule update --init diff --git a/src/Avalonia.Visuals/Media/ImageBrush.cs b/src/Avalonia.Visuals/Media/ImageBrush.cs index 85c1f6c71a..69b98fd35c 100644 --- a/src/Avalonia.Visuals/Media/ImageBrush.cs +++ b/src/Avalonia.Visuals/Media/ImageBrush.cs @@ -8,7 +8,7 @@ namespace Avalonia.Media /// /// Paints an area with an . /// - public class ImageBrush : TileBrush, IImageBrush + public class ImageBrush : TileBrush, IImageBrush, IMutableBrush { /// /// Defines the property. @@ -17,14 +17,14 @@ namespace Avalonia.Media AvaloniaProperty.Register("Source"); /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// public ImageBrush() { } /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// /// The image to draw. public ImageBrush(IBitmap source) @@ -40,5 +40,11 @@ namespace Avalonia.Media get { return GetValue(SourceProperty); } set { SetValue(SourceProperty, value); } } + + /// + IBrush IMutableBrush.ToImmutable() + { + return new Immutable.ImmutableImageBrush(this); + } } } diff --git a/src/Avalonia.Visuals/Media/LinearGradientBrush.cs b/src/Avalonia.Visuals/Media/LinearGradientBrush.cs index 33eea4fbad..6c0d500343 100644 --- a/src/Avalonia.Visuals/Media/LinearGradientBrush.cs +++ b/src/Avalonia.Visuals/Media/LinearGradientBrush.cs @@ -6,7 +6,7 @@ namespace Avalonia.Media /// /// A brush that draws with a linear gradient. /// - public sealed class LinearGradientBrush : GradientBrush, ILinearGradientBrush + public sealed class LinearGradientBrush : GradientBrush, ILinearGradientBrush, IMutableBrush { /// /// Defines the property. @@ -41,5 +41,11 @@ namespace Avalonia.Media get { return GetValue(EndPointProperty); } set { SetValue(EndPointProperty, value); } } + + /// + IBrush IMutableBrush.ToImmutable() + { + return new Immutable.ImmutableLinearGradientBrush(this); + } } } \ No newline at end of file diff --git a/src/Avalonia.Visuals/Media/RadialGradientBrush.cs b/src/Avalonia.Visuals/Media/RadialGradientBrush.cs index b721e19138..9f9c2733ec 100644 --- a/src/Avalonia.Visuals/Media/RadialGradientBrush.cs +++ b/src/Avalonia.Visuals/Media/RadialGradientBrush.cs @@ -7,7 +7,7 @@ namespace Avalonia.Media /// Paints an area with a radial gradient. A focal point defines the beginning of the gradient, /// and a circle defines the end point of the gradient. /// - public sealed class RadialGradientBrush : GradientBrush, IRadialGradientBrush + public sealed class RadialGradientBrush : GradientBrush, IRadialGradientBrush, IMutableBrush { /// /// Defines the property. @@ -61,5 +61,11 @@ namespace Avalonia.Media get { return GetValue(RadiusProperty); } set { SetValue(RadiusProperty, value); } } + + /// + IBrush IMutableBrush.ToImmutable() + { + return new Immutable.ImmutableRadialGradientBrush(this); + } } } \ No newline at end of file diff --git a/src/Avalonia.Visuals/Media/VisualBrush.cs b/src/Avalonia.Visuals/Media/VisualBrush.cs index 85ccf7afc9..a6d2b8ae8f 100644 --- a/src/Avalonia.Visuals/Media/VisualBrush.cs +++ b/src/Avalonia.Visuals/Media/VisualBrush.cs @@ -8,7 +8,7 @@ namespace Avalonia.Media /// /// Paints an area with an . /// - public class VisualBrush : TileBrush, IVisualBrush + public class VisualBrush : TileBrush, IVisualBrush, IMutableBrush { /// /// Defines the property. @@ -40,5 +40,11 @@ namespace Avalonia.Media get { return GetValue(VisualProperty); } set { SetValue(VisualProperty, value); } } + + /// + IBrush IMutableBrush.ToImmutable() + { + return new Immutable.ImmutableVisualBrush(this); + } } }