1 #ifndef __CMD2D_H__
2 #define __CMD2D_H__
3 
4 /*
5  * commands the 2d microcode offers
6  */
7 
8 #define CMD_SETUP					32
9 #define CMD_SET_PIX_REG				2
10 #define CMD_RECT_SOLID				1
11 #define CMD_RECT_SOLID_ROP			41
12 #define CMD_SET_FGCOLOR				50
13 #define CMD_DD_RECT_SOLID			38
14 #define CMD_SCREEN_BLT				12
15 #define CMD_DD_SCREEN_BLT			37
16 #define CMD_BITBLT_MS_COLOR			7
17 #define CMD_BITBLT_MS_MONO			22
18 #define CMD_LOAD_COLOR_BRUSH		5
19 #define CMD_RECT_COLOR_BRUSH		6
20 #define CMD_RECT_COLOR_BRUSH_ROP	24
21 #define CMD_LOAD_MONO_BRUSH			4
22 #define CMD_RECT_MONO_BRUSH			3
23 #define CMD_RECT_MONO_BRUSH_ROP		42
24 #define CMD_SET_PIXEL				34
25 #define CMD_GET_PIXEL				9
26 #define CMD_LINE_SOLID				20
27 #define CMD_LINE_STYLE				21
28 #define CMD_SCAN_LINE_SOLID			15
29 #define CMD_BSCAN_SOLID				19
30 #define CMD_BSCAN_COLOR				14
31 #define CMD_BSCAN_MONO				13
32 #define CMD_ENDSCAN					18
33 #define CMD_SCANLINE_COLOR_BRUSH	17
34 #define CMD_SCANLINE_MONO_BRUSH		16
35 #define CMD_STRETCH_BLT				23
36 #define CMD_DD_STRETCH_BLT			39
37 #define CMD_LOAD_COLOR_TABLE		25
38 #define CMD_BLTDIB1					26
39 #define CMD_BLTDIB4					27
40 #define CMD_BLTDIB8					28
41 #define CMD_BLTRLE4					30
42 #define CMD_BLTRLE8					31
43 #define CMD_SET_PALETTE				33
44 #define CMD_SETCLIPPING				36
45 #define CMD_DRAWGLYPHS				35
46 #define CMD_DD_YUV2RGB				43
47 #define CMD_DD_YUV2RGBCk			44
48 
49 
50 
51 /*
52  * pixel formats (R: red, G: green, B: blue, I: intensity/index, A: alpha)
53  *
54  * <ml>: this is redundant; one should use the enums in vtypes.h.
55  */
56 
57 #define FMT_SOURCE					0
58 #define FMT_8_332_RGB				1
59 #define FMT_8_I						2
60 #define FMT_8_A						3
61 #define FMT_16_565_RGB				4
62 #define FMT_16_4444_ARGB			5
63 #define FMT_16_1555_ARGB			6
64 #define FMT_4I_565_RGB				8
65 #define FMT_4I_444_ARGB				9
66 #define FMT_4I_1555_ARGB			0xa
67 #define FMT_32_8888_ARGB			0xc
68 #define FMT_32_888_Y0CrY1Cb			0xd
69 
70 
71 
72 /*
73  * stride values for address calculation
74  */
75 
76 #define STRIDE0_0					0
77 #define STRIDE0_8					1
78 #define STRIDE0_9					2
79 #define STRIDE0_10					3
80 #define STRIDE0_2					4
81 #define STRIDE1_0					0
82 #define STRIDE1_4					1
83 #define STRIDE1_5					2
84 #define STRIDE1_6					3
85 #define STRIDE1_7					4
86 #define STRIDE1_10					5
87 #define STRIDE1_11					6
88 #define STRIDE1_12					7
89 
90 
91 
92 /*
93  * raster operations (S: source, D: destination, N: not)
94  */
95 
96 #define ROP_ALLBITS0				0
97 #define ROP_NOR_SD					1
98 #define ROP_AND_NSD					2
99 #define ROP_NOT_S					3
100 #define ROP_AND_SND					4
101 #define ROP_NOT_D					5
102 #define ROP_XOR_SD					6
103 #define ROP_NAND_SD					7
104 #define ROP_AND_SD					8
105 #define ROP_XNOR_SD					9
106 #define ROP_D						0xa
107 #define ROP_OR_NSD					0xb
108 #define ROP_S						0xc
109 #define ROP_OR_SND					0xd
110 #define ROP_OR_SD					0xe
111 #define ROP_ALLBITS1				0xf
112 
113 
114 
115 /*
116  * ... modes
117  */
118 
119 #define MODE_TRANSPARENT			0
120 #define MODE_OPAQUE					1
121 
122 
123 
124 /*
125  * 8x8 predefined monochrome brushes
126  */
127 
128 #define HS_HORIZONTAL				0
129 #define HS_VERTICAL					1
130 #define HS_FDIAGONAL				2
131 #define HS_BDIAGONAL				3
132 #define HS_CROSS					4
133 #define HS_DIAGCROSS				5
134 
135 
136 
137 /*
138  * pen styles for styled lined
139  */
140 
141 #define PS_DASH						1
142 #define PS_DOT						2
143 #define PS_DASHDOT					3
144 #define PS_DASHDOTDOT				4
145 
146 /* end of __CMD2D_H__ */
147 #endif
148