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


Parameter: PluginMenuOptionQuery * option

This selector allows the Device menu to be configured individually for each plugin (in single‐device output plugins) or each device type (in multiple‐device output plugins).

The RIP calls D_GETMENUOPTION repeatedly to get each of the Device menu options (lines of the menu identified by the name of the device in the main RIP menu bar). Each time D_GETMENUOPTION is called, the plugin should return the next option, returning a zero‐length caption string to mark the end of the list.

For multiple‐device plugins, a sequence of calls is made after the D_FIND_DEVICE_TYPE call that intro‐ duces the device type (instances of the device type cannot be configured individually), so D_GETMENUOPTION assumes that this is the device type it refers to.

If the selector is not implemented, a built‐in menu of feeds and cuts is used as appropriate (Advance 1 Inch, 3 Inches, 6 Inches, a separator line, and Cut Media With Feed, Cut Media No Feed). This is for backwards compatibility with older plugins, which will continue to behave as they did in previous versions of the RIP.

If the selector is implemented but provides an empty list, the menu will be disabled. New devices which do not require any Device Menu options should therefore always support this selector, so that they can return an empty list.

The parameter passed with the selector is described below.

      typedef struct PluginMenuOptionQuery { int32 index;
      char caption[32]; int32 optionClass; union data {
            USERVALUE advanceDistance; void *dialogInfo;


This is the index of the option currently being requested, starting at zero. The RIP maintains it.

Note: Though requests may be made in random order, any index which does not relate to an option should cause a zero‐length caption string to be returned.


This is an array in which the plugin should place the appropriate null terminated caption string, the line of text to appear in the menu. Copy the characters into the string do not assign the pointer caption. This should be set to an empty string to indicate the end of the list (or out of range index).


Indicates what happens when the user selects the option from the menu being defined, as follows:

      typedef enum PluginMenuOptionClass { mocSeparator,
      mocPluginOption, mocAdvance, mocCutNoFeed, mocCutAndFeed, mocDialog
    } PluginMenuOptionClass;


Puts a separator line between options. Note that separator options will never be selected.


Option for which the plugin is wholly responsible. The RIP takes no action when the option is selected by the user except to signal to the plugin to perform the action using D_DOMENUOPTION .


When the option is selected, the RIP creates a dummy job to force the required advance.


When the option is selected, the RIP creates a dummy job to force the required cut.


When the option is selected, the RIP creates a dummy job to force the required cut and feed.


Not supported.


This union is used to pass extra information which some of the menuOptionClass values require, as follows:


Used by mocAdvance options to specify the distance in inches that should be advanced in response to selecting the option. This must be greater than zero.


Not used.

JavaScript errors detected

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

If this problem persists, please contact our support.