The rendering mechanism and format are passed as a string handle in the DRAGITEM data structure. The string handle must be created using DrgAddStrHandle. The following figure shows the string handle format:
"elem {,elem,elem...}"where elem is an ordered pair in the form:
"<mechanism,format>"
or a cross product in the form:
"(mechanism{,mechanism...}) X (format{,format...})"
Multiple cross products are permitted in a single rendering mechanism and format string handle, as are combinations of ordered pairs and cross products. When cross-product notation is used, the rendering mechanism is the left operand. When ordered-pair notation is used, the rendering mechanism is the left element in the ordered pair.
Several constants are defined for common rendering mechanisms and formats. For example, the rendering mechanism and format for a:
An application can extend these by defining its own "<mechanism,format>" strings and creating string handles for these using DrgAddStrHandle. For example, if an application understands and can generate an LU 6.2 data stream, it can define its own rendering format, "DRF_LU62", and use it in direct manipulation operations. If an application wishes to use its own rendering mechanisms or formats to communicate with other applications, it should publish the protocol for the mechanisms, the format of the data streams, or both.