Crazy Eddies GUI System  0.6.2
Public Member Functions | Friends | List of all members
CEGUI::OpenGLTexture Class Reference

Texture class that is created by OpenGLRenderer objects. More...

+ Inheritance diagram for CEGUI::OpenGLTexture:
+ Collaboration diagram for CEGUI::OpenGLTexture:

Public Member Functions

virtual ushort getWidth (void) const
 Returns the current pixel width of the texture. More...
 
virtual ushort getHeight (void) const
 Returns the current pixel height of the texture. More...
 
virtual ushort getOriginalWidth (void) const
 Returns the original pixel width of the data loaded into the texture. More...
 
virtual ushort getOriginalHeight (void) const
 Returns the original pixel height of the data loaded into the texture. More...
 
virtual float getXScale (void) const
 Returns the current scale used for the width of the texture. More...
 
virtual float getYScale (void) const
 Returns the current scale used for the height of the texture. More...
 
virtual 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. More...
 
virtual void loadFromMemory (const void *buffPtr, uint buffWidth, uint buffHeight, PixelFormat pixelFormat)
 Loads (copies) an image in memory into the texture. The texture is resized as required to hold the image. More...
 
GLuint getOGLTexid (void) const
 Return a pointer to the internal texture id. More...
 
void setOGLTextureSize (uint size)
 set the size of the internal texture. More...
 
void grabTexture (void)
 Grab the texture to a local buffer. This will destroy the OpenGL texture, and restoreTexture must be called before using it again.
 
void restoreTexture (void)
 Restore the texture from the locally buffered copy previously create by a call to grabTexture.
 
- Public Member Functions inherited from CEGUI::Texture
RenderergetRenderer (void) const
 Return a pointer to the Renderer object that created and owns this Texture. More...
 

Friends

TextureOpenGLRenderer::createTexture (void)
 
TextureOpenGLRenderer::createTexture (const String &filename, const String &resourceGroup)
 
TextureOpenGLRenderer::createTexture (float size)
 
void OpenGLRenderer::destroyTexture (Texture *texture)
 

Additional Inherited Members

- Public Types inherited from CEGUI::Texture
enum  PixelFormat { PF_RGB, PF_RGBA }
 Enum containing the list of supported pixel formats that can be passed to loadFromMemory. More...
 
- Protected Member Functions inherited from CEGUI::Texture
 Texture (Renderer *owner)
 Constructor for Texture base class. This is never called by client code.
 
virtual ~Texture (void)
 Destructor for Texture base class. This is never called by client code.
 

Detailed Description

Texture class that is created by OpenGLRenderer objects.

Member Function Documentation

virtual ushort CEGUI::OpenGLTexture::getHeight ( void  ) const
inlinevirtual

Returns the current pixel height of the texture.

Returns
ushort value that is the current height of the texture in pixels

Implements CEGUI::Texture.

GLuint CEGUI::OpenGLTexture::getOGLTexid ( void  ) const
inline

Return a pointer to the internal texture id.

Returns
Texture id that is loaded
virtual ushort CEGUI::OpenGLTexture::getOriginalHeight ( void  ) const
inlinevirtual

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

Returns
ushort value that is the original height, in pixels, of the data last loaded into the texture.
Note
for compatibility reason this method is optional the auto scale issue mantis ticket # 0000045 is not fixed for renderer that do not handle this.

Reimplemented from CEGUI::Texture.

virtual ushort CEGUI::OpenGLTexture::getOriginalWidth ( void  ) const
inlinevirtual

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

Returns
ushort value that is the original width, in pixels, of the data last loaded into the texture.
Note
for compatibility reason this method is optional the auto scale issue mantis ticket # 0000045 is not fixed for renderer that do not handle this.

Reimplemented from CEGUI::Texture.

virtual ushort CEGUI::OpenGLTexture::getWidth ( void  ) const
inlinevirtual

Returns the current pixel width of the texture.

Returns
ushort value that is the current width of the texture in pixels

Implements CEGUI::Texture.

virtual float CEGUI::OpenGLTexture::getXScale ( void  ) const
inlinevirtual

Returns the current scale used for the width of the texture.

Returns
float value that denotes the horizontal scaling required to accurately map pixel positions to texture co-ords.

Reimplemented from CEGUI::Texture.

virtual float CEGUI::OpenGLTexture::getYScale ( void  ) const
inlinevirtual

Returns the current scale used for the height of the texture.

Returns
float value that denotes the vertical scaling required to accurately map pixel positions to texture co-ords.

Reimplemented from CEGUI::Texture.

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.

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

Implements CEGUI::Texture.

References CEGUI::ImageCodec::getIdentifierString(), CEGUI::OpenGLRenderer::getImageCodec(), CEGUI::Texture::getRenderer(), CEGUI::System::getResourceProvider(), CEGUI::System::getSingleton(), CEGUI::ImageCodec::load(), CEGUI::ResourceProvider::loadRawDataContainer(), and CEGUI::ResourceProvider::unloadRawDataContainer().

Referenced by CEGUI::OpenGLRenderer::createTexture().

void CEGUI::OpenGLTexture::loadFromMemory ( const void *  buffPtr,
uint  buffWidth,
uint  buffHeight,
Texture::PixelFormat  pixFormat 
)
virtual

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

Parameters
buffPtrPointer to the buffer containing the image data
buffWidthWidth of the buffer (in pixels as specified by pixelFormat )
buffHeightHeight of the buffer (in pixels as specified by pixelFormat )
pixelFormatPixelFormat value describing the format contained in buffPtr
Returns
Nothing.

Implements CEGUI::Texture.

References CEGUI::Texture::PF_RGB, CEGUI::Texture::PF_RGBA, and setOGLTextureSize().

void CEGUI::OpenGLTexture::setOGLTextureSize ( uint  size)

set the size of the internal texture.

Parameters
sizepixel size of the new internal texture. This will be rounded up to a power of 2.
Returns
Nothing.

Referenced by CEGUI::OpenGLRenderer::createTexture(), and loadFromMemory().