From 9e9875274da29168104b933ddccd026dfd227b25 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 1 May 2018 22:35:15 +0200 Subject: [PATCH] #542: apply change requests made by @tocsoft in code review. --- ...sh.cs => EllipticGradientBrush{TPixel}.cs} | 4 +-- .../LinearGradientBrush{TPixel}.cs | 28 ++----------------- .../GradientBrushes/RadialGradientBrush.cs | 4 +-- 3 files changed, 6 insertions(+), 30 deletions(-) rename src/ImageSharp.Drawing/Processing/Drawing/Brushes/GradientBrushes/{EllipticGradientBrush.cs => EllipticGradientBrush{TPixel}.cs} (97%) diff --git a/src/ImageSharp.Drawing/Processing/Drawing/Brushes/GradientBrushes/EllipticGradientBrush.cs b/src/ImageSharp.Drawing/Processing/Drawing/Brushes/GradientBrushes/EllipticGradientBrush{TPixel}.cs similarity index 97% rename from src/ImageSharp.Drawing/Processing/Drawing/Brushes/GradientBrushes/EllipticGradientBrush.cs rename to src/ImageSharp.Drawing/Processing/Drawing/Brushes/GradientBrushes/EllipticGradientBrush{TPixel}.cs index 471553318..74effa861 100644 --- a/src/ImageSharp.Drawing/Processing/Drawing/Brushes/GradientBrushes/EllipticGradientBrush.cs +++ b/src/ImageSharp.Drawing/Processing/Drawing/Brushes/GradientBrushes/EllipticGradientBrush{TPixel}.cs @@ -12,7 +12,7 @@ namespace SixLabors.ImageSharp.Processing.Drawing.Brushes.GradientBrushes /// the ratio between longest and shortest extension. /// /// The Pixel format that is used. - public class EllipticGradientBrush : AbstractGradientBrush + public sealed class EllipticGradientBrush : AbstractGradientBrush where TPixel : struct, IPixel { private readonly Point center; @@ -59,7 +59,7 @@ namespace SixLabors.ImageSharp.Processing.Drawing.Brushes.GradientBrushes this.RepetitionMode); /// - protected class RadialGradientBrushApplicator : AbstractGradientBrushApplicator + private sealed class RadialGradientBrushApplicator : AbstractGradientBrushApplicator { private readonly Point center; diff --git a/src/ImageSharp.Drawing/Processing/Drawing/Brushes/GradientBrushes/LinearGradientBrush{TPixel}.cs b/src/ImageSharp.Drawing/Processing/Drawing/Brushes/GradientBrushes/LinearGradientBrush{TPixel}.cs index 8dbc4df90..6cfa4651b 100644 --- a/src/ImageSharp.Drawing/Processing/Drawing/Brushes/GradientBrushes/LinearGradientBrush{TPixel}.cs +++ b/src/ImageSharp.Drawing/Processing/Drawing/Brushes/GradientBrushes/LinearGradientBrush{TPixel}.cs @@ -11,7 +11,7 @@ namespace SixLabors.ImageSharp.Processing.Drawing.Brushes.GradientBrushes /// - a set of colors in relative distances to each other. /// /// The pixel format - public class LinearGradientBrush : AbstractGradientBrush + public sealed class LinearGradientBrush : AbstractGradientBrush where TPixel : struct, IPixel { private readonly Point p1; @@ -43,7 +43,7 @@ namespace SixLabors.ImageSharp.Processing.Drawing.Brushes.GradientBrushes /// /// The linear gradient brush applicator. /// - private class LinearGradientBrushApplicator : AbstractGradientBrushApplicator + private sealed class LinearGradientBrushApplicator : AbstractGradientBrushApplicator { private readonly Point start; @@ -147,30 +147,6 @@ namespace SixLabors.ImageSharp.Processing.Drawing.Brushes.GradientBrushes public override void Dispose() { } - - internal override void Apply(Span scanline, int x, int y) - { - base.Apply(scanline, x, y); - - // TODO: we should at least(!) speed up the x=0 and y=0 special cases. - // But in fact that could be done by special case Applicators directly: - // - horizontal would apply a precalc. row independent of given row, - // - vertical would get the color of the row once and fill the whole line. - - // Span destinationRow = this.Target.GetPixelRowSpan(y).Slice(x, scanline.Length); - // MemoryManager memoryManager = this.Target.MemoryManager; - // using (IBuffer amountBuffer = memoryManager.Allocate(scanline.Length)) - // { - // Span amountSpan = amountBuffer.Span; - // - // for (int i = 0; i < scanline.Length; i++) - // { - // amountSpan[i] = scanline[i] * this.Options.BlendPercentage; - // } - // - // this.Blender.Blend(memoryManager, destinationRow, destinationRow, this.Colors.Span, amountSpan); - // } - } } } } \ No newline at end of file diff --git a/src/ImageSharp.Drawing/Processing/Drawing/Brushes/GradientBrushes/RadialGradientBrush.cs b/src/ImageSharp.Drawing/Processing/Drawing/Brushes/GradientBrushes/RadialGradientBrush.cs index 53b34e233..d1a99a015 100644 --- a/src/ImageSharp.Drawing/Processing/Drawing/Brushes/GradientBrushes/RadialGradientBrush.cs +++ b/src/ImageSharp.Drawing/Processing/Drawing/Brushes/GradientBrushes/RadialGradientBrush.cs @@ -9,7 +9,7 @@ namespace SixLabors.ImageSharp.Processing.Drawing.Brushes.GradientBrushes /// A Circular Gradient Brush, defined by center point and radius. /// /// The pixel format. - public class RadialGradientBrush : AbstractGradientBrush + public sealed class RadialGradientBrush : AbstractGradientBrush where TPixel : struct, IPixel { private readonly Point center; @@ -46,7 +46,7 @@ namespace SixLabors.ImageSharp.Processing.Drawing.Brushes.GradientBrushes this.RepetitionMode); /// - protected class RadialGradientBrushApplicator : AbstractGradientBrushApplicator + private sealed class RadialGradientBrushApplicator : AbstractGradientBrushApplicator { private readonly Point center;