namespace RGB.NET.Core;
///
/// Represents a generic texture.
///
public interface ITexture
{
///
/// Gets a empty texture.
///
static ITexture Empty => new EmptyTexture();
///
/// Gets the size of the texture
///
Size Size { get; }
///
/// Gets the color at the specified location.
///
/// The location to get the color from.
/// The color at the specified location.
Color this[in Point point] { get; }
///
/// Gets the sampled color inside the specified rectangle.
///
/// The rectangle to get the color from.
/// The sampled color.
Color this[in Rectangle rectangle] { get; }
}