D_IDLE
This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core
D_IDLE Selector
Parameter: devIdleParam * idle
The RIP calls this selector during page output if it is unable to continue its own processing perhaps because there are no free bands, or because the output unit is busy. The call to D_IDLE
allows the plugin to do any processing it needs to in particular, consuming raster data from the bands by sending it to the output device, then freeing those bands up for new data.
typedef struct devIdleParam { int32 i_full;
} devIdleParam;
Note:
The RIP may also call this selector during processing of D_OPEN_ENDJOB
, and the plugin must be careful to distinguish between these two contexts if D_OPEN_ENDJOB
is implemented. At the beginning of D_IDLE
, you will need to do something like the following:
if ((pdevdef->d_feeding) && (0 == pdevdef->d_linesripped)) { pdevdef->d_feeding = processEndJob(pdevdef) ;
return NOERR ;
}
/* Else, process data output */
Note:
Most plugins treat D_IDLE
and D_OUTPUT
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. However, do not confuse the parameter types of the arguments they are not the same.
i_full
Nonāzero if all the bands are in use.