- Add tag for path objects. Set DC handle when selecting bitmap.
[reactos.git] / reactos / subsystems / win32 / win32k / include / tags.h
1 #ifndef _WIN32K_TAGS_H
2 #define _WIN32K_TAGS_H
3
4 #define TAG_STRING TAG('S', 'T', 'R', ' ') /* string */
5 #define TAG_RTLREGISTRY TAG('R', 'q', 'r', 'v') /* RTL registry */
6
7 /* ntuser */
8 #define TAG_MOUSE TAG('M', 'O', 'U', 'S') /* mouse */
9 #define TAG_KEYBOARD TAG('K', 'B', 'D', ' ') /* keyboard */
10 #define TAG_ACCEL TAG('A', 'C', 'C', 'L') /* accelerator */
11 #define TAG_HOOK TAG('W', 'N', 'H', 'K') /* hook */
12 #define TAG_HOTKEY TAG('H', 'O', 'T', 'K') /* hotkey */
13 #define TAG_MENUITEM TAG('M', 'E', 'N', 'I') /* menu item */
14 #define TAG_MSG TAG('M', 'E', 'S', 'G') /* message */
15 #define TAG_MSGQ TAG('M', 'S', 'G', 'Q') /* message queue */
16 #define TAG_USRMSG TAG('U', 'M', 'S', 'G') /* user message */
17 #define TAG_WNDPROP TAG('W', 'P', 'R', 'P') /* window property */
18 #define TAG_WNAM TAG('W', 'N', 'A', 'M') /* window name */
19 #define TAG_WINLIST TAG('W', 'N', 'L', 'S') /* window handle list */
20 #define TAG_WININTLIST TAG('W', 'N', 'I', 'P') /* window internal pos */
21 #define TAG_WINPROCLST TAG('W', 'N', 'P', 'L') /* window proc list */
22 #define TAG_SBARINFO TAG('S', 'B', 'I', 'N') /* scrollbar info */
23 #define TAG_TIMER TAG('T', 'I', 'M', 'R') /* timer entry */
24 #define TAG_TIMERTD TAG('T', 'I', 'M', 'T') /* timer thread dereference list */
25 #define TAG_TIMERBMP TAG('T', 'I', 'M', 'B') /* timers bitmap */
26 #define TAG_CALLBACK TAG('C', 'B', 'C', 'K') /* callback memory */
27 #define TAG_WINSTA TAG('W', 'S', 'T', 'A') /* window station */
28 #define TAG_PDCE TAG('U', 's', 'd', 'c') /* dce */
29
30 /* gdi objects from the handle table */
31 #define TAG_DC TAG('G', 'l', 'a', '1') /* dc */
32 #define TAG_REGION TAG('G', 'l', 'a', '4') /* region */
33 #define TAG_SURFACE TAG('G', 'l', 'a', '5') /* bitmap */
34 #define TAG_CLIENTOBJ TAG('G', 'h', '0', '6')
35 #define TAG_PATH TAG('G', 'h', '0', '7')
36 #define TAG_PALETTE TAG('G', 'l', 'a', '8')
37 #define TAG_ICMLCS TAG('G', 'h', '0', '9')
38 #define TAG_LFONT TAG('G', 'l', 'a', ':')
39 #define TAG_RFONT TAG('G', 'h', '0', ';') /* correct? */
40 #define TAG_PFE TAG('G', 'h', '0', '<')
41 #define TAG_PFT TAG('G', 'h', '0', '=') /* correct? */
42 #define TAG_ICMCXF TAG('G', 'h', '0', '>') /* correct? */
43 #define TAG_SPRITE TAG('G', 'h', '0', '?') /* correct? */
44 #define TAG_BRUSH TAG('G', 'l', 'a', '@')
45 #define TAG_UMPD TAG('G', 'h', '0', 'A') /* correct? */
46 #define TAG_SPACE TAG('G', 'h', '0', 'C') /* correct? */
47 #define TAG_META TAG('G', 'h', '0', 'E') /* correct? */
48 #define TAG_EFSTATE TAG('G', 'h', '0', 'F') /* correct? */
49 #define TAG_BMFD TAG('G', 'h', '0', 'G') /* correct? */
50 #define TAG_VTFD TAG('G', 'h', '0', 'H') /* correct? */
51 #define TAG_TTFD TAG('G', 'h', '0', 'I') /* correct? */
52 #define TAG_RC TAG('G', 'h', '0', 'J') /* correct? */
53 #define TAG_TEMP TAG('G', 'h', '0', 'K') /* correct? */
54 #define TAG_DRVOBJ TAG('G', 'h', '0', 'L') /* correct? */
55 #define TAG_DCIOBJ TAG('G', 'h', '0', 'M') /* correct? */
56 #define TAG_SPOOL TAG('G', 'h', '0', 'N') /* correct? */
57
58 /* other gdi objects */
59 #define TAG_BEZIER TAG('B', 'E', 'Z', 'R') /* bezier */
60 #define TAG_BITMAP TAG('B', 'T', 'M', 'P') /* bitmap */
61 #define TAG_PATBLT TAG('P', 'B', 'L', 'T') /* patblt */
62 #define TAG_CLIP TAG('C', 'L', 'I', 'P') /* clipping */
63 #define TAG_COORD TAG('C', 'O', 'R', 'D') /* coords */
64 #define TAG_GDIDEV TAG('G', 'd', 'e', 'v') /* gdi dev support*/
65 #define TAG_GDIPDEV TAG('G', 'D', 'e', 'v') /* gdi PDev */
66 #define TAG_GDIHNDTBLE TAG('G', 'D', 'I', 'H') /* gdi handle table */
67 #define TAG_GDIICM TAG('G', 'i', 'c', 'm') /* gdi Icm */
68 #define TAG_DIB TAG('D', 'I', 'B', ' ') /* dib */
69 #define TAG_COLORMAP TAG('C', 'O', 'L', 'M') /* color map */
70 #define TAG_SHAPE TAG('S', 'H', 'A', 'P') /* shape */
71 #define TAG_PALETTEMAP TAG('P', 'A', 'L', 'M') /* palette mapping */
72 #define TAG_PRINT TAG('P', 'R', 'N', 'T') /* print */
73 #define TAG_GDITEXT TAG('T', 'X', 'T', 'O') /* text */
74 #define TAG_PENSTYLES TAG('G', 's', 't', 'y') /* pen styles */
75
76 /* Eng objects */
77 #define TAG_CLIPOBJ TAG('C', 'L', 'P', 'O') /* clip object */
78 #define TAG_DRIVEROBJ TAG('D', 'R', 'V', 'O') /* driver object */
79 #define TAG_DFSM TAG('D', 'f', 's', 'm') /* Eng event allocation */
80 #define TAG_EPATH TAG('G', 'p', 'a', 't') /* path object */
81 #define TAG_FONT TAG('F', 'N', 'T', 'E') /* font entry */
82 #define TAG_FONTOBJ TAG('G', 'f', 'n', 't') /* font object */
83 #define TAG_WNDOBJ TAG('W', 'N', 'D', 'O') /* window object */
84 #define TAG_XLATEOBJ TAG('X', 'L', 'A', 'O') /* xlate object */
85 #define TAG_BITMAPOBJ TAG('B', 'M', 'P', 'O') /* bitmap object */
86 #define TAG_GSEM TAG('G', 's', 'e', 'm') /* Gdi Semaphore */
87
88 /* misc */
89 #define TAG_DRIVER TAG('G', 'D', 'R', 'V') /* video drivers */
90 #define TAG_FNTFILE TAG('F', 'N', 'T', 'F') /* font file */
91 #define TAG_SSECTPOOL TAG('S', 'S', 'C', 'P') /* shared section pool */
92 #define TAG_PFF TAG('G', 'p', 'f', 'f') /* physical font file */
93
94 /* Dx internal tags rember I do not known if it right namees */
95 #define TAG_DXPVMLIST TAG('D', 'X', 'P', 'L') /* pmvlist for the driver */
96 #define TAG_DXFOURCC TAG('D', 'X', 'F', 'O') /* pdwFourCC for the driver */
97 #define TAG_DDRAW TAG('D', 'h', ' ', '1')
98 #define TAG_DDSURF TAG('D', 'h', ' ', '2')
99 #define TAG_EDDGBL TAG('E', 'D', 'D', 'G') /* ? edd_directdraw_global ??*/
100
101
102 #endif /* _WIN32K_TAGS_H */