2.3.4.20 EmfPlusFillRects Record
The EmfPlusFillRects record specifies filling the interiors of a series of rectangles.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Type |
Flags |
||||||||||||||||||||||||||||||
Size |
|||||||||||||||||||||||||||||||
DataSize |
|||||||||||||||||||||||||||||||
BrushId |
|||||||||||||||||||||||||||||||
Count |
|||||||||||||||||||||||||||||||
RectData (variable) |
|||||||||||||||||||||||||||||||
... |
Type (2 bytes): An unsigned integer that identifies this record type as EmfPlusFillRects from the RecordType enumeration. The value MUST be set to 0x400A
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
1S
C
X
X
X
X
X
X
X
X
X
X
X
X
X
X
-
S (1 bit): This bit specifies the type of data in the BrushId field.
-
If set, BrushId specifies a color as an EmfPlusARGB object. If clear, BrushId contains the index of an EmfPlusBrush object in the EMF+ Object Table.
-
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.
-
X (1 bit): Reserved and MUST be ignored.
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
-
0x0000001C ≤ value
-
If the C bit is set in the Flags field, Size MUST be computed as follows:
-
Size = (Count * 0x00000008) + 0x00000014
-
0x00000024 ≤ value
-
If the C bit is clear in the Flags field, Size MUST be computed as follows:
-
Size = (Count * 0x00000010) + 0x00000014
-
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
0x00000010 ≤ value
If the C bit is set in the Flags field, DataSize MUST be computed as follows:
-
DataSize = (Count * 0x00000008) + 0x00000008
0x00000018 ≤ value
If the C bit is clear in the Flags field, DataSize MUST be computed as follows:
-
DataSize = (Count * 0x00000010) + 0x00000008
-
BrushId (4 bytes): An unsigned integer that defines the brush, the content of which is determined by the S bit in the Flags field.
Count (4 bytes): An unsigned integer that specifies the number of rectangles in the RectData field.
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.