[WIN32SS]
[reactos.git] / reactos / win32ss / drivers / displays / vga / objects / 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