Structure describing raster layout for a single plane (contiguous block of memory) in a frame. More...
#include "swraster.h"
Data Fields | |
size_t | size |
Size of this structure. | |
uint32 | plane_id |
RASTER_CHANNEL ** | channels |
unsigned int | n_channels |
unsigned int | n_rendered_channels |
size_t | linesize |
unsigned int | alignment |
unsigned int | pixelsize_bits |
unsigned int | packing_unit_bits |
raster_format_t | format |
int | index_omitted |
unsigned int | index_non_omitted |
Structure describing raster layout for a single plane (contiguous block of memory) in a frame.
unsigned int RASTER_PLANE::alignment |
The alignment required or provided for the plane memory address, in bytes. If the RIP is allocating plane memory, requesting alignment zero will result in the default alignment for the RIP.
RASTER_CHANNEL** RASTER_PLANE::channels |
An array of RASTER_PLANE::n_channels pointers to channel structures.
raster_format_t RASTER_PLANE::format |
This plane is screened data. The values in each channel represent screen levels rather than continuous tone values.
unsigned int RASTER_PLANE::index_non_omitted |
The plane index, including omitted planes.
int RASTER_PLANE::index_omitted |
The plane index, excluding omitted planes, or -1 if omitted. Plane omission is entirely derivative of channel omission: if this index is -1, then all channels of the frame are omitted, and conversely if this index is non-negative, then at least one channel in the plane is not omitted. This index will always be less than or equal to index_non_omitted.
size_t RASTER_PLANE::linesize |
The size of the data stored for each line in the plane, in bytes. This must be at least RASTER_PLANE::pixelsize_bits times RASTER_LAYOUT::width rounded up to a byte boundary, but may be larger than that for padding. The line size must be a multiple of RASTER_PLANE::packing_unit_bits wide, converted to bytes, if the packing unit is specified.
unsigned int RASTER_PLANE::n_channels |
The number of channels in the plane. A channel is a stream of data, interleaved into the plane's memory. There will always be at least one channel in a plane.
unsigned int RASTER_PLANE::n_rendered_channels |
The number of non-omitted channels in the plane. If this is zero, there will be no data for the plane. The plane structure and its channels are provided for informational purposes.
unsigned int RASTER_PLANE::packing_unit_bits |
The size of the packing unit used for the raster, in bits. The packing unit treats the pixel data in byte (value 8), halfword (value 16), word (value 32), or doubleword (value 64) chunks, packing the pixel stream high-bit first into each chunk. A non-zero packing unit can only be used if it is a multiple of RASTER_PLANE::pixelsize_bits. If this is left at zero, the RIP's default packing unit will be used. Not all packing units are supported for all channel configurations.
unsigned int RASTER_PLANE::pixelsize_bits |
The total number of bits for one pixel worth of channels. The band's width of pixels of interleaved data are packed in each line, padded to at least the next byte boundary, further if RASTER_PLANE::linesize is larger than that.
uint32 RASTER_PLANE::plane_id |
An identifier for this plane. This identifier is stable across all render passes for a page, but cannot be used to compare layouts from different pages. Channel, plane, frame, and sheet IDs share the same namespace, so the IDs created by the RIP for an item of one type will not conflict with IDs for an item of a different type. The ID zero is never used by the RIP.