2.3.5.28 EMR_POLYPOLYGON Record

The EMR_POLYPOLYGON record specifies a series of closed polygons.

Fields not specified in this section are specified in section 2.3.5.


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

...

...

...

NumberOfPolygons

Count

PolygonPointCount (variable)

...

aPoints (variable)

...

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

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

NumberOfPolygons (4 bytes): An unsigned integer that specifies the number of polygons.

Count (4 bytes): An unsigned integer that specifies the total number of points in all polygons.

 Line width

Device supports wideline

 Maximum points allowed

1

n/a

16K

> 1

yes

16K

> 1

no

1360

Any extra points MUST be ignored. To draw a line with more points, the data SHOULD be divided into groups that have less than the maximum number of points, and an EMR_POLYPOLYGON operation SHOULD be performed for each group of points.

PolygonPointCount (variable): An array of 32-bit unsigned integers that specifies the point count for each polygon.

aPoints (variable): An array of PointL objects ([MS-WMF] section 2.2.2.15) that specifies the points for all polygons in logical units. The number of points is specified by the Count field value.

Each polygon SHOULD be outlined using the current pen, and filled using the current brush and polygon fill mode that are defined in the playback device context. The polygons defined by this record can overlap.

See section 2.3.5 for more drawing record types.