Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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.