Skip to content

Commit

Permalink
Changed ImageTexture Image to be public
Browse files Browse the repository at this point in the history
  • Loading branch information
DarthAffe committed Jul 21, 2024
1 parent b1cf26b commit cfbbdc6
Showing 1 changed file with 20 additions and 5 deletions.
25 changes: 20 additions & 5 deletions RGB.NET.Presets/Textures/ImageTexture.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,26 @@ namespace RGB.NET.Presets.Textures;

/// <inheritdoc />
/// <summary>
/// Represents a texture drawing an <see cref="IImage"/>.
/// Represents a texture drawing an <see cref="IImage"/>.
/// </summary>
public sealed class ImageTexture : ITexture
{
#region Properties & Fields

private readonly IImage _image;
private IImage _image;

/// <summary>
/// The image drawn by this texture.
/// </summary>
public IImage Image
{
get => _image;
set
{
ArgumentNullException.ThrowIfNull(value);
_image = value;
}
}

/// <inheritdoc />
public Size Size { get; }
Expand All @@ -26,7 +39,7 @@ public Color this[Point point]
int x = (int)MathF.Round((Size.Width - 1) * point.X.Clamp(0, 1));
int y = (int)MathF.Round((Size.Height - 1) * point.Y.Clamp(0, 1));

return _image[x, y].ToColor();
return Image[x, y].ToColor();
}
}

Expand Down Expand Up @@ -55,7 +68,7 @@ public Color this[Rectangle rectangle]
/// <param name="width">The with of the region.</param>
/// <param name="height">The height of the region.</param>
/// <returns>The sampled color.</returns>
public Color this[int x, int y, int width, int height] => _image[x, y, width, height].Average().ToColor();
public Color this[int x, int y, int width, int height] => Image[x, y, width, height].Average().ToColor();

#endregion

Expand All @@ -65,9 +78,11 @@ public Color this[Rectangle rectangle]
/// Initializes a new instance of the <see cref="ImageTexture" /> class.
/// </summary>
/// <param name="image">The image represented by the texture.</param>
#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
public ImageTexture(IImage image)
#pragma warning restore CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
{
this._image = image;
this.Image = image;

Size = new Size(image.Width, image.Height);
}
Expand Down

0 comments on commit cfbbdc6

Please sign in to comment.