|
|
1.1 root 1: /* getdev.h - header file for the getdev sample. */
2:
3:
4: /* function prototypes. Window procedures first. */
5: long FAR PASCAL MainDlgProc(HWND, UINT, UINT, LONG);
6:
7: VOID ExpandInfo (HWND, int, int);
8:
9:
10:
11: /* declare global variable to be used to hold string sent to list box. */
12: char buffer[100];
13: char space[] = " %s";
14:
15:
16:
17: /* the control ID from the dialog box. */
18: #define DID_LISTBOX 0x006B
19:
20:
21: /* structure for the lookup tables. */
22: typedef struct tagLookupEntry{
23: int Value;
24: char String[100];
25: } LookupEntry;
26:
27:
28:
29: /* GetDeviceCaps() codes from WINGDI.H */
30: #define NINDEX 28
31: LookupEntry DevCaps[NINDEX] =
32: {{ 0 , "DRIVERVERSION "},
33: { 2 , "TECHNOLOGY "},
34: { 4 , "HORZSIZE "},
35: { 6 , "VERTSIZE "},
36: { 8 , "HORZRES "},
37: { 10, "VERTRES "},
38: { 12, "BITSPIXEL "},
39: { 14, "PLANES "},
40: { 16, "NUMBRUSHES "},
41: { 18, "NUMPENS "},
42: { 20, "NUMMARKERS "},
43: { 22, "NUMFONTS "},
44: { 24, "NUMCOLORS "},
45: { 26, "PDEVICESIZE "},
46: { 28, "CURVECAPS "},
47: { 30, "LINECAPS "},
48: { 32, "POLYGONALCAPS "},
49: { 34, "TEXTCAPS "},
50: { 36, "CLIPCAPS "},
51: { 38, "RASTERCAPS "},
52: { 40, "ASPECTX "},
53: { 42, "ASPECTY "},
54: { 44, "ASPECTXY "},
55: { 88, "LOGPIXELSX "},
56: { 90, "LOGPIXELSY "},
57: { 104, "SIZEPALETTE "},
58: { 106, "NUMRESERVED "},
59: { 108, "COLORRES "}};
60:
61:
62:
63:
64: /* Device Technologies */
65: #define NDevice 7
66: LookupEntry Device[NDevice] =
67: {{ 0 , "DT_PLOTTER "},
68: { 1 , "DT_RASDISPLAY"},
69: { 2 , "DT_RASPRINTER"},
70: { 3 , "DT_RASCAMERA "},
71: { 4 , "DT_CHARSTREAM"},
72: { 5 , "DT_METAFILE "},
73: { 6 , "DT_DISPFILE "}};
74:
75:
76: /* Curve Capabilities */
77: #define NCurveCaps 9
78: LookupEntry CurveCaps[NCurveCaps] =
79: {{ 0 , "CC_NONE "},
80: { 1 , "CC_CIRCLES "},
81: { 2 , "CC_PIE "},
82: { 4 , "CC_CHORD "},
83: { 8 , "CC_ELLIPSES "},
84: { 16 , "CC_WIDE "},
85: { 32 , "CC_STYLED "},
86: { 64 , "CC_WIDESTYLED"},
87: { 128 , "CC_INTERIORS "}};
88:
89:
90: /* Line Capabilities */
91: #define NLineCaps 8
92: LookupEntry LineCaps[NLineCaps] =
93: {{ 0 , "LC_NONE "},
94: { 2 , "LC_POLYLINE "},
95: { 4 , "LC_MARKER "},
96: { 8 , "LC_POLYMARKER "},
97: { 16 , "LC_WIDE "},
98: { 32 , "LC_STYLED "},
99: { 64 , "LC_WIDESTYLED "},
100: { 128 , "LC_INTERIORS "}};
101:
102:
103: /* Polygonal Capabilities */
104: #define NPolygonalCaps 10
105: LookupEntry PolygonalCaps[NPolygonalCaps] =
106: {{ 0 , "PC_NONE "},
107: { 1 , "PC_POLYGON "},
108: { 2 , "PC_RECTANGLE "},
109: { 4 , "PC_WINDPOLYGON"},
110: { 4 , "PC_TRAPEZOID "}, // HACK two 4's ???
111: { 8 , "PC_SCANLINE "},
112: { 16 , "PC_WIDE "},
113: { 32 , "PC_STYLED "},
114: { 64 , "PC_WIDESTYLED "},
115: { 128 , "PC_INTERIORS "}};
116:
117:
118: /* Clip Capabilities */
119: #define NClipCaps 2
120: LookupEntry ClipCaps[NClipCaps] =
121: {{ 0 , "CP_NONE "},
122: { 1 , "CP_RECTANGLE"}};
123:
124:
125: /* Text Capabilities */
126: #define NTextCaps 16
127: LookupEntry TextCaps[NTextCaps] =
128: {{ 0x0001 , "TC_OP_CHARACTER"},
129: { 0x0002 , "TC_OP_STROKE "},
130: { 0x0004 , "TC_CP_STROKE "},
131: { 0x0008 , "TC_CR_90 "},
132: { 0x0010 , "TC_CR_ANY "},
133: { 0x0020 , "TC_SF_X_YINDEP "},
134: { 0x0040 , "TC_SA_DOUBLE "},
135: { 0x0080 , "TC_SA_INTEGER "},
136: { 0x0100 , "TC_SA_CONTIN "},
137: { 0x0200 , "TC_EA_DOUBLE "},
138: { 0x0400 , "TC_IA_ABLE "},
139: { 0x0800 , "TC_UA_ABLE "},
140: { 0x1000 , "TC_SO_ABLE "},
141: { 0x2000 , "TC_RA_ABLE "},
142: { 0x4000 , "TC_VA_ABLE "},
143: { 0x8000 , "TC_RESERVED "}};
144:
145:
146: /* Raster Capabilities */
147: #define NRasterCaps 12
148: LookupEntry RasterCaps[NRasterCaps] =
149: {{ 1 , "RC_BITBLT "},
150: { 2 , "RC_BANDING "},
151: { 4 , "RC_SCALING "},
152: { 8 , "RC_BITMAP64 "},
153: { 0x0010, "RC_GDI20_OUTPUT "},
154: { 0x0080, "RC_DI_BITMAP "},
155: { 0x0100, "RC_PALETTE "},
156: { 0x0200, "RC_DIBTODEV "},
157: { 0x0400, "RC_BIGFONT "},
158: { 0x0800, "RC_STRETCHBLT "},
159: { 0x1000, "RC_FLOODFILL "},
160: { 0x2000, "RC_STRETCHDIB "}};
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.