Google

Main Page   Class Hierarchy   Compound List   File List   Compound Members  

iTextureHandle Struct Reference

A texture handle as returned by iTextureManager. More...

#include <texture.h>

Inheritance diagram for iTextureHandle:

iBase List of all members.

Public Methods

virtual int GetFlags ()=0
 Retrieve the flags set for this texture.

virtual void SetKeyColor (bool Enable)=0
 Enable key color.

virtual void SetKeyColor (uint8 red, uint8 green, uint8 blue)=0
 Set the key color.

virtual bool GetKeyColor ()=0
 Get the key color status (false if disabled, true if enabled).

virtual void GetKeyColor (uint8 &red, uint8 &green, uint8 &blue)=0
 Get the key color.

virtual bool GetMipMapDimensions (int mipmap, int &mw, int &mh)=0
 Get the dimensions for a given mipmap level (0 to 3). More...

virtual void GetOriginalDimensions (int &mw, int &mh)=0
 Return the original dimensions of the image used to create this texture. More...

virtual void GetMeanColor (uint8 &red, uint8 &green, uint8 &blue)=0
 Get the mean color.

virtual void* GetCacheData ()=0
 Get data associated internally with this texture by texture cache.

virtual void SetCacheData (void *d)=0
 Set data associated internally with this texture by texture cache.

virtual void* GetPrivateObject ()=0
 Query the private object associated with this handle. More...

virtual iGraphics3DGetProcTextureInterface ()=0
 If the texture handle was created with as a procedural texture, this function returns an iGraphics3D interface to a texture buffer which can be used in the same way as a frame buffer based iGraphics3D. More...

virtual void ProcTextureSync ()=0
 If this is a procedural texture with mip-mapping on sync enabled, call this function to update its mip maps when required. More...

virtual bool GetAlphaMap ()=0
 Query if the texture has an alpha channel.<. More...

virtual void Prepare ()=0
 Merge this texture into current palette, compute mipmaps and so on. More...


Detailed Description

A texture handle as returned by iTextureManager.


Member Function Documentation

bool iTextureHandle::GetAlphaMap ( ) [pure virtual]
 

Query if the texture has an alpha channel.<.

p> This depends both on whenever the original image had an alpha channel and of the fact whenever the renderer supports alpha maps at all.

bool iTextureHandle::GetMipMapDimensions ( int mipmap,
int & mw,
int & mh ) [pure virtual]
 

Get the dimensions for a given mipmap level (0 to 3).

If the texture was registered just for 2D usage, mipmap levels above 0 will return false. Note that the result of this function will be the size that the renderer uses for this texture. In most cases this corresponds to the size that was used to create this texture but some renderers have texture size limitations (like power of two) and in that case the size returned here will be the corrected size. You can get the original image size with GetOriginalDimensions().

void iTextureHandle::GetOriginalDimensions ( int & mw,
int & mh ) [pure virtual]
 

Return the original dimensions of the image used to create this texture.

This is most often equal to GetMipMapDimensions (0, mw, mh) but in some cases the texture will have been resized in order to accomodate hardware restrictions (like power of two and maximum texture size). This function returns the uncorrected coordinates.

void * iTextureHandle::GetPrivateObject ( ) [pure virtual]
 

Query the private object associated with this handle.

For internal usage by the 3D driver.

iGraphics3D * iTextureHandle::GetProcTextureInterface ( ) [pure virtual]
 

If the texture handle was created with as a procedural texture, this function returns an iGraphics3D interface to a texture buffer which can be used in the same way as a frame buffer based iGraphics3D.

This interface only becomes available once the texture has been prepared by the texture manager.

void iTextureHandle::Prepare ( ) [pure virtual]
 

Merge this texture into current palette, compute mipmaps and so on.

You should call either Prepare() or iTextureManager::PrepareTextures() before using any texture.

void iTextureHandle::ProcTextureSync ( ) [pure virtual]
 

If this is a procedural texture with mip-mapping on sync enabled, call this function to update its mip maps when required.

(Currently unimplemented)


The documentation for this struct was generated from the following file:
Generated for Crystal Space by doxygen 1.2.5 written by Dimitri van Heesch, ©1997-2000