Holds all of the state required to output a page of raster with libtiff. More...
Data Fields | |
DEVICELIST * | dev |
DEVICE_FILEDESCRIPTOR | fd |
uint8 * | filename |
TIFF * | tiff |
int32 * | riptotiff |
int32 | ripchannels |
int32 * | tifftorip |
int32 | tiffchannels |
HqBool | shuffle |
uint8 * | polarity |
int32 | expandNto8 |
int32 | ifdlinesleft |
int32 | invertchannels |
uint8 * | scratchstrip |
int32 | scratchcontent |
int32 | linebytes |
tdata_t | buffer |
uint16 | compression |
HqBool | fAllowExpandNTo8 |
HqBool | fPhotoshopFriendly |
HqBool | fNeedFlush |
size_t | bytes_written |
HVD_monitor * | monitor |
HVD monitor for this backend. | |
HVD_rstore_raster * | eraster |
eHVD element raster under construction. | |
uint8 | rr_element_id [16] |
Optimized PDF ID as a binary element ID, if doing HVD element. | |
Holds all of the state required to output a page of raster with libtiff.
An instance of this structure is created by LIBTIFF_RASTER_start(), and then passed back as an opaque RASTER_handle pointer. It is subsequently passed back into each LIBTIFF_RASTER_write_data() call, and finally to LIBTIFF_RASTER_finish(). Both of those functions cast the opaque pointer back to LIBTIFF_RASTER_handle, and LIBTIFF_RASTER_finish() will end by freeing the structure. In a multi-page job, no state is remembered between pages. The output of each page is a completely separate activity, implemented as a separate set of calls to the libtiff library.
Like most raster handling functions, the libtiff back-end makes use of the Core RIP Device Interface (see swdevice.h), so that the bytes of output data can be sent to any destination. The DEVICELIST and DEVICE_FILEDESCRIPTOR members refer to the output destination.
tdata_t LIBTIFF_RASTER_handle::buffer |
LibTIFF internal buffer.
size_t LIBTIFF_RASTER_handle::bytes_written |
Bytes written from RIP to this backend
uint16 LIBTIFF_RASTER_handle::compression |
Default compression method
DEVICELIST* LIBTIFF_RASTER_handle::dev |
RIP device that will receive the TIFF output.
int32 LIBTIFF_RASTER_handle::expandNto8 |
Expand 1/2/4 to 8 bits; value is 1/2/4, or 0 if not expanding.
HqBool LIBTIFF_RASTER_handle::fAllowExpandNTo8 |
TRUE if we expand 1/2/4-bit composite to 8-bit
DEVICE_FILEDESCRIPTOR LIBTIFF_RASTER_handle::fd |
Handle to the output file on the device.
uint8* LIBTIFF_RASTER_handle::filename |
The name of the file corresponding to the descriptor.
HqBool LIBTIFF_RASTER_handle::fNeedFlush |
Flush data before writing a whole strip?
HqBool LIBTIFF_RASTER_handle::fPhotoshopFriendly |
TRUE if we are to produce Photoshop friendly TIFFs
int32 LIBTIFF_RASTER_handle::ifdlinesleft |
Lines left in this IFD
int32 LIBTIFF_RASTER_handle::invertchannels |
Index of first TIFF channel to invert (-1 for none)
int32 LIBTIFF_RASTER_handle::linebytes |
Actual width in bytes of image data to write
uint8* LIBTIFF_RASTER_handle::polarity |
TIFF channel polarity values.
int32 LIBTIFF_RASTER_handle::ripchannels |
Number of RIP channels
int32* LIBTIFF_RASTER_handle::riptotiff |
Mapping from RIP channel to TIFF channel
int32 LIBTIFF_RASTER_handle::scratchcontent |
Is the scratch strip unknown (-1), 0, or 0xff
uint8* LIBTIFF_RASTER_handle::scratchstrip |
A scratch strip.
HqBool LIBTIFF_RASTER_handle::shuffle |
Pixel order needs shuffling.
TIFF* LIBTIFF_RASTER_handle::tiff |
The client data pointer for libtiff interactions.
int32 LIBTIFF_RASTER_handle::tiffchannels |
Number of TIFF channels
int32* LIBTIFF_RASTER_handle::tifftorip |
Mapping from TIFF channel to RIP channel