update for HEAD-2002110401
[reactos.git] / subsys / win32k / eng / brush.h
1 typedef struct  _BRUSHINST
2 {
3   // We need to removed ajC0-3 when color pattern code is complete!!!
4   //
5   BYTE    ajC0[8];  // Color bits for plane 0
6   BYTE    ajC1[8];  // Color bits for plane 1
7   BYTE    ajC2[8];  // Color bits for plane 2
8   BYTE    ajC3[8];  // Color bits for plane 3
9
10   BYTE    ajPattern[32];       // Color bits for the mask
11   USHORT  usStyle;  // Brush style
12   BYTE    fjAccel;  // Accelerator flags
13   BYTE    jFgColor; // Current foreground color
14   BYTE    jBkColor; // Current background color
15   BYTE    RealWidth;//
16   BYTE    YShiftValue;       //
17   BYTE    jOldBrushRealized; //
18   DWORD   Width;    // Width of brush
19   DWORD   Height;
20   BYTE    *pPattern;     //Pointer to realized mono pattern
21 } BRUSHINST;
22
23 #define BRI_SOLID           0
24 #define BRI_HOLLOW          1
25 #define BRI_HATCHED         2
26 #define BRI_PATTERN         3
27 #define BRI_MONO_PATTERN    4
28 #define BRI_COLOR_PATTERN   5
29
30 //      Definitions for the pcol_C3 byte of the physical color
31 //
32 //      Some of these definitions have limitations as to when they
33 //      are valid.  They are as follows:
34 //
35 //      C0_BIT          color device, phys color, solid brushes if SOLID_COLOR
36 //      C1_BIT          color device, phys color, solid brushes if SOLID_COLOR
37 //      C2_BIT          color device, phys color, solid brushes if SOLID_COLOR
38 //      C3_BIT          color device, phys color, solid brushes if SOLID_COLOR
39 //      MONO_BIT        mono  device, phys color
40 //      ONES_OR_ZEROS   color device, phys color, solid brushes if SOLID_COLOR
41 //      GREY_SCALE      color device, dithered solid and hatched brushes
42 //      SOLID_BRUSH     color device, solid brush qualifier
43 //
44 //      There may be brushes where the accelerators could have been set,
45 //      but wasn't.  That's life.
46
47 #define C0_BIT          0x01            // C0 color
48 #define C1_BIT          0x02            // C1 color
49 #define C2_BIT          0x04            // C2 color
50 #define C3_BIT          0x08            // C3 color
51 #define COLOR_BITS      0x0f            // All the color bits
52 #define MONO_BIT        0x10            // Monochrome bit
53 #define ONES_OR_ZEROS   0x20            // Color is really all 1's or all 0's
54 #define GREY_SCALE      0x40            // Indicates a real grey scale brush
55 #define SOLID_BRUSH     0x80            // Indicates a solid color brush
56
57 #define PTRI_INVERT     0x0001
58 #define PTRI_ANIMATE    0x0002