Add gradient brushes.

This commit is contained in:
H. Utku Maden 2024-12-24 22:10:31 +03:00
parent 6ad11812e2
commit 3dff7438b3

@ -14,26 +14,36 @@ namespace Dashboard.Drawing
{ {
} }
public readonly struct SolidBrush : IBrush public readonly struct SolidBrush(Color Color) : IBrush
{ {
public IDrawExtension Kind { get; } = SolidBrushExtension.Instance; public IDrawExtension Kind { get; } = SolidBrushExtension.Instance;
public Color Color { get; }
public SolidBrush(Color color)
{
Color = color;
}
public override int GetHashCode() public override int GetHashCode()
{ {
return HashCode.Combine(Kind, Color); return HashCode.Combine(Kind, Color);
} }
} }
public readonly struct GradientBrush(Gradient Gradient) : IBrush
{
public IDrawExtension Kind { get; } = GradientBrushExtension.Instance;
public override int GetHashCode()
{
return HashCode.Combine(Kind, Gradient);
}
}
public class SolidBrushExtension : DrawExtension public class SolidBrushExtension : DrawExtension
{ {
private SolidBrushExtension() : base("DB_Brush_solid", new[] { BrushExtension.Instance }) { } private SolidBrushExtension() : base("DB_Brush_solid", new[] { BrushExtension.Instance }) { }
public static readonly SolidBrushExtension Instance = new SolidBrushExtension(); public static readonly SolidBrushExtension Instance = new SolidBrushExtension();
} }
public class GradientBrushExtension : DrawExtension
{
private GradientBrushExtension() : base("DB_Brush_gradient", new[] { BrushExtension.Instance }) { }
public static readonly GradientBrushExtension Instance = new GradientBrushExtension();
}
} }