2.3.1.4 EmfPlusSetClipRect Record

The EmfPlusSetClipRect record combines the current clipping region with a rectangle.


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

Flags

Size

DataSize

ClipRect

...

...

...

Type (2 bytes): An unsigned integer that identifies this record type as EmfPlusSetClipRect from the RecordType enumeration. The value MUST be 0x4032.

Flags (2 bytes): An unsigned integer that provides information about how the operation is to be performed, and about the structure of the record.


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

X

X

X

X

CM

X

X

X

X

X

X

X

X

X (1 bit): Reserved and MUST be ignored.

CM (4 bits): The logical operation for combining two regions. See the CombineMode enumeration for the meanings of the values.

Size (4 bytes): An unsigned integer that specifies the 32-bit-aligned size of the entire record in bytes, including the 12-byte record header and record-specific data. For this record type, the value MUST be 0x0000001C.

DataSize (4 bytes): An unsigned integer that specifies the 32-bit-aligned number of bytes of data in the record-specific data that follows. This number does not include the size of the invariant part of this record. For this record type, the value MUST be 0x00000010.

ClipRect (16 bytes): An EmfPlusRectF object that defines the rectangle to use in the CombineMode operation.

The new current clipping region is set to the result of the CombineMode operation.

See section 2.3.1 for the specification of additional clipping record types.