Crazy Eddies GUI System: CEGUI::Direct3D9Texture 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 Member Functions | Protected Member Functions | Protected Attributes | Friends
CEGUI::Direct3D9Texture Class Reference

Texture implementation for the Direct3D9Renderer. More...

Inheritance diagram for CEGUI::Direct3D9Texture:
[legend]
Collaboration diagram for CEGUI::Direct3D9Texture:
[legend]

List of all members.

## Public Member Functions
void | setDirect3D9Texture (LPDIRECT3DTEXTURE9 tex)
| set the D3D9 texture that this Texture is based on to the specified texture.
LPDIRECT3DTEXTURE9 | getDirect3D9Texture () const
| Return the internal D3D9 texture used by this Texture object.
void | setOriginalDataSize (const Size &sz)
| Sets what the texture should consider as the original data size.
void | preD3DReset ()
| auto called via the Renderer prior to Reset on the Direct3DDevice9.
void | postD3DReset ()
| auto called via the Renderer after Reset on the Direct3DDevice9.
const Size & | getSize () const
| Returns the current pixel size of the texture.
const Size & | getOriginalDataSize () const
| Returns the original pixel size of the data loaded into the texture.
const Vector2 & | getTexelScaling () const
| Returns pixel to texel scale values that should be used for converting pixel values to texture co-ords.
void | loadFromFile (const String &filename, const String &resourceGroup)
| Loads the specified image file into the texture. The texture is resized as required to hold the image.
void | loadFromMemory (const void *buffer, const Size &buffer_size, PixelFormat pixel_format)
| Loads (copies) an image in memory into the texture. The texture is resized as required to hold the image.
void | saveToMemory (void *buffer)
| Save / dump the content of the texture to a memory buffer. The dumped pixel format is always RGBA (4 bytes per pixel).
## Protected Member Functions
| Direct3D9Texture (Direct3D9Renderer &owner)
| Basic constructor.
| Direct3D9Texture (Direct3D9Renderer &owner, const String &filename, const String &resourceGroup)
| Construct texture from an image file.
| Direct3D9Texture (Direct3D9Renderer &owner, const Size &sz)
| Construct texture with a given size.
| Direct3D9Texture (Direct3D9Renderer &owner, LPDIRECT3DTEXTURE9 tex)
| Construct texture that wraps an existing D3D9 texture.
virtual | ~Direct3D9Texture ()
| Destructor.
void | cleanupDirect3D9Texture ()
| clean up the internal texture.
void | updateCachedScaleValues ()
| updates cached scale value used to map pixels to texture co-ords.
void | updateTextureSize ()
| set d_size to actual texture size (d_dataSize is used if query fails)
## Protected Attributes
Direct3D9Renderer & | d_owner
| Direct3D9Renderer object that created and owns this texture.
LPDIRECT3DTEXTURE9 | d_texture
| The D3D9 texture we're wrapping.
Size | d_size
| Size of the texture.
Size | d_dataSize
| original pixel of size data loaded into texture
Vector2 | d_texelScaling
| cached pixel to texel mapping scale values.
D3DSURFACE_DESC | d_savedSurfaceDesc
| holds info about the texture surface before we released it for reset.
bool | d_savedSurfaceDescValid
| true when d_savedSurfaceDesc is valid and texture can be restored.
## Friends
Texture & | Direct3D9Renderer::createTexture (void)
Texture & | Direct3D9Renderer::createTexture (const String &, const String &)
Texture & | Direct3D9Renderer::createTexture (const Size &)
Texture & | Direct3D9Renderer::createTexture (LPDIRECT3DTEXTURE9 tex)
void | Direct3D9Renderer::destroyTexture (Texture &)

## Detailed Description

Texture implementation for the Direct3D9Renderer.

## Member Function Documentation

LPDIRECT3DTEXTURE9 CEGUI::Direct3D9Texture::getDirect3D9Texture | ( |  | ) | const

Return the internal D3D9 texture used by this Texture object.

Returns:
  Pointer to the D3D9 texture interface that this object is using.

const Size& CEGUI::Direct3D9Texture::getOriginalDataSize | ( |  | ) | const`[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.

Implements CEGUI::Texture.

const Size& CEGUI::Direct3D9Texture::getSize | ( |  | ) | const`[virtual]`

Returns the current pixel size of the texture.

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

Implements CEGUI::Texture.

const Vector2& CEGUI::Direct3D9Texture::getTexelScaling | ( |  | ) | const`[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.

Implements CEGUI::Texture.

void CEGUI::Direct3D9Texture::loadFromFile | ( | const String & | filename,
|  | const String & | resourceGroup
| ) |  | `[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.

Implements CEGUI::Texture.

void CEGUI::Direct3D9Texture::loadFromMemory | ( | const void * | buffer,
|  | const Size & | buffer_size,
|  | PixelFormat | pixel_format
| ) |  | `[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.

Implements CEGUI::Texture.

void CEGUI::Direct3D9Texture::saveToMemory | ( | void * | buffer | ) | `[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.

Implements CEGUI::Texture.

void CEGUI::Direct3D9Texture::setOriginalDataSize | ( | const Size & | sz | ) |

Sets what the texture should consider as the original data size.

Note:
  This also causes the texel scaling values to be updated.