2.3.11.3 EMR_INVERTRGN Record

The EMR_INVERTRGN record inverts the colors in the specified region. The current clipping regions used by this record are maintained in a Regions state element (section 3.1.1.2.1) in the playback device context (section 3.1).

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

...

...

...

RgnDataSize

RgnData (variable)

...

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

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 destination bounding rectangle in logical coordinates. If the intersection of this rectangle with the current clipping region is empty, this record has no effect.

RgnDataSize (4 bytes): An unsigned integer that specifies the size of region data in bytes.

RgnData (variable): A RgnDataSize length array of bytes that specifies the output region in a RegionData object (section 2.2.24). The bounds specified by the RegionDataHeader field of this object MAY<83> be used as the bounding rectangle of the region when this record is processed.

If the output surface is monochrome, this record SHOULD convert white pixels to black and black pixels to white. For color output, the inversion is dependent on the type of technology used to generate the colors.

See section 2.3.11 for more state record types.