2.2.2.4.10.1.24 PolygonOrder

The PolygonOrder packet contains a polygon.


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)

...

BrushOrgX (optional)

BrushOrgY (optional)

BrushStyle (optional)

BrushHatch

BrushExtra

...

ROP2 (optional)

PenStyle (optional)

PenWidth (optional)

PenColor (optional)

...

FillMode (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_POLYGON_ORDER from the Order Types enumeration. If the order is the same type as the last, this field is not present.

FieldBytes (2 bytes): A 16-bit field, with each bit indicating which of the fields that follow the Bounds field is present. A bit that is 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


8


9

1
0


1


2


3


4


5

A

B

C

D

E

F

G

H

I

J

0

0

0

0

0

0

Where the bits are defined as:

Value

Description

A

                

The BackColor value is present.

B

                

The ForeColor value is present.

C

                

The BrushOrgX value is present.

D

                

The BrushOrgY value is present.

E

                

The BrushStyle value is present.

F

                

The ROP2 value is present.

G

                

The PenStyle value is present.

H

                

The PenWidth value is present.

I

                

The PenColor value is present.

J

                

The FillMode 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. Specifies 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 and 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 and is specified by a byte array of a TSHR_COLOR structure.

BrushOrgX (1 byte): This value MUST be present if the corresponding bit from the FieldBytes field is set. This represents the x-offset at which the brush begins. The offset is based on window coordinates where the origin of (0,0) is upper left.

BrushOrgY (1 byte): This value MUST be present if the corresponding bit from the FieldBytes field is set. This represents the y-offset at which the brush begins. The offset is based on window coordinates where the origin of (0,0) is upper left.

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

BrushHatch (1 byte): If BrushStyle is set to BS_PATTERN, this field is the first byte of the 64-by-64 pixel monochrome bitmap of the brush; it is laid out in top-to-bottom, left-to-right order. If set to BS_HATCHED, one of the BrushHatch values that are defined in section 2.2.1.2.2 and that specify the orientation of the lines is used to create the hatch. Otherwise, this field is not used.

BrushExtra (7 bytes): If BrushStyle is set to BS_PATTERN, this field is the last seven bytes of the 64-by-64 pixel monochrome bitmap of the brush; it is laid out in top-to-bottom, left-to-right order. Otherwise, this field is not used.

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 and is specified by a byte array of a TSHR_COLOR structure.

FillMode (1 byte): This value MUST be present if the corresponding bit from the FieldBytes field is set. This represents one of the following values, which determine the fill mode of the polygon.

Value

Meaning

ALTERNATE

0x01

Fills the area between odd-numbered and even-numbered polygon sides on each scan line.

WINDING

0x02

Fills any region with a nonzero winding value.

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.