Crazy Eddie's GUI System  0.8.4
CEGUI::IrrlichtTexture Class Reference

Implementation of the CEGUI::Texture class for the Irrlicht engine. More...

+ Inheritance diagram for CEGUI::IrrlichtTexture:
+ Collaboration diagram for CEGUI::IrrlichtTexture:

List of all members.

Public Member Functions

void setIrrlichtTexture (irr::video::ITexture *tex)
 set the underlying Irrlicht texture represented by this Texture.
irr::video::ITexture * getIrrlichtTexture () const
 return a pointer to the Irrlicht texture represented by this Texture.
void setOriginalDataSize (const Sizef &sz)
 Sets what the texture should consider as the original data size.
const StringgetName () const
 Returns the name given to the texture when it was created.
const SizefgetSize () const
 Returns the current pixel size of the texture.
const SizefgetOriginalDataSize () const
 Returns the original pixel size of the data loaded into the texture.
const Vector2fgetTexelScaling () 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 Sizef &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 blitFromMemory (const void *sourceData, const Rectf &area)
 Performs an area memory blit to the texture.
void blitToMemory (void *targetData)
 Performs a complete blit from the texture surface to memory.
bool isPixelFormatSupported (const PixelFormat fmt) const
 Return whether the specified pixel format is supported by the system for the CEGUI::Texture implementation.

Static Public Member Functions

static std::string getUniqueName ()
 return a std::string containing a unique name.

Protected Member Functions

 IrrlichtTexture (IrrlichtRenderer &owner, irr::video::IVideoDriver &driver, const String &name)
 Construct a basic texture.
 IrrlichtTexture (IrrlichtRenderer &owner, irr::video::IVideoDriver &driver, const String &name, const String &filename, const String &resourceGroup)
 Construct a texture from the specified file.
 IrrlichtTexture (IrrlichtRenderer &owner, irr::video::IVideoDriver &driver, const String &name, const Sizef &size)
 Construct a texture with the given size.
 ~IrrlichtTexture ()
 destructor.
void createIrrlichtTexture (const Sizef &sz)
 create the underlying Irrlicht texture with the given size
void freeIrrlichtTexture ()
 release the underlying irrlicht texture currently used.
void updateCachedScaleValues ()
 updates cached scale value used to map pixels to texture co-ords.

Protected Attributes

irr::video::IVideoDriver & d_driver
 Irrlicht video driver we're to use.
irr::video::ITexture * d_texture
 ptr to underlying irrlicht texture.
Sizef d_size
 Size of the texture.
Sizef d_dataSize
 original pixel of size data loaded into texture
Vector2f d_texelScaling
 cached pixel to texel mapping scale values.
IrrlichtRendererd_owner
 reference to the IrrlichtRenderer that created this texture
const String d_name
 name given when texture was created.

Static Protected Attributes

static uint32 d_textureNumber
 Counter used to provide unique texture names.

Friends

TextureIrrlichtRenderer::createTexture (const String &)
TextureIrrlichtRenderer::createTexture (const String &, const String &, const String &)
TextureIrrlichtRenderer::createTexture (const String &, const Sizef &)
void IrrlichtRenderer::destroyTexture (Texture &)
void IrrlichtRenderer::destroyTexture (const String &)

Detailed Description

Implementation of the CEGUI::Texture class for the Irrlicht engine.


Member Function Documentation

void CEGUI::IrrlichtTexture::blitFromMemory ( const void *  sourceData,
const Rectf area 
) [virtual]

Performs an area memory blit to the texture.

Parameters:
sourceDatainput data, the size must match area described by the given Rect
areaarea where the blit will happen
Note:
The pixel format must match current Texture's pixel format!

Implements CEGUI::Texture.

void CEGUI::IrrlichtTexture::blitToMemory ( void *  targetData) [virtual]

Performs a complete blit from the texture surface to memory.

Parameters:
targetDatathe buffer where the target is stored
Note:
You have to (correctly) preallocate the target buffer!

Implements CEGUI::Texture.

const String& CEGUI::IrrlichtTexture::getName ( ) const [virtual]

Returns the name given to the texture when it was created.

Returns:
Reference to a String object that holds the name of the texture.

Implements CEGUI::Texture.

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 Sizef& CEGUI::IrrlichtTexture::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.

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.

bool CEGUI::IrrlichtTexture::isPixelFormatSupported ( const PixelFormat  fmt) const [virtual]

Return whether the specified pixel format is supported by the system for the CEGUI::Texture implementation.

The result of this call will vary according to the implementaion API and the capabilities of the hardware.

Note:
Whether the CEGUI system as a whole will make use of support for any given pixel format will depend upon that format being recognised and supported by both the renderer module implementation and the ImageCodec module that is used to load texture data.
Parameters:
fmtOne of the PixelFormat enumerated values specifying the pixel format that is to be tested.
Returns:
  • true if the specified PixelFormat is supported.
  • false if the specified PixelFormat is not supported.

Implements CEGUI::Texture.

void CEGUI::IrrlichtTexture::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:
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.

Implements CEGUI::Texture.

void CEGUI::IrrlichtTexture::loadFromMemory ( const void *  buffer,
const Sizef 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:
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.

Implements CEGUI::Texture.

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

Note:
This also causes the texel scaling values to be updated.
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends