2.3.5.30 EMR_POLYPOLYLINE Record

The EMR_POLYPOLYLINE record draws multiple series of connected line segments.


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

Type

Size

Bounds

...

...

...

NumberOfPolylines

Count

aPolylinePointCount (variable)

...

aPoints (variable)

...

Type (4 bytes): An unsigned integer that identifies this record type as EMR_POLYPOLYLINE. This value is 0x00000007.

Size (4 bytes): An unsigned integer that specifies the size of this record in bytes.

Bounds (16 bytes): A RectL object ([MS-WMF] section 2.2.2.19) that specifies the bounding rectangle in logical units.

NumberOfPolylines (4 bytes): An unsigned integer that specifies the number of polylines, which is the number of elements in the aPolylinePointCount array.

Count (4 bytes): An unsigned integer that specifies the total number of points in all polylines, which is the number of elements in the aPoints array.

Line width

Device supports wideline

Maximum points allowed

1

n/a

16K

> 1

yes

16K

> 1

no

1360

Any extra points MUST be ignored.

aPolylinePointCount (variable): A NumberOfPolylines-length array of 32-bit unsigned integers that specify the point counts for all polylines. Each value MUST be >= 0x00000002.

Each point count refers to a number of consecutive elements in the aPoints array.

aPoints (variable): A Count-length array of PointL objects ([MS-WMF] section 2.2.2.15) that specify the point data, in logical units.

The line segments SHOULD be drawn using the current pen. The figures formed by the segments SHOULD NOT filled. The current drawing position SHOULD neither be used nor updated by this record.

See section 2.3.5 for more drawing record types.