2.3.4.7 EmfPlusDrawEllipse Record

The EmfPlusDrawEllipse record specifies drawing an ellipse.


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

RectData (variable)

...

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

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

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 ellipse. 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. For this record type, the value MUST be one of the following:

Value

Meaning

0x00000014

If the C bit is set in the Flags field.

0x0000001C

If the C bit is clear in the Flags field.

DataSize (4 bytes): An unsigned integer that specifies the 32-bit-aligned number of bytes of record-specific data that follows. For this record type, the value MUST be one of the following:

Value

Meaning

0x00000008

If the C bit is set in the Flags field.

0x00000010

If the C bit is clear in the Flags field.

RectData (variable): Either an EmfPlusRect or EmfPlusRectF object that defines the bounding box of the ellipse.

See section 2.3.4 for the specification of additional drawing record types.