committed by
GitHub
27 changed files with 212 additions and 46 deletions
@ -0,0 +1,21 @@ |
|||
using System.Collections.Generic; |
|||
|
|||
namespace Avalonia.Media |
|||
{ |
|||
/// <summary>
|
|||
/// A brush that draws with a gradient.
|
|||
/// </summary>
|
|||
public interface IGradientBrush : IBrush |
|||
{ |
|||
/// <summary>
|
|||
/// Gets the brush's gradient stops.
|
|||
/// </summary>
|
|||
IReadOnlyList<GradientStop> GradientStops { get; } |
|||
|
|||
/// <summary>
|
|||
/// Gets the brush's spread method that defines how to draw a gradient that doesn't fill
|
|||
/// the bounds of the destination control.
|
|||
/// </summary>
|
|||
GradientSpreadMethod SpreadMethod { get; } |
|||
} |
|||
} |
|||
@ -0,0 +1,18 @@ |
|||
namespace Avalonia.Media |
|||
{ |
|||
/// <summary>
|
|||
/// A brush that draws with a linear gradient.
|
|||
/// </summary>
|
|||
public interface ILinearGradientBrush : IGradientBrush |
|||
{ |
|||
/// <summary>
|
|||
/// Gets or sets the start point for the gradient.
|
|||
/// </summary>
|
|||
RelativePoint StartPoint { get; } |
|||
|
|||
/// <summary>
|
|||
/// Gets or sets the end point for the gradient.
|
|||
/// </summary>
|
|||
RelativePoint EndPoint { get; } |
|||
} |
|||
} |
|||
@ -0,0 +1,24 @@ |
|||
namespace Avalonia.Media |
|||
{ |
|||
/// <summary>
|
|||
/// Paints an area with a radial gradient.
|
|||
/// </summary>
|
|||
public interface IRadialGradientBrush : IGradientBrush |
|||
{ |
|||
/// <summary>
|
|||
/// Gets the start point for the gradient.
|
|||
/// </summary>
|
|||
RelativePoint Center { get; } |
|||
|
|||
/// <summary>
|
|||
/// Gets the location of the two-dimensional focal point that defines the beginning of the
|
|||
/// gradient.
|
|||
/// </summary>
|
|||
RelativePoint GradientOrigin { get; } |
|||
|
|||
/// <summary>
|
|||
/// Gets the horizontal and vertical radius of the outermost circle of the radial gradient.
|
|||
/// </summary>
|
|||
double Radius { get; } |
|||
} |
|||
} |
|||
@ -0,0 +1,39 @@ |
|||
namespace Avalonia.Media |
|||
{ |
|||
/// <summary>
|
|||
/// A brush which displays a repeating image.
|
|||
/// </summary>
|
|||
public interface ITileBrush : IBrush |
|||
{ |
|||
/// <summary>
|
|||
/// Gets the horizontal alignment of a tile in the destination.
|
|||
/// </summary>
|
|||
AlignmentX AlignmentX { get; } |
|||
|
|||
/// <summary>
|
|||
/// Gets the horizontal alignment of a tile in the destination.
|
|||
/// </summary>
|
|||
AlignmentY AlignmentY { get; } |
|||
|
|||
/// <summary>
|
|||
/// Gets the rectangle on the destination in which to paint a tile.
|
|||
/// </summary>
|
|||
RelativeRect DestinationRect { get; } |
|||
|
|||
/// <summary>
|
|||
/// Gets the rectangle of the source image that will be displayed.
|
|||
/// </summary>
|
|||
RelativeRect SourceRect { get; } |
|||
|
|||
/// <summary>
|
|||
/// Gets a value indicating how the source rectangle will be stretched to fill the
|
|||
/// destination rect.
|
|||
/// </summary>
|
|||
Stretch Stretch { get; } |
|||
|
|||
/// <summary>
|
|||
/// Gets the brush's tile mode.
|
|||
/// </summary>
|
|||
TileMode TileMode { get; } |
|||
} |
|||
} |
|||
@ -0,0 +1,15 @@ |
|||
using Avalonia.VisualTree; |
|||
|
|||
namespace Avalonia.Media |
|||
{ |
|||
/// <summary>
|
|||
/// Paints an area with an <see cref="IVisual"/>.
|
|||
/// </summary>
|
|||
public interface IVisualBrush : ITileBrush |
|||
{ |
|||
/// <summary>
|
|||
/// Gets the visual to draw.
|
|||
/// </summary>
|
|||
IVisual Visual { get; } |
|||
} |
|||
} |
|||
@ -0,0 +1,15 @@ |
|||
using Avalonia.Media.Imaging; |
|||
|
|||
namespace Avalonia.Media |
|||
{ |
|||
/// <summary>
|
|||
/// Paints an area with an <see cref="IBitmap"/>.
|
|||
/// </summary>
|
|||
public interface IImageBrush : ITileBrush |
|||
{ |
|||
/// <summary>
|
|||
/// Gets the image to draw.
|
|||
/// </summary>
|
|||
IBitmap Source { get; } |
|||
} |
|||
} |
|||
Loading…
Reference in new issue