2.2.2.9 EmfPlusCompoundLineData Object

The EmfPlusCompoundLineData object specifies line and space data for a compound line.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

CompoundLineDataSize

CompoundLineData (variable)

...

CompoundLineDataSize (4 bytes): An unsigned integer that specifies the number of elements in the CompoundLineData field.

CompoundLineData (variable): An array of CompoundLineDataSize 32-bit floating-point values that specify the compound line of a pen. The elements MUST be in increasing order, and their values MUST be between 0.0 and 1.0, inclusive.

Graphics pens are specified by EmfPlusPen objects (section 2.2.1.7). An EmfPlusCompoundLineData object MUST be present in the OptionalData field of an EmfPlusPenData object (section 2.2.2.33), if the PenDataCompoundLineData flag (section 2.1.2.7) is set in its PenDataFlags field.

A compound line is made up of a pattern of alternating parallel lines and spaces of varying widths. The values in the array specify the starting points of each component of the compound line relative to the total width. The first value specifies where the first line component begins as a fraction of the distance across the width of the pen. The second value specifies where the first space component begins as a fraction of the distance across the width of the pen. The final value in the array specifies where the last line component ends.

See section 2.2.2 for the specification of additional structure objects.