Represents texture data. Don't store it. The usage is simple. Get by calling Lock on the texture, copy/update data, call Release().
You can find more information in comments below.
class ITextureData
{
public:
virtual int getWidth() = 0; // Return width
virtual int getHeight() = 0; // Return height
virtual int getPitch() = 0; // Return size of the row of data in bytes
virtual unsigned char *getData() = 0; // Return pointer to the data(format depends on used rendering technology)
virtual Color getPixel(const int x, const int y) = 0; // Return pixel color value at specified coordinates. This method checks whether coordinates are inside texture
// Since 8.0.0
virtual Color getPixelFast(const int x, const int y) = 0; // Return pixel color value at specified coordinates. This method does not check whether coordinates are inside texture
virtual void setPixel(const int x, const int y, const Color &value) = 0; // Set pixel color value at specified coordinates. This method checks whether coordinates are inside texture
// Since 8.0.0
virtual void setPixelFast(const int x, const int y, const Color &value) = 0; // Set pixel color value at specified coordinates. This method does not check whether coordinates are inside texture
virtual void Release() = 0; // Destroy instance and apply changes to corresponding texture(if it wasn't created for read only purpose)
};
Namespace: | nitisa |
Include: | Nitisa/Interfaces/ITexture.h |