DASH (0x44415348) /* Line dash pattern for edges */
This chunk describes the on-off dash pattern associated with a line.
struct DASHstruct {
ULONG ID;
ULONG Size;
USHORT DashID; /* ID of the dash pattern */
USHORT NumDashes; /* Should always be even */
IEEE Dashes[NumDashes]; /* On-off pattern */
};
DashID is the number assigned to this specific dash pattern. References to
this dash pattern by other DR2D chunks are made using this number.
The Dashes[] array contains the actual dash pattern. The first number in
the array (element 0) is the length of the ``on'' portion of the pattern.
The second number (element 1) specifies the ``off'' portion of the
pattern. If there are more entries in the Dashes array, the pattern will
continue. Even-index elements specify the length of an ``on'' span, while
odd-index elements specify the length of an ``off'' span. There must be
an even number of entries. These lengths are not in the same units as
specified in the PPRF chunk, but are multiples of the line width, so a
line of width 2.5 and a dash pattern of 1.0, 2.0 would have an ``on'' span
of length 1.0 x 2.5 = 2.5 followed by an ``off'' span of length 2.0 x 2.5
= 5. The following figure shows several dash pattern examples. Notice
that for lines longer than the dash pattern, the pattern repeats.
figure 1 - dash patterns
By convention, DashID 0 is reserved to mean `No line pattern at all', i.e.
the edges are invisible. This DASH pattern should not be defined by a
DR2D DASH chunk. Again by convention, a NumDashes of 0 means that the
line is solid.