4.1.17 PolygonCB

The following is an annotated dump of a PolygonCB (section 2.2.2.2.1.1.2.17) Primary Drawing Order.

 00000000 09 15 ef 1b ea 00 46 01 0d 01 08 00 00 04 03 81 ......F.........
 00000010 08 03 05 88 09 26 09 77                         .....&.w
  
 09 -> PRIMARY_DRAWING_ORDER::controlFlags = 0x09
 0x09
 = 0x01 |
   0x08
 = TS_STANDARD |
   TS_TYPE_CHANGE
  
 15 -> PRIMARY_DRAWING_ORDER::orderType = 0x15 = TS_ENC_POLYGON_CB_ORDER
  
 ef 1b -> PRIMARY_DRAWING_ORDER::fieldFlags = 0x1bef
 Binary of 0x1bef = 0001 1011 1110 1111
 Fields 1-4, 6-10, 12-13 are present
  
 ea 00 -> POLYGON_CB_ORDER::xStart = 0xea = 234 
 46 01 -> POLYGON_CB_ORDER::yStart = 0x146 = 326 
  
 0d -> POLYGON_CB_ORDER::bRop2 = 0x0d = COPYPEN
 01 -> POLYGON_CB_ORDER::FillMode = 0x01 = ALTERNATE
  
 POLYGON_CB_ORDER::BackColor not present
  
 08 00 00 -> POLYGON_CB_ORDER::ForeColor
 TS_COLOR::RedOrPaletteIndex = 0x08
 TS_COLOR::Green = 0x00
 TS_COLOR::Blue = 0x00
  
 04 -> POLYGON_CB_ORDER::BrushOrgX = 4 
 03 -> POLYGON_CB_ORDER::BrushOrgY = 3 
  
 81 -> POLYGON_CB_ORDER:BrushStyle = 0x81 = 0x80 | 0x01 = TS_CACHED_BRUSH | BMF_1BPP
 08 -> POLYGON_CB_ORDER:BrushHatch = Brush Cache Index = 0x8
  
 POLYGON_CB_ORDER::BrushExtra not present
  
 03 -> POLYGON_CB_ORDER::NumDeltaEntries = 0x3 = 3 entries
  
 05 -> VARIABLE1_FIELD::cbData = 5 bytes
  
 88 09 26 09 77 -> VARIABLE1_FIELD::rgbData
  
 88 -> DELTA_PTS_FIELD::zeroBits = binary:10 00 10 00
  
 Point 1: Delta X = 0 (zeroBit set)      09 -> Delta Y = 0x9 = 9
 Point 2: 26 -> Delta X = 0x26 = 38      09 -> Delta Y = 0x9 = 9
 Point 3: Delta X = 0 (zeroBit set)      77 -> Delta Y = 0xfffffff7 = -9
  
 Actual point 1: 234, 335
 Actual point 2: 272, 344
 Actual point 3: 272, 335