CL_PixelBuffer Class Reference
[clanDisplay Display]

Pixel data container. More...

#include <pixel_buffer.h>

List of all members.

Public Member Functions

Construction

 CL_PixelBuffer ()
 Constructs a null instance.
 CL_PixelBuffer (int width, int height, CL_TextureFormat sized_format, const void *data=0, bool only_reference_data=false)
 Constructs a PixelBuffer.
 CL_PixelBuffer (CL_GraphicContext &gc, int width, int height, CL_PixelBufferDirection direction=cl_data_to_gpu, CL_TextureFormat sized_format=cl_rgba8, const void *data=0, CL_BufferUsage usage=cl_usage_stream_draw)
 Constructs a GPU PixelBuffer.
 CL_PixelBuffer (CL_GraphicContext &gc, const CL_PixelBuffer &pbuff, CL_PixelBufferDirection direction=cl_data_to_gpu, CL_BufferUsage usage=cl_usage_stream_draw)
 Constructs a GPU PixelBuffer from an existing pixelbuffer.
 CL_PixelBuffer (int width, int height, CL_TextureFormat sized_format, const CL_Palette &palette, const void *data=0)
 Constructs a PixelBuffer.
 CL_PixelBuffer (const CL_StringRef &fullname)
 Constructs a PixelBuffer.
 CL_PixelBuffer (const CL_StringRef &filename, const CL_VirtualDirectory &dir)
 Constructs a PixelBuffer.
 CL_PixelBuffer (CL_IODevice &file, const CL_String &image_type)
 Constructs a PixelBuffer.
virtual ~CL_PixelBuffer ()
Attributes

bool is_null () const
 Returns true if this object is invalid.
void throw_if_null () const
 Throw an exception if this object is invalid.
CL_PixelBuffer copy () const
 Create a copy of the pixelbuffer that doesn't share data with the original pixel buffer.
CL_PixelBuffer copy (const CL_Rect &rect) const
 Create a copy of the pixelbuffer that doesn't share data with the original pixel buffer.
const CL_Paletteget_palette () const
 Returns the palette of the pixel buffer.
int get_width () const
 Returns the buffer width.
int get_height () const
 Returns the buffer height.
CL_Size get_size () const
 Returns the width and height of the buffer.
unsigned int get_pitch () const
 Returns the pitch (bytes per scanline).
void * get_data ()
 Returns a pointer to the beginning of the pixel buffer.
const void * get_data () const
unsigned char * get_data_uint8 ()
 Returns a pointer to the beginning of the pixel buffer as 8 bit data.
const unsigned char * get_data_uint8 () const
unsigned short * get_data_uint16 ()
 Returns a pointer to the beginning of the pixel buffer as 16 bit data.
const unsigned short * get_data_uint16 () const
unsigned int * get_data_uint32 ()
 Returns a pointer to the beginning of the pixel buffer as 32 bit data.
const unsigned int * get_data_uint32 () const
void * get_line (int line)
 Returns a pointer to the beginning of a specific line.
const void * get_line (int line) const
unsigned char * get_line_uint8 (int line)
 Returns a pointer to the beginning of a specific line as 8 bit data.
const unsigned char * get_line_uint8 (int line) const
unsigned short * get_line_uint16 (int line)
 Returns a pointer to the beginning of a specific line as 16 bit data.
const unsigned short * get_line_uint16 (int line) const
unsigned int * get_line_uint32 (int line)
 Returns a pointer to the beginning of a specific line as 32 bit data.
const unsigned int * get_line_uint32 (int line) const
bool has_colorkey () const
 Returns true if format uses a source color key.
unsigned int get_colorkey () const
 Returns the source color key.
int get_bytes_per_pixel () const
 Returns the number of bytes per pixel.
unsigned int get_red_mask () const
 Returns the red component color mask (if available).
unsigned int get_green_mask () const
 Returns the green component color mask (if available).
unsigned int get_blue_mask () const
 Returns the blue component color mask (if available).
unsigned int get_alpha_mask () const
 Returns the alpha component color mask (if available).
CL_TextureFormat get_format () const
 Returns the pixel format.
CL_PixelBufferProviderget_provider () const
 Get Provider.
CL_Colorf get_pixel (int x, int y)
 Return color of pixel at the specified coordinates.
Operations

void lock (CL_BufferAccess access)
 Maps buffer into system memory.
void unlock ()
 Unmaps element buffer.
void upload_data (const CL_Rect &dest_rect, const void *data)
 Uploads data to buffer.
 operator bool () const
 Return true if the CL_PixelBuffer is valid and usable.
void convert (CL_PixelBuffer &target) const
 Convert pixel buffer to the pixel format of the target buffer, storing the result in the target buffer.
void convert (CL_PixelBuffer &target, const CL_Rect &dest_rect, const CL_Rect &src_rect=CL_Rect()) const
 Convert pixel buffer to the pixel format of the target buffer, storing the result in the target buffer.
CL_PixelBuffer to_format (CL_TextureFormat sized_format) const
 Converts current buffer to a new pixel format and returns the result.
void set_colorkey (bool enabled, unsigned int colorkey)
 Sets a new colorkey without converting the buffer.
void flip_vertical ()
 Flip the entire image vertically (turn it upside down).
void premultiply_alpha ()
 Mutiply the RGB components by the Alpha component.

Implementation



class CL_PixelBuffer_Impl

Detailed Description

Pixel data container.


Constructor & Destructor Documentation

CL_PixelBuffer::CL_PixelBuffer (  ) 

Constructs a null instance.

CL_PixelBuffer::CL_PixelBuffer ( int  width,
int  height,
CL_TextureFormat  sized_format,
const void *  data = 0,
bool  only_reference_data = false 
)

Constructs a PixelBuffer.

Parameters:
width = value
height = value
sized_format = Pixel Format
data = The data (0 = Allocate automatically to a boundary of 16 bytes)
only_reference_data : true = Reference the data. false = Copy the data
CL_PixelBuffer::CL_PixelBuffer ( CL_GraphicContext gc,
int  width,
int  height,
CL_PixelBufferDirection  direction = cl_data_to_gpu,
CL_TextureFormat  sized_format = cl_rgba8,
const void *  data = 0,
CL_BufferUsage  usage = cl_usage_stream_draw 
)

Constructs a GPU PixelBuffer.

Parameters:
gc = Graphic Context
width = value
height = value
direction = prefered direction that you will use tranferring the pixel buffer data
sized_format = Texture Format
data = data to copy from (May be NULL)
usage = Buffer Usage
CL_PixelBuffer::CL_PixelBuffer ( CL_GraphicContext gc,
const CL_PixelBuffer pbuff,
CL_PixelBufferDirection  direction = cl_data_to_gpu,
CL_BufferUsage  usage = cl_usage_stream_draw 
)

Constructs a GPU PixelBuffer from an existing pixelbuffer.

Parameters:
gc = Graphic Context
pbuff = The pixelbuffer to copy from
direction = prefered direction that you will use tranferring the pixel buffer data
usage = Buffer Usage
CL_PixelBuffer::CL_PixelBuffer ( int  width,
int  height,
CL_TextureFormat  sized_format,
const CL_Palette palette,
const void *  data = 0 
)

Constructs a PixelBuffer.

Parameters:
width = value
height = value
sized_format = Pixel Format
palette = Palette
data = void
CL_PixelBuffer::CL_PixelBuffer ( const CL_StringRef fullname  ) 

Constructs a PixelBuffer.

Parameters:
fullname = String Ref
CL_PixelBuffer::CL_PixelBuffer ( const CL_StringRef filename,
const CL_VirtualDirectory dir 
)

Constructs a PixelBuffer.

Parameters:
filename = String Ref
dir = Virtual Directory
CL_PixelBuffer::CL_PixelBuffer ( CL_IODevice file,
const CL_String image_type 
)

Constructs a PixelBuffer.

Parameters:
file = IODevice
image_type = String
virtual CL_PixelBuffer::~CL_PixelBuffer (  )  [virtual]

Member Function Documentation

void CL_PixelBuffer::convert ( CL_PixelBuffer target  )  const

Convert pixel buffer to the pixel format of the target buffer, storing the result in the target buffer.

Parameters:
target Target pixel buffer.
void CL_PixelBuffer::convert ( CL_PixelBuffer target,
const CL_Rect dest_rect,
const CL_Rect src_rect = CL_Rect() 
) const

Convert pixel buffer to the pixel format of the target buffer, storing the result in the target buffer.

Parameters:
target Buffer getting stored pixels in the specified format and pitch.
dest_rect Destination rectangle for conversion.
src_rect Source rectangle for conversion.
CL_PixelBuffer CL_PixelBuffer::copy (  )  const

Create a copy of the pixelbuffer that doesn't share data with the original pixel buffer.

CL_PixelBuffer CL_PixelBuffer::copy ( const CL_Rect rect  )  const

Create a copy of the pixelbuffer that doesn't share data with the original pixel buffer.

void CL_PixelBuffer::flip_vertical (  ) 

Flip the entire image vertically (turn it upside down).

unsigned int CL_PixelBuffer::get_alpha_mask (  )  const

Returns the alpha component color mask (if available).

unsigned int CL_PixelBuffer::get_blue_mask (  )  const

Returns the blue component color mask (if available).

int CL_PixelBuffer::get_bytes_per_pixel (  )  const

Returns the number of bytes per pixel.

Returns:
Bytes per pixel. 0 = Unknown
unsigned int CL_PixelBuffer::get_colorkey (  )  const

Returns the source color key.

void* CL_PixelBuffer::get_data (  ) 

Returns a pointer to the beginning of the pixel buffer.

Referenced by CL_PixelBufferData::set().

const void* CL_PixelBuffer::get_data (  )  const
unsigned short* CL_PixelBuffer::get_data_uint16 (  )  [inline]

Returns a pointer to the beginning of the pixel buffer as 16 bit data.

const unsigned short* CL_PixelBuffer::get_data_uint16 (  )  const [inline]
unsigned int* CL_PixelBuffer::get_data_uint32 (  )  [inline]

Returns a pointer to the beginning of the pixel buffer as 32 bit data.

const unsigned int* CL_PixelBuffer::get_data_uint32 (  )  const [inline]
const unsigned char* CL_PixelBuffer::get_data_uint8 (  )  const [inline]
unsigned char* CL_PixelBuffer::get_data_uint8 (  )  [inline]

Returns a pointer to the beginning of the pixel buffer as 8 bit data.

CL_TextureFormat CL_PixelBuffer::get_format (  )  const

Returns the pixel format.

unsigned int CL_PixelBuffer::get_green_mask (  )  const

Returns the green component color mask (if available).

int CL_PixelBuffer::get_height (  )  const

Returns the buffer height.

void* CL_PixelBuffer::get_line ( int  line  )  [inline]

Returns a pointer to the beginning of a specific line.

const void* CL_PixelBuffer::get_line ( int  line  )  const [inline]
unsigned short* CL_PixelBuffer::get_line_uint16 ( int  line  )  [inline]

Returns a pointer to the beginning of a specific line as 16 bit data.

const unsigned short* CL_PixelBuffer::get_line_uint16 ( int  line  )  const [inline]
unsigned int* CL_PixelBuffer::get_line_uint32 ( int  line  )  [inline]

Returns a pointer to the beginning of a specific line as 32 bit data.

const unsigned int* CL_PixelBuffer::get_line_uint32 ( int  line  )  const [inline]
unsigned char* CL_PixelBuffer::get_line_uint8 ( int  line  )  [inline]

Returns a pointer to the beginning of a specific line as 8 bit data.

const unsigned char* CL_PixelBuffer::get_line_uint8 ( int  line  )  const [inline]
const CL_Palette* CL_PixelBuffer::get_palette (  )  const

Returns the palette of the pixel buffer.

unsigned int CL_PixelBuffer::get_pitch (  )  const

Returns the pitch (bytes per scanline).

CL_Colorf CL_PixelBuffer::get_pixel ( int  x,
int  y 
)

Return color of pixel at the specified coordinates.

CL_PixelBufferProvider* CL_PixelBuffer::get_provider (  )  const

Get Provider.

Returns:
provider
unsigned int CL_PixelBuffer::get_red_mask (  )  const

Returns the red component color mask (if available).

CL_Size CL_PixelBuffer::get_size (  )  const

Returns the width and height of the buffer.

Referenced by CL_PixelBufferData::set().

int CL_PixelBuffer::get_width (  )  const

Returns the buffer width.

bool CL_PixelBuffer::has_colorkey (  )  const

Returns true if format uses a source color key.

bool CL_PixelBuffer::is_null (  )  const [inline]

Returns true if this object is invalid.

Referenced by CL_PixelBufferData::set().

void CL_PixelBuffer::lock ( CL_BufferAccess  access  ) 

Maps buffer into system memory.

CL_PixelBuffer::operator bool (  )  const

Return true if the CL_PixelBuffer is valid and usable.

void CL_PixelBuffer::premultiply_alpha (  ) 

Mutiply the RGB components by the Alpha component.

This is useful with certain blending functions

void CL_PixelBuffer::set_colorkey ( bool  enabled,
unsigned int  colorkey 
)

Sets a new colorkey without converting the buffer.

(Used when converting from a format without an alpha channel)

Parameters:
enabled Enable or disable the colorkey.
colorkey New colorkey to use.
void CL_PixelBuffer::throw_if_null (  )  const

Throw an exception if this object is invalid.

CL_PixelBuffer CL_PixelBuffer::to_format ( CL_TextureFormat  sized_format  )  const

Converts current buffer to a new pixel format and returns the result.

void CL_PixelBuffer::unlock (  ) 

Unmaps element buffer.

void CL_PixelBuffer::upload_data ( const CL_Rect dest_rect,
const void *  data 
)

Uploads data to buffer.


Friends And Related Function Documentation

friend class CL_PixelBuffer_Impl [friend]

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