ClanLib  2.3.7
List of all members
CL_TextureGroup Class Reference

Texture grouping class. More...

#include <texture_group.h>

Public Types

Enumerations
enum  TextureAllocationPolicy { create_new_texture, search_previous_textures }
 Texture allocation policy. More...
 

Public Member Functions

Construction
 CL_TextureGroup ()
 Constructs a null instance. More...
 
 CL_TextureGroup (const CL_Size &texture_sizes)
 Constructs a texture group. More...
 
 ~CL_TextureGroup ()
 
Attributes
bool is_null () const
 Returns true if this object is invalid. More...
 
void throw_if_null () const
 Throw an exception if this object is invalid. More...
 
int get_subtexture_count () const
 Returns the amount of sub-textures allocated in group. More...
 
int get_subtexture_count (unsigned int texture_index) const
 Returns the amount of sub-textures for a specific texture index. More...
 
int get_texture_count () const
 Returns the amount of textures used by group. More...
 
TextureAllocationPolicy get_texture_allocation_policy () const
 Returns the texture allocation policy. More...
 
CL_Size get_texture_sizes () const
 Returns the size of the textures used by this texture group. More...
 
std::vector< CL_Textureget_textures () const
 Returns the textures. More...
 
Operations
CL_Subtexture add (CL_GraphicContext &context, const CL_Size &size)
 Allocate space for another sub texture. More...
 
void remove (CL_Subtexture &subtexture)
 Deallocate space, from a previously allocated texture. More...
 
void set_texture_allocation_policy (TextureAllocationPolicy policy)
 Set the texture allocation policy. More...
 
void insert_texture (CL_Texture &texture, const CL_Rect &texture_rect)
 Insert an existing texture into the texture group. More...
 

Detailed Description

Texture grouping class.

Member Enumeration Documentation

Texture allocation policy.

Enumerator
create_new_texture 
search_previous_textures 

Constructor & Destructor Documentation

CL_TextureGroup::CL_TextureGroup ( )

Constructs a null instance.

CL_TextureGroup::CL_TextureGroup ( const CL_Size texture_sizes)

Constructs a texture group.

CL_TextureGroup::~CL_TextureGroup ( )

Member Function Documentation

CL_Subtexture CL_TextureGroup::add ( CL_GraphicContext context,
const CL_Size size 
)

Allocate space for another sub texture.

int CL_TextureGroup::get_subtexture_count ( ) const

Returns the amount of sub-textures allocated in group.

int CL_TextureGroup::get_subtexture_count ( unsigned int  texture_index) const

Returns the amount of sub-textures for a specific texture index.

TextureAllocationPolicy CL_TextureGroup::get_texture_allocation_policy ( ) const

Returns the texture allocation policy.

int CL_TextureGroup::get_texture_count ( ) const

Returns the amount of textures used by group.

CL_Size CL_TextureGroup::get_texture_sizes ( ) const

Returns the size of the textures used by this texture group.

std::vector<CL_Texture> CL_TextureGroup::get_textures ( ) const

Returns the textures.

void CL_TextureGroup::insert_texture ( CL_Texture texture,
const CL_Rect texture_rect 
)

Insert an existing texture into the texture group.

Parameters
texture= Texture to insert
texture_rect= Free space within the texture that the texture group can use
bool CL_TextureGroup::is_null ( ) const
inline

Returns true if this object is invalid.

void CL_TextureGroup::remove ( CL_Subtexture subtexture)

Deallocate space, from a previously allocated texture.

Warning - It is advised to set TextureAllocationPolicy to search_previous_textures if using this function. Also be aware of texture fragmentation. Empty textures are not removed.

void CL_TextureGroup::set_texture_allocation_policy ( TextureAllocationPolicy  policy)

Set the texture allocation policy.

void CL_TextureGroup::throw_if_null ( ) const

Throw an exception if this object is invalid.


The documentation for this class was generated from the following file: