Name
lqr_carver_scan, lqr_carver_scan_ext — read out a multi-size image one pixel at a time
Synopsis
#include <lqr.h>
gboolean lqr_carver_scan( | LqrCarver* carver, |
| | gint* x, |
| | gint* y, |
| | guchar** rgb); |
gboolean lqr_carver_scan_ext( | LqrCarver* carver, |
| | gint* x, |
| | gint* y, |
| | void** rgb); |
Description
The functions lqr_carver_scan and lqr_carver_scan_ext
are used to read out the multi-size image contained in the LqrCarver object pointed to by
carver one pixel at a time. They store the pixel coordinates in the
variables pointed to by x and y, and the pixel
content in the array pointed to by rgb; then they move the readout
pointer to the next pixel, or they reset it if the end of the image is reached.
The first one must only be used on the LqrCarver objects created with
lqr_carver_new, i.e. with 8-bit images, while the second one is general
(see LqrColDepth(3)), but the rgb pointer must
be cast to the appropriate type to be used (i.e pass the address of a pointer to
void to the function lqr_carver_scan_ext, then cast it
to a pointer of the appropriate type and use this last one for reading the output).
The rgb variable will point to an array which is internal to the
LqrCarver object, so there is no need to allocate memory for it. However, it should only be
accessed right after a call to the scan functions, and writing to it must be avoided.
Return value
These functions return TRUE in case the readout is successful and the end of the image
was not reached, FALSE otherwise.
If lqr_carver_scan is called over a non-8-bit LqrCarver object,
it will return FALSE.