Main Page | Modules | File List | Globals

Bitmap handling


Functions

caca_bitmap * caca_create_bitmap (unsigned int bpp, unsigned int w, unsigned int h, unsigned int pitch, unsigned int rmask, unsigned int gmask, unsigned int bmask, unsigned int amask)
 Create an internal bitmap object.

void caca_set_bitmap_palette (struct caca_bitmap *bitmap, unsigned int red[], unsigned int green[], unsigned int blue[], unsigned int alpha[])
 Set the palette of an 8bpp bitmap object.

void caca_draw_bitmap (int x1, int y1, int x2, int y2, struct caca_bitmap const *bitmap, void *pixels)
 Draw a bitmap on the screen.

void caca_free_bitmap (struct caca_bitmap *bitmap)
 Free the memory associated with a bitmap.


Detailed Description

These functions provide high level routines for bitmap allocation and rendering.

Function Documentation

struct caca_bitmap* caca_create_bitmap unsigned int  bpp,
unsigned int  w,
unsigned int  h,
unsigned int  pitch,
unsigned int  rmask,
unsigned int  gmask,
unsigned int  bmask,
unsigned int  amask
 

Create a bitmap structure from its coordinates (depth, width, height and pitch) and pixel mask values. If the depth is 8 bits per pixel, the mask values are ignored and the colour palette should be set using the caca_set_bitmap_palette() function. For depths greater than 8 bits per pixel, a zero alpha mask causes the alpha values to be ignored.

Parameters:
bpp Bitmap depth in bits per pixel.
w Bitmap width in pixels.
h Bitmap height in pixels.
pitch Bitmap pitch in bytes.
rmask Bitmask for red values.
gmask Bitmask for green values.
bmask Bitmask for blue values.
amask Bitmask for alpha values.
Returns:
Bitmap object, or NULL upon error.

void caca_draw_bitmap int  x1,
int  y1,
int  x2,
int  y2,
struct caca_bitmap const *  bitmap,
void *  pixels
 

Draw a bitmap at the given coordinates. The bitmap can be of any size and will be stretched to the text area.

Parameters:
x1 X coordinate of the upper-left corner of the drawing area.
y1 Y coordinate of the upper-left corner of the drawing area.
x2 X coordinate of the lower-right corner of the drawing area.
y2 Y coordinate of the lower-right corner of the drawing area.
bitmap Bitmap object to be drawn.
pixels Bitmap's pixels.

void caca_free_bitmap struct caca_bitmap *  bitmap  ) 
 

Free the memory allocated by caca_create_bitmap().

Parameters:
bitmap Bitmap object.

void caca_set_bitmap_palette struct caca_bitmap *  bitmap,
unsigned int  red[],
unsigned int  green[],
unsigned int  blue[],
unsigned int  alpha[]
 

Set the palette of an 8 bits per pixel bitmap. Values should be between 0 and 4095 (0xfff).

Parameters:
bitmap Bitmap object.
red Array of 256 red values.
green Array of 256 green values.
blue Array of 256 blue values.
alpha Array of 256 alpha values.