using System; namespace Quik { /// /// Interface for texture instances. /// public interface IQuikTexture : IEquatable, IDisposable { /// /// Width of the texture. /// int Width { get; } /// /// Height of the texture. /// int Height { get; } /// /// True if the texture can have mipmaps. /// bool Mipmaps { get; } /// /// Upload texture data. /// /// Pointer to data. /// Color format of the data. /// Size of the texture data. /// Mip level. /// Pixel alignment. Expected to be 1, 2, 4, or 8. void Image(IntPtr data, QuikImageFormat format, QuikVec2 size, int level, int alignment = 4); /// /// Upload texture data. /// /// Pointer to data. /// Color format for the data. /// Location of the data in the texture. /// Mip level. /// Pixel alignment. Expected to be 1, 2, 4, or 8. void SubImage(IntPtr data, QuikImageFormat format, QuikRectangle location, int level, int alignment = 4); /// /// Generate the mip maps for the texture. /// void GenerateMipMaps(); } }