Crazy Eddies GUI System
0.7.6
|
Texture implementation for the OpenGLRenderer. More...
Public Member Functions | |
void | setOpenGLTexture (GLuint tex, const Size &size) |
set the openGL texture that this Texture is based on to the specified texture, with the specified size. | |
GLuint | getOpenGLTexture () const |
Return the internal OpenGL texture id used by this Texture object. | |
void | setTextureSize (const Size &sz) |
set the size of the internal texture. | |
void | grabTexture () |
Grab the texture to a local buffer. | |
void | restoreTexture () |
Restore the texture from the locally buffered copy previously create by a call to grabTexture. | |
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 | |
OpenGLTexture (OpenGLRenderer &owner) | |
Basic constructor. | |
OpenGLTexture (OpenGLRenderer &owner, const String &filename, const String &resourceGroup) | |
Constructor that creates a Texture from an image file. | |
OpenGLTexture (OpenGLRenderer &owner, const Size &size) | |
Constructor that creates a Texture with a given size. | |
OpenGLTexture (OpenGLRenderer &owner, GLuint tex, const Size &size) | |
Constructor that wraps an existing GL texture. | |
virtual | ~OpenGLTexture () |
Destructor. | |
void | generateOpenGLTexture () |
generate the OpenGL texture and set some initial options. | |
void | updateCachedScaleValues () |
updates cached scale value used to map pixels to texture co-ords. | |
void | cleanupOpenGLTexture () |
clean up the GL texture, or the grab buffer if it had been grabbed | |
Protected Attributes | |
GLuint | d_ogltexture |
The OpenGL texture we're wrapping. | |
Size | d_size |
Size of the texture. | |
uint8 * | d_grabBuffer |
cached image data for restoring the texture. | |
Size | d_dataSize |
original pixel of size data loaded into texture | |
Vector2 | d_texelScaling |
cached pixel to texel mapping scale values. | |
OpenGLRenderer & | d_owner |
OpenGLRenderer that created and owns this OpenGLTexture. | |
Friends | |
Texture & | OpenGLRenderer::createTexture (void) |
Texture & | OpenGLRenderer::createTexture (const String &, const String &) |
Texture & | OpenGLRenderer::createTexture (const Size &) |
Texture & | OpenGLRenderer::createTexture (GLuint, const Size &) |
void | OpenGLRenderer::destroyTexture (Texture &) |
Texture implementation for the OpenGLRenderer.
GLuint CEGUI::OpenGLTexture::getOpenGLTexture | ( | ) | const |
Return the internal OpenGL texture id used by this Texture object.
const Size& CEGUI::OpenGLTexture::getOriginalDataSize | ( | ) | const [virtual] |
Returns the original pixel size of the data loaded into the texture.
Implements CEGUI::Texture.
const Size& CEGUI::OpenGLTexture::getSize | ( | ) | const [virtual] |
Returns the current pixel size of the texture.
Implements CEGUI::Texture.
const Vector2& CEGUI::OpenGLTexture::getTexelScaling | ( | ) | const [virtual] |
Returns pixel to texel scale values that should be used for converting pixel values to texture co-ords.
Implements CEGUI::Texture.
void CEGUI::OpenGLTexture::grabTexture | ( | ) |
Grab the texture to a local buffer.
This will destroy the OpenGL texture, and restoreTexture must be called before using it again.
void CEGUI::OpenGLTexture::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.
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. |
Implements CEGUI::Texture.
void CEGUI::OpenGLTexture::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.
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. |
Implements CEGUI::Texture.
void CEGUI::OpenGLTexture::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).
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::OpenGLTexture::setTextureSize | ( | const Size & | sz | ) |
set the size of the internal texture.
sz | size for the internal texture, in pixels. |
RendererException | thrown if the hardware is unable to support a texture large enough to fulfill the requested size. |