Crazy Eddies GUI System: CEGUI::Texture Class Reference

Crazy Eddies GUI System 0.7.6

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions
CEGUI::Texture Class Reference

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.

List of all members.

## 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 Size & | getSize () const =0
| Returns the current pixel size of the texture.
virtual const Size & | getOriginalDataSize () const =0
| Returns the original pixel size of the data loaded into the texture.
virtual const Vector2 & | getTexelScaling () const =0
| Returns pixel to texel scale values that should be used for converting pixel values to texture co-ords.
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.
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.
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).
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

enum CEGUI::Texture::PixelFormat

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::Direct3D10Texture, CEGUI::Direct3D11Texture, CEGUI::Direct3D9Texture, CEGUI::DirectFBTexture, CEGUI::IrrlichtTexture, CEGUI::NullTexture, CEGUI::OgreTexture, and CEGUI::OpenGLTexture.

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::Direct3D10Texture, CEGUI::Direct3D11Texture, CEGUI::Direct3D9Texture, CEGUI::DirectFBTexture, CEGUI::IrrlichtTexture, CEGUI::NullTexture, CEGUI::OgreTexture, and CEGUI::OpenGLTexture.

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::Direct3D10Texture, CEGUI::Direct3D11Texture, CEGUI::Direct3D9Texture, CEGUI::DirectFBTexture, CEGUI::IrrlichtTexture, CEGUI::NullTexture, CEGUI::OgreTexture, and CEGUI::OpenGLTexture.

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:

  filename | The filename of the image file that is to be loaded into the texture
  resourceGroup | Resource group identifier to be passed to the resource provider when loading the image file.

Returns:
  Nothing.

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

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:

  buffer | Pointer to the buffer containing the image data.
  buffer_size | Size of the buffer (in pixels as specified by pixelFormat)
  pixel_format | PixelFormat value describing the format contained in buffPtr.

Returns:
  Nothing.

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

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:

  buffer | Pointer 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::Direct3D10Texture, CEGUI::Direct3D11Texture, CEGUI::Direct3D9Texture, CEGUI::DirectFBTexture, CEGUI::IrrlichtTexture, CEGUI::NullTexture, CEGUI::OgreTexture, and CEGUI::OpenGLTexture.