2.3.4.13 EmfPlusDrawRects Record
The EmfPlusDrawRects record specifies drawing a series of rectangles.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Type |
Flags |
||||||||||||||||||||||||||||||
Size |
|||||||||||||||||||||||||||||||
DataSize |
|||||||||||||||||||||||||||||||
Count |
|||||||||||||||||||||||||||||||
RectData (variable) |
|||||||||||||||||||||||||||||||
... |
Type (2 bytes): An unsigned integer that identifies this record type as EmfPlusDrawRects from the RecordType enumeration. The value MUST be 0x400B.
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
91
0
1
2
3
4
5
6
7
8
92
0
1
2
3
4
5
6
7
8
93
0
1X
C
X
X
X
X
X
X
ObjectID
-
X (1 bit): Reserved and MUST be ignored.
-
C (1 bit): This bit indicates whether the data in the RectData field is compressed.
-
If set, RectData contains an EmfPlusRect object. If clear, RectData contains an EmfPlusRectF object.
-
-
ObjectID (1 byte): The index of an EmfPlusPen object in the EMF+ Object Table to draw the rectangles. The value MUST be zero to 63, inclusive.
Size (4 bytes): An unsigned integer that specifies the 32-bit-aligned number of bytes in the entire record, including the 12-byte record header and record-specific data.
-
At least 1 RectData array element MUST be specified in this record.
-
Value
Meaning
0x00000018 ≤ value
If the C bit is set in the Flags field, Size MUST be computed as follows:
-
Size = (Count * 0x00000008) + 0x00000010
0x00000020 ≤ value
If the C bit is clear in the Flags field, Size MUST be computed as follows:
-
Size = (Count * 0x00000010) + 0x00000010
-
DataSize (4 bytes): An unsigned integer that specifies the 32-bit-aligned number of bytes of record-specific data that follows.
-
At least 1 RectData array element MUST be specified in this record.
-
Value
Meaning
0x0000000C ≤ value
If the C bit is set in the Flags field, DataSize MUST be computed as follows:
-
DataSize = (Count * 0x00000008) + 0x00000004
0x00000014 ≤ value
If the C bit is clear in the Flags field, DataSize MUST be computed as follows:
-
DataSize = (Count * 0x00000010) + 0x00000004
-
Count (4 bytes): An unsigned integer that specifies the number of rectangles in the RectData member.
RectData (variable): An array of either an EmfPlusRect or EmfPlusRectF objects of Count length that defines the rectangle data.
See section 2.3.4 for the specification of additional drawing record types.