Drawing objects and the drawing primitives enumerated within drawing object groups use the syntax described by the following tables.
<do> | '{\*' \do <dohead> <dpinfo>'}' |
<dohead> | <dobx> <doby> <dodhgt> <dolock>? |
<dobx> | \dobxpage | \dobxcolumn | \dobxmargin |
<doby> | \dobypage | \dobypara | \dobymargin |
<dodhgt> | \dodhgt |
<dolock> | \dolock |
<dpinfo> | <dpgroup> | <dpcallout> | <dpsimple> |
<dpgroup> | \dpgroup \dpcount <dphead> <dpinfo>+ \dpendgroup <dphead> |
<dpcallout> | \dpcallout <cotype> <coangle>? <coaccent>? <cosmartattach>? <cobestfit>? <cominusx>? <cominusy>? <coborder>? <codescent>? \dpcooffset \dpcolength <dphead> <dppolyline> <dphead> <dpprops> <dptextbox> <dphead> <dpprops> |
<dpsimple> | <dpsimpledpk> <dphead> <dpprops> |
<dpsimpledpk> | <dpline> | <dprect> | <dptextbox> | <dpellipse> | <dppolyline> | <dparc> |
<dpline> | \dpline <dppt> <dppt> |
<dprect> | \dprect (\dproundr)? |
<dptextbox> | \dptxbx \dptxbxmar '{' \dptxbxtext <para>+'}' |
<dpellipse> | \dpellipse |
<dparc> | \dparc \dparcflipx? \dparcflipy? |
<dppolyline> | \dppolyline (\dppolygon)? \dppolycount <dppt>+ |
<dppt> | \dpptx \dppty |
<dphead> | \dpx \dpy \dpxsize \dpysize |
Note that in <dpgroup> the number of <dpinfo>s is equal to the argument of \dpcount, whereas in <dppolyline> the number of <dppt>s is equal to the argument of \dppolycount.
The following elements of the drawing-object syntax pertain specifically to callout objects:
<cotype> | \dpcotright | \dpcotsingle | \dpcotdouble | \dpcottriple |
<coangle> | \dpcoa |
<coaccent> | \dpcoaccent |
<cosmartattach> | \dpcosmarta |
<cobestfit> | \dpcobestfit |
<cominusx> | \dpcominusx |
<cominusy> | \dpcominusy |
<coborder> | \dpcoborder |
<codescent> | \dpcodtop | \dpcodcenter | \dpcodbottom | \dpcodabs |
The remaining elements of the drawing object syntax are properties applied to individual drawn primitives:
<dpprops> | <lineprops>? <fillprops>? <endstylestart>? <endstyleend>? <shadow>? |
<lineprops> | <linestyle> <linecolor> \dplinew |
<linestyle> | \dplinesolid | \dplinehollow | \dplinedash | \dplinedot | \dplinedado | \dplinedadodo |
<linecolor> | <linegray> | <linergb> |
<linegray> | \dplinegray |
<linergb> | \dplinecor \dplinecog \dplinecob<linepal>? |
<linepal> | \dplinepal |
<fillprops> | <fillcolorfg> <fillcolorbg> \dpfillpat |
<fillcolorfg> | <fillfggray> | <fillfgrgb> |
<fillfggray> | \dpfillfggray |
<fillfgrgb> | \dpfillfgcr \dpfillfgcg \dpfillfgcb<fillfgpal>? |
<fillfgpal> | \dpfillfgpal |
<fillcolorbg> | <fillbggray> | <fillbgrgb> |
<fillbggray> | \dpfillbggray |
<fillbgrgb> | \dpfillbgcr \dpfillbgcg \dpfillbgcb<fillbgpal>? |
<fillbgpal> | \dpfillbgpal |
<endstylestart> | <arrowstartfill> \dpastartl \dpastartw |
<arrowstartfill> | \dpastartsol | \dpastarthol |
<endstyleend> | <arrowendfill> \dpaendl \dpaendw |
<arrowendfill> | \dpaendsol | \dpaendhol |
<shadow> | \dpshadow \dpshadx \dpshady |
The following table describes the control words for the drawing object group in detail. All color values are RGB values between 0-255. All distances are in twips. All other values are as indicated.
Control word | Definition |
\do | Indicates a drawing object is to be inserted at this point in the character stream. This is a destination control word. |
\dolock | The drawing object's anchor is locked and cannot be moved. |
\dobxpage | The drawing object is page relative in the x-direction. |
\dobxcolumn | The drawing object is column relative in the x-direction. |
\dobxmargin | The drawing object is margin relative in the x-direction. |
\dobypage | The drawing object is page relative in the y-direction. |
\dobypara | The drawing object is paragraph relative in the y-direction. |
\dobymargin | The drawing object is margin relative in the y-direction. |
\dodhgtN | The drawing object is positioned at the following numeric address in the z-ordering. |
Drawing Primitives | |
\dpgroup | Begin group of drawing primitives. |
\dpcountN | Number of drawing primitives in the current group. |
\dpendgroup | End group of drawing primitives. |
\dparc | Arc drawing primitive. |
\dpcallout | Callout drawing primitive, which consists of both a polyline and a text box. |
\dpellipse | Ellipse drawing primitive. |
\dpline | Line drawing primitive. |
\dppolygon | Polygon drawing primitive (closed polyline). |
\dppolyline | Polyline drawing primitive. |
\dprect | Rectangle drawing primitive. |
\dptxbx | Text box drawing primitive. |
Position and Size | |
\dpxN | X-offset of the drawing primitive from its anchor. |
\dpxsizeN | X-size of the drawing primitive. |
\dpyN | Y-offset of the drawing primitive from its anchor. |
\dpysizeN | Y-size of the drawing primitive. |
Callouts | |
\dpcoaN | Angle of callout's diagonal line is restricted to one of the following: 0, 30, 45, 60, or 90. If this control word is absent, the callout has an arbitrary angle, indicated by the coordinates of its primitives. |
\dpcoaccent | Accent bar on callout (vertical bar between polyline and text box). |
\dpcobestfit | Best fit callout (x-length of each line in callout is similar). |
\dpcoborder | Visible border on callout text box. |
\dpcodabs | Absolute distance-attached polyline. |
\dpcodbottom | Bottom-attached polyline. |
\dpcodcenter | Center-attached polyline. |
\dpcodtop | Top-attached callout. |
\dpcodescentN | The descent of the callout |
\dpcolengthN | Length of callout. |
\dpcominusx | Text box falls in quadrants II or III relative to polyline origin. |
\dpcominusy | Text box falls in quadrants III or IV relative to polyline origin. |
\dpcooffsetN | Offset of callout. This is the distance between the end of the polyline and the edge of the text box. |
\dpcosmarta | Auto-attached callout. Polyline will attach to either the top or bottom of the text box depending on the relative quadrant. |
\dpcotdouble | Double line callout. |
\dpcotright | Right angle callout. |
\dpcotsingle | Single line callout. |
\dpcottriple | Triple line callout. |
Text Boxes and Rectangles | |
\dptxbxmarN | Internal margin of the text box. |
\dptxbxtext | Group that contains the text of the text box. |
\dproundr | Rectangle is a round rectangle. |
Lines and Polylines | |
\dpptxN | X-coordinate of the current vertex (only for lines and polylines). The coordinate order for a point must be x, y. |
\dpptyN | Y-coordinate of the current vertex (only for lines and polylines). The coordinate order for a point must be x, y. |
\dppolycountN | Number of vertices in polyline drawing primitive. |
Arcs | |
\dparcflipx | This indicates that the end point of the arc is to the right of the start point. Arcs are drawn counter-clockwise. |
\dparcflipy | This indicates that the end point of the arc is below the start point. Arcs are drawn counter-clockwise. |
Line Style | |
\dplinecobN | Blue value for line color. |
\dplinecogN | Green value for line color. |
\dplinecorN | Red value for line color. |
\dplinepal | Render line color using the PALETTERGB macro instead of the RGB macro in Windows. |
\dplinedado | Dashed-dotted line style. |
\dplinedadodo | Dashed-dotted-dotted line style. |
\dplinedash | Dashed line style. |
\dplinedot | Dotted line style. |
\dplinegrayN | Grayscale value for line color (in half-percentages). |
\dplinehollow | Hollow line style (no line color). |
\dplinesolid | Solid line style. |
\dplinewN | Thickness of line (in twips). |
Arrow Style | |
\dpaendhol | Hollow end arrow (lines only). |
\dpaendlN | Length of end arrow, relative to pen width: 1Small 2Medium 3Large |
\dpaendsol | Solid end arrow (lines only). |
\dpaendwN | Width of end arrow, relative to pen width: 1Small 2Medium 3Large |
\dpastarthol | Hollow start arrow (lines only). |
\dpastartlN | Length of start arrow, relative to pen width: 1Small 2Medium 3Large |
\dpastartsol | Solid start arrow (lines only). |
\dpastartwN | Width of start arrow, relative to pen width: 1Small 2Medium 3Large |
Fill Pattern | |
\dpfillbgcbN | Blue value for background fill color. |
\dpfillbgcgN | Green value for background fill color. |
\dpfillbgcrN | Red value for background fill color. |
\dpfillbgpal | Render fill background color using the PALETTERGB macro instead of the RGB macro in Windows. |
\dpfillbggrayN | Grayscale value for background fill (in half-percentages). |
\dpfillfgcbN | Blue value for foreground fill color. |
\dpfillfgcgN | Green value for foreground fill color. |
\dpfillfgcrN | Red value for foreground fill color. |
\dpfillfgpal | Render fill foreground color using the PALETTERGB macro instead of the RGB macro in Windows. |
\dpfillfggrayN | Grayscale value for foreground fill (in half-percentages). |
\dpfillpatN | Index into a list of fill patterns. See below for list. |
Shadow | |
\dpshadow | Current drawing primitive has a shadow. |
\dpshadxN | X-offset of the shadow. |
\dpshadyN | Y-offset of the shadow. |
The following values are available for specifying fill patterns in drawing objects with the \dpfillpat control word.
Value | Fill pattern |
0 | Clear (no pattern) |
1 | Solid (100%) |
2 | 5% |
3 | 10% |
4 | 20% |
5 | 25% |
6 | 30% |
7 | 40% |
8 | 50% |
9 | 60% |
10 | 70% |
11 | 75% |
12 | 80% |
13 | 90% |
14 | Dark horizontal lines |
15 | Dark vertical lines |
16 | Dark left-diagonal lines (\\\) |
17 | Dark right-diagonal lines (///) |
18 | Dark grid lines |
19 | Dark trellis lines |
20 | Light horizontal lines |
21 | Light vertical lines |
22 | Light left-diagonal lines (\\\) |
23 | Light right-diagonal lines (///) |
24 | Light grid lines |
25 | Light trellis lines |