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