Harlequin RIP SDK

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
 

Detailed Description

Structure describing raster layout for a single plane (contiguous block of memory) in a frame.

Field Documentation

◆ alignment

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.

◆ channels

RASTER_CHANNEL** RASTER_PLANE::channels

An array of RASTER_PLANE::n_channels pointers to channel structures.

◆ format

raster_format_t RASTER_PLANE::format

This plane is screened data. The values in each channel represent screen levels rather than continuous tone values.

◆ index_non_omitted

unsigned int RASTER_PLANE::index_non_omitted

The plane index, including omitted planes.

◆ index_omitted

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.

◆ linesize

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.

◆ n_channels

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.

◆ n_rendered_channels

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.

◆ packing_unit_bits

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.

◆ pixelsize_bits

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.

◆ plane_id

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.


The documentation for this struct was generated from the following file: