Skip to main content
Skip table of contents


This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core

D_OUTPUT Selector

Parameter: devOutputParam * output

When the RIP has a band of output data to pass to the plugin, it calls D_OUTPUT .

No plugin call should take a long time to complete. (See How long should a plugin call take? .) In an initial D_OUTPUT call a plugin normally just notes that lines are available, and perhaps initiates the first transfer of data asynchronously, in a separate thread. If the lines have been re‐buffered, for instance to remove the padding, or during data compression, the plugin should update d_linescopied . Further data would be transferred during subsequent D_IDLE or D_OUTPUT calls, or when an interrupt has occurred, or according to any output‐hardware‐specific prescriptions.

When lines have been successfully transferred, the plugin updates the d_linesprinted field of the deviceDefinition structure and d_linescopied , if it has not already done so.

Note: Most plugins treat D_OUTPUT and D_IDLE identically. They ignore the parameter and use the d_bands and d_linesripped elements of the deviceDefinition structure. We recommend that you use the same method.

The parameter passed with the selector is described below.

      typedef struct devOutputParam { uint32 *o_band;
      int32 o_lines;
      int32 o_full;
      int32 o_rlelinecomplete;
      int32 o_compressed;
      } devOutputParam;


The address of the band of output data. If you wish to process images without using D_IDLE , the entire band must be consumed quickly at each call to D_OUTPUT .


The number of lines stored in the band. Equal to the value of the d_linesperband field in the deviceDefinition structure (see d_linesperband (deviceDefinition) ), with the possible exception of the final band.


A flag indicating whether all the bands in the buffer are used filled and awaiting consumption.


This field can be ignored unless the plugin deals with run‐length encoded data. If it does, see your RLE documentation.


An integer indicating whether this particular band of raster data is compressed or not when the plugin receives it.

If the band contains uncompressed data, o_compressed will be 0 (zero).

If o_compressed is non‐zero, it indicates that the band data passed to the plugin is still compressed. In this case, the pluginDecompression field in the pageHeader structure will contain the algorithm number used to compress the data.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.