2.2.2.4.10.1.23 PolyBezierOrder

The PolyBezierOrder packet contains one or more Bezier curves.


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

pControlFlags

OrderType (optional)

FieldBytes

Bounds (13 bytes, optional)

...

...

BackMode

BackColor (optional)

...

ForeColor (optional)

ROP2 (optional)

PenStyle (optional)

PenWidth (optional)

PenColor (optional)

...

aPoints (variable)

...

pControlFlags (1 byte): MUST be set to the value OE2_CF_STANDARD_ENC from the OE2 Control Flags enumeration. If the order differs in type from the last order that was sent, this field contains the bitwise AND of the value OE2_CF_TYPE_CHANGE. If the bounding rectangle has changed since the last order of the same type, this field contains the bitwise AND of the value OE2_CF_BOUNDS. If the coordinates of the bounding rectangle are specified as deltas from the last bounding rectangle that was used, this field contains the bitwise AND of the value OE2_CF_DELTACOORDS.

OrderType (1 byte): If the order differs in type from the last, this field MUST contain the value OE2_POLYBEZIER_ORDER from the Order Types enumeration. If the order is the same type as the last, this field is not present.

FieldBytes (1 byte): An 8-bit field, with each bit indicating which of the fields that follow the Bounds field is present. A bit set to 1 indicates that the field is present and its value has changed since the same order type was last sent.


0


1


2


3


4


5


6


7

A

B

C

D

E

F

0

0

Where the bits are defined as:

Value

Description

A

                

The BackColor value is present.

B

                

The ForeColor value is present.

C

                

The ROP2 value is present.

D

                

The PenStyle value is present.

E

                

The PenWidth value is present.

F

                

The PenColor value is present.

The bit that is marked with 0 MUST be 0.

Bounds (13 bytes): A byte array of a BoundsData structure. This field is present only if the pControlFlags field contains the bitwise AND of the value OE2_CF_BOUNDS from the OE2 Control Flags enumeration.

BackMode (2 bytes): One of the BackMode values that are defined in section 2.2.1.2.1 MUST be present and specify how the foreground and background SHOULD be mixed.

BackColor (3 bytes): This value MUST be present if the corresponding bit from the FieldBytes field is set. This represents the background color value that is specified by a byte array of a TSHR_COLOR structure.

ForeColor (3 bytes): This value MUST be present if the corresponding bit from the FieldBytes field is set. This represents the foreground color value that is specified by a byte array of a TSHR_COLOR structure.

ROP2 (1 byte): This value MUST be present if the corresponding bit from the FieldBytes field is set. This represents one of the ROP2 values that are defined in section 2.2.1.2.5 and that specify the mix mode of the foreground.

PenStyle (1 byte): This value MUST be present if the corresponding bit from the FieldBytes field is set. This represents one of the PenStyle values that are defined in section 2.2.1.2.4.

PenWidth (1 byte): This value MUST be present if the corresponding bit from the FieldBytes field is set. This represents the width, in pixels, of the pen.

PenColor (3 bytes): This value MUST be present if the corresponding bit from the FieldBytes field is set. This represents the color value of the pen that is specified by a byte array of a TSHR_COLOR structure.

aPoints (variable): An array of TSHR_POINT16 structures that describe the curve. The first byte is the number of bytes of data. Two bytes for each point follow: one byte for the x-coordinate and one byte for the y-coordinate.