[search] [index]

NAME

balloc, bfree, rdbitmap, wrbitmap, rdbitmapfile, wrbitmapfile - allocating, freeing, reading, writing bitmaps

SYNOPSIS



#include <u.h>
#include <libc.h>
#include <libg.h>


Bitmap *balloc(Rectangle r, int ldepth)


void bfree(Bitmap *b)


void rdbitmap(Bitmap *b, int ymin, int ymax, uchar *data)


void wrbitmap(Bitmap *b, int ymin, int ymax, uchar *data)


Bitmap *rdbitmapfile(int fd)


void wrbitmapfile(int fd, Bitmap *b)

DESCRIPTION

A new bitmap is allocated with
balloc; it will have the extent and
ldepth (log base 2 of the number of bits per pixel)
given by its arguments,
and will be filled with zeros. The
id field will have been set to the identifying number used by
/dev/bitblt (see
bit(3)), and the
cache field will be zero.
Balloc returns 0 if the server has run out of bitmap resources.
Bfree frees the resources used by its argument bitmap.


The remaining functions deal with moving groups of pixel
values between bitmaps and user space or external files.
There is a fixed format for the exchange and storage of
bitmap data
(see
bitmap(6)).

Rdbitmap reads rows of pixels from bitmap
b into
data. The rows read have
y=ymin,ymin+1, ... ymax-1. Those rows must be within the range allowed by
b.r
.

Wrbitmap replaces the specified rows of pixels in bitmap
b with
data.

Rdbitmapfile creates a bitmap from data contained an external file (see
bitmap(6) for the file format);
fd is a file descriptor obtained by opening such a file for reading.
The returned bitmap is allocated using
balloc.

Wrbitmapfile writes bitmap
b onto file descriptor
fd, which should be open for writing.
The format is as described for
rdbitmapfile.

Rdbitmapfile and
wrbitmapfile do not close
fd.

SOURCE

/sys/src/libg

SEE ALSO

graphics(2), bitblt(2), bit(3), bitmap(6)

DIAGNOSTICS

These functions return 0 on failure, usually due to insufficient
memory.


May set
errstr.

BUGS

Ldepth must be 0, 1, 2, or 3.

Copyright © 1995 Lucent Technologies. All rights reserved.