Crazy Eddies GUI System  0.7.9
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
CEGUI::Texture Class Referenceabstract

Abstract base class specifying the required interface for Texture objects. More...

Inherited by CEGUI::Direct3D10Texture, CEGUI::Direct3D11Texture, CEGUI::Direct3D9Texture, CEGUI::DirectFBTexture, CEGUI::IrrlichtTexture, CEGUI::NullTexture, CEGUI::OgreTexture, and CEGUI::OpenGLTexture.

Public Types

enum  PixelFormat { PF_RGB, PF_RGBA }
 Enumerated type containing the supported pixel formats that can be passed to loadFromMemory. More...
 

Public Member Functions

virtual const SizegetSize () const =0
 Returns the current pixel size of the texture. More...
 
virtual const SizegetOriginalDataSize () const =0
 Returns the original pixel size of the data loaded into the texture. More...
 
virtual const Vector2getTexelScaling () const =0
 Returns pixel to texel scale values that should be used for converting pixel values to texture co-ords. More...
 
virtual void loadFromFile (const String &filename, const String &resourceGroup)=0
 Loads the specified image file into the texture. The texture is resized as required to hold the image. More...
 
virtual void loadFromMemory (const void *buffer, const Size &buffer_size, PixelFormat pixel_format)=0
 Loads (copies) an image in memory into the texture. The texture is resized as required to hold the image. More...
 
virtual void saveToMemory (void *buffer)=0
 Save / dump the content of the texture to a memory buffer. The dumped pixel format is always RGBA (4 bytes per pixel). More...
 
virtual ~Texture ()
 Destructor for Texture base class.
 

Detailed Description

Abstract base class specifying the required interface for Texture objects.

Texture objects are created via the Renderer. The actual inner workings of any Texture object are dependant upon the Renderer (and underlying API) in use. This base class defines the minimal set of functions that is required for the rest of the system to work. Texture objects are only created through the Renderer object's texture creation functions.

Member Enumeration Documentation

Enumerated type containing the supported pixel formats that can be passed to loadFromMemory.

Enumerator
PF_RGB 

Each pixel is 3 bytes. RGB in that order.

PF_RGBA 

Each pixel is 4 bytes. RGBA in that order.

Member Function Documentation

virtual const Size& CEGUI::Texture::getOriginalDataSize ( ) const
pure virtual

Returns the original pixel size of the data loaded into the texture.

Returns
reference to a Size object that describes the original size, in pixels, of the data loaded into the texture.

Implemented in CEGUI::OpenGLTexture, CEGUI::Direct3D11Texture, CEGUI::Direct3D10Texture, CEGUI::Direct3D9Texture, CEGUI::IrrlichtTexture, CEGUI::OgreTexture, CEGUI::DirectFBTexture, and CEGUI::NullTexture.

virtual const Size& CEGUI::Texture::getSize ( ) const
pure virtual

Returns the current pixel size of the texture.

Returns
Reference to a Size object that describes the size of the texture in pixels.

Implemented in CEGUI::OpenGLTexture, CEGUI::Direct3D11Texture, CEGUI::Direct3D10Texture, CEGUI::Direct3D9Texture, CEGUI::IrrlichtTexture, CEGUI::OgreTexture, CEGUI::DirectFBTexture, and CEGUI::NullTexture.

virtual const Vector2& CEGUI::Texture::getTexelScaling ( ) const
pure virtual

Returns pixel to texel scale values that should be used for converting pixel values to texture co-ords.

Returns
Reference to a Vector2 object that describes the scaling values required to accurately map pixel positions to texture co-ordinates.

Implemented in CEGUI::OpenGLTexture, CEGUI::Direct3D11Texture, CEGUI::Direct3D10Texture, CEGUI::Direct3D9Texture, CEGUI::IrrlichtTexture, CEGUI::OgreTexture, CEGUI::DirectFBTexture, and CEGUI::NullTexture.

virtual void CEGUI::Texture::loadFromFile ( const String filename,
const String resourceGroup 
)
pure virtual

Loads the specified image file into the texture. The texture is resized as required to hold the image.

Parameters
filenameThe filename of the image file that is to be loaded into the texture
resourceGroupResource group identifier to be passed to the resource provider when loading the image file.
Returns
Nothing.

Implemented in CEGUI::OpenGLTexture, CEGUI::Direct3D11Texture, CEGUI::Direct3D10Texture, CEGUI::Direct3D9Texture, CEGUI::IrrlichtTexture, CEGUI::OgreTexture, CEGUI::DirectFBTexture, and CEGUI::NullTexture.

virtual void CEGUI::Texture::loadFromMemory ( const void *  buffer,
const Size buffer_size,
PixelFormat  pixel_format 
)
pure virtual

Loads (copies) an image in memory into the texture. The texture is resized as required to hold the image.

Parameters
bufferPointer to the buffer containing the image data.
buffer_sizeSize of the buffer (in pixels as specified by pixelFormat)
pixel_formatPixelFormat value describing the format contained in buffPtr.
Returns
Nothing.

Implemented in CEGUI::OpenGLTexture, CEGUI::Direct3D11Texture, CEGUI::Direct3D10Texture, CEGUI::Direct3D9Texture, CEGUI::IrrlichtTexture, CEGUI::OgreTexture, CEGUI::DirectFBTexture, and CEGUI::NullTexture.

virtual void CEGUI::Texture::saveToMemory ( void *  buffer)
pure virtual

Save / dump the content of the texture to a memory buffer. The dumped pixel format is always RGBA (4 bytes per pixel).

Parameters
bufferPointer to the buffer that is to receive the image data. You must make sure that this buffer is large enough to hold the dumped texture data, the required pixel dimensions can be established by calling getSize.

Implemented in CEGUI::OpenGLTexture, CEGUI::Direct3D11Texture, CEGUI::Direct3D10Texture, CEGUI::Direct3D9Texture, CEGUI::IrrlichtTexture, CEGUI::OgreTexture, CEGUI::DirectFBTexture, and CEGUI::NullTexture.