2.2.2.2.1.1.2.17 PolygonCB (POLYGON_CB_ORDER)

The PolygonCB Primary Drawing Order encodes a color brush polygon consisting of two or more vertices connected by straight lines.

 Encoding order number: 21 (0x15)
 Negotiation order number: 21 (0x15)
 Number of fields: 13
 Number of field encoding bytes: 2
 Maximum encoded field length: 263 bytes


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

xStart (variable)

yStart (variable)

bRop2 (optional)

FillMode (optional)

BackColor (optional)

...

ForeColor (optional)

BrushOrgX (optional)

BrushOrgY (optional)

BrushStyle (optional)

BrushHatch (optional)

BrushExtra (optional)

...

NumDeltaEntries (optional)

CodedDeltaList (variable)

xStart (variable): The x-coordinate of the starting point of the polygon path specified using a Coord Field (section 2.2.2.2.1.1.1.1).

yStart (variable): The y-coordinate of the starting point of the polygon path specified using a Coord Field (section 2.2.2.2.1.1.1.1).

bRop2 (1 byte): The binary raster operation to perform (see section 2.2.2.2.1.1.1.6). The ROP2 field for the PolygonCB Primary Drawing Order has two bitfields within it. The low 5 bits (mask 0x1F) identify the real ROP2 operation. The high bit (mask 0x80) indicates whether the background drawing mode MUST be set to TRANSPARENT or OPAQUE (see section 2.2.2.2.1.1.2.11). The background drawing mode is only significant if the BrushStyle field indicates that the brush is a BS_HATCHED (0x02) or BS_PATTERN (0x03) brush.

FillMode (1 byte): The polygon filling algorithm described by using a Fill Mode (section 2.2.2.2.1.1.1.9) structure.

BackColor (3 bytes): The background color described by using a Generic Color (section 2.2.2.2.1.1.1.8) structure.

ForeColor (3 bytes): The foreground color described by using a Generic Color (section 2.2.2.2.1.1.1.8) structure.

BrushOrgX (1 byte): An 8-bit, signed integer. The x-coordinate of the point where the top leftmost pixel of a brush pattern MUST be anchored.

BrushOrgY (1 byte): An 8-bit, signed integer. The y-coordinate of the point where the top leftmost pixel of a brush pattern MUST be anchored.

BrushStyle (1 byte): An 8-bit, unsigned integer. The contents and format of this field are the same as the BrushStyle field of the PatBlt (section 2.2.2.2.1.1.2.3) Primary Drawing Order.

BrushHatch (1 byte): An 8-bit, unsigned integer. The contents and format of this field are the same as the BrushHatch field of the PatBlt (section 2.2.2.2.1.1.2.3) Primary Drawing Order.

BrushExtra (7 bytes): A byte array of length 7. The contents and format of this field are the same as the BrushExtra field of the PatBlt (section 2.2.2.2.1.1.2.3) Primary Drawing Order.

NumDeltaEntries (1 byte): An 8-bit, unsigned integer. The number of points along the polygon path described by the CodedDeltaList field.

CodedDeltaList (variable): A One-Byte Header Variable Field (section 2.2.2.2.1.1.1.2) structure that encapsulates a Delta-Encoded Points (section 2.2.2.2.1.1.1.4) structure that contains the points along the polygon path. The number of points described by the Delta-Encoded Points structure is specified by the NumDeltaEntries field.