D_GETMENUOPTION
This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core
D_GETMENUOPTION Selector
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;
}
}PluginMenuOptionQuery;
index
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.
caption
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).
optionClass
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. |
data
This union is used to pass extra information which some of the menuOptionClass
values require, as follows:
| Used by |
| Not used. |