libcaca documentation

Main Page | Modules | Directories | File List | Globals

# Bitmap handling

## Functions
caca_bitmap * | caca_create_bitmap (unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)
| Create an internal bitmap object.
void | caca_set_bitmap_palette (struct caca_bitmap *, unsigned int r[], unsigned int g[], unsigned int b[], unsigned int a[])
| Set the palette of an 8bpp bitmap object.
void | caca_draw_bitmap (int, int, int, int, struct caca_bitmap const *, void *)
| Draw a bitmap on the screen.
void | caca_free_bitmap (struct caca_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.