|
|
1.1 root 1: /******************************************************************************\
2: *
3: * GETCAPS.H
4: *
5: \******************************************************************************/
6:
7:
8:
9: /******************************************************************************\
10: * SYMBOLIC CONSTANTS
11: \******************************************************************************/
12:
13: #define MAX_DEVICE_CAPS 34 // num entries in gaCaps table
14:
15: #define MAX_TECHNOLOGY_CAPS 7 // num entries in gaTechnologyCaps table
16: #define MAX_CURVE_CAPS 10 // num entries in gaCurveCaps table
17: #define MAX_LINE_CAPS 8 // num entries in gaLineCaps table
18: #define MAX_POLYGON_CAPS 10 // num entries in gaPolygonCaps table
19: #define MAX_TEXT_CAPS 16 // num entries in gaTextCaps table
20: #define MAX_RASTER_CAPS 17 // num entries in gaRasterCaps table
21: #define MAX_CLIP_CAPS 3 // num entries in gaClipCaps table
22:
23: #define BLANKS " \t\t" // see gaCaps to get spacing
24:
25: #define ERR_MOD_NAME "Error: PRINTER.EXE (GETCAPS.C)"
26:
27:
28:
29: /******************************************************************************\
30: * TYPEDEFS
31: \******************************************************************************/
32:
33: typedef struct tagCAPSLOOKUP
34: {
35: int iValue;
36: LPTSTR szValue;
37:
38: } CAPSLOOKUP;
39:
40:
41:
42: /******************************************************************************\
43: * GLOBAL VARIABLES
44: \******************************************************************************/
45:
46: HWND ghwndDevCaps;
47:
48: CAPSLOOKUP gaCaps[] =
49:
50: { { DRIVERVERSION, "DRIVERVERSION: \t%ld" },
51: { TECHNOLOGY, "TECHNOLOGY: \t" },
52: { HORZSIZE, "HORZSIZE: \t\t%ld" },
53: { VERTSIZE, "VERTSIZE: \t\t%ld" },
54: { HORZRES, "HORZRES: \t\t%ld" },
55: { VERTRES, "VERTRES: \t\t%ld" },
56: { BITSPIXEL, "BITSPIXEL: \t\t%ld" },
57: { PLANES, "PLANES: \t\t%ld" },
58: { NUMBRUSHES, "NUMBRUSHES: \t%ld" },
59: { NUMPENS, "NUMPENS: \t\t%ld" },
60: { NUMMARKERS, "NUMMARKERS: \t%ld" },
61: { NUMFONTS, "NUMFONTS: \t\t%ld" },
62: { NUMCOLORS, "NUMCOLORS: \t%ld" },
63: { PDEVICESIZE, "PDEVICESIZE: \t\t%ld" },
64: { CURVECAPS, "CURVECAPS: \t\t" },
65: { LINECAPS, "LINECAPS: \t\t" },
66: { POLYGONALCAPS, "POLYGONALCAPS: \t" },
67: { TEXTCAPS, "TEXTCAPS: \t\t" },
68: { CLIPCAPS, "CLIPCAPS: \t\t" },
69: { RASTERCAPS, "RASTERCAPS: \t" },
70: { ASPECTX, "ASPECTX: \t\t%ld" },
71: { ASPECTY, "ASPECTY: \t\t%ld" },
72: { ASPECTXY, "ASPECTXY: \t\t%ld" },
73: { LOGPIXELSX, "LOGPIXELSX: \t\t%ld" },
74: { LOGPIXELSY, "LOGPIXELSY: \t\t%ld" },
75: { SIZEPALETTE, "SIZEPALETTE: \t\t%ld" },
76: { NUMRESERVED, "NUMRESERVED: \t%ld" },
77: { COLORRES, "COLORRES: \t\t%ld" },
78: { PHYSICALWIDTH, "PHYSICALWIDTH: \t%ld" },
79: { PHYSICALHEIGHT, "PHYSICALHEIGHT: \t%ld" },
80: { PHYSICALOFFSETX, "PHYSICALOFFSETX: \t%ld" },
81: { PHYSICALOFFSETY, "PHYSICALOFFSETY: \t%ld" },
82: { SCALINGFACTORX, "SCALINGFACTORX: \t%ld" },
83: { SCALINGFACTORY, "SCALINGFACTORY: \t%ld" } };
84:
85:
86: CAPSLOOKUP gaTechnologyCaps[] =
87:
88: { { DT_PLOTTER, "DT_PLOTTER " },
89: { DT_RASDISPLAY, "DT_RASDISPLAY " },
90: { DT_RASPRINTER, "DT_RASPRINTER " },
91: { DT_RASCAMERA, "DT_RASCAMERA " },
92: { DT_CHARSTREAM, "DT_CHARSTREAM " },
93: { DT_METAFILE, "DT_METAFILE " },
94: { DT_DISPFILE, "DT_DISPFILE " } };
95:
96: CAPSLOOKUP gaCurveCaps[] =
97:
98: { { CC_NONE, "CC_NONE " },
99: { CC_CIRCLES, "CC_CIRCLES " },
100: { CC_PIE, "CC_PIE " },
101: { CC_CHORD, "CC_CHORD " },
102: { CC_ELLIPSES, "CC_ELLIPSES " },
103: { CC_WIDE, "CC_WIDE " },
104: { CC_STYLED, "CC_STYLED " },
105: { CC_WIDESTYLED, "CC_WIDESTYLED " },
106: { CC_INTERIORS, "CC_INTERIORS " },
107: { CC_ROUNDRECT, "CC_ROUNDRECT " } };
108:
109: CAPSLOOKUP gaLineCaps[] =
110:
111: { { LC_NONE, "LC_NONE " },
112: { LC_POLYLINE, "LC_POLYLINE " },
113: { LC_MARKER, "LC_MARKER " },
114: { LC_POLYMARKER, "LC_POLYMARKER " },
115: { LC_WIDE, "LC_WIDE " },
116: { LC_STYLED, "LC_STYLED " },
117: { LC_WIDESTYLED, "LC_WIDESTYLED " },
118: { LC_INTERIORS, "LC_INTERIORS " } };
119:
120: CAPSLOOKUP gaPolygonCaps[] =
121:
122: { { PC_NONE, "PC_NONE " },
123: { PC_POLYGON, "PC_POLYGON " },
124: { PC_RECTANGLE, "PC_RECTANGLE " },
125: { PC_WINDPOLYGON, "PC_WINDPOLYGON" },
126: { PC_TRAPEZOID, "PC_TRAPEZOID" },
127: { PC_SCANLINE, "PC_SCANLINE" },
128: { PC_WIDE, "PC_WIDE" },
129: { PC_STYLED, "PC_STYLED" },
130: { PC_WIDESTYLED, "PC_WIDESTYLED" },
131: { PC_INTERIORS, "PC_INTERIORS" } };
132:
133: CAPSLOOKUP gaTextCaps[] =
134:
135: { { TC_OP_CHARACTER, "TC_OP_CHARACTER" },
136: { TC_OP_STROKE, "TC_OP_STROKE" },
137: { TC_CP_STROKE, "TC_CP_STROKE" },
138: { TC_CR_90, "TC_CR_90" },
139: { TC_CR_ANY, "TC_CR_ANY" },
140: { TC_SF_X_YINDEP, "TC_SF_X_YINDEP " },
141: { TC_SA_DOUBLE, "TC_SA_DOUBLE " },
142: { TC_SA_INTEGER, "TC_SA_INTEGER " },
143: { TC_SA_CONTIN, "TC_SA_CONTIN " },
144: { TC_EA_DOUBLE, "TC_EA_DOUBLE " },
145: { TC_IA_ABLE, "TC_IA_ABLE " },
146: { TC_UA_ABLE, "TC_UA_ABLE " },
147: { TC_SO_ABLE, "TC_SO_ABLE " },
148: { TC_RA_ABLE, "TC_RA_ABLE " },
149: { TC_VA_ABLE, "TC_VA_ABLE " },
150: { TC_RESERVED, "TC_RESERVED " } };
151:
152: CAPSLOOKUP gaRasterCaps[] =
153:
154: { { 0, "RC_NONE " }, // !!! RC_NONE not #def'd
155: { RC_BITBLT, "RC_BITBLT " },
156: { RC_BANDING, "RC_BANDING " },
157: { RC_SCALING, "RC_SCALING " },
158: { RC_BITMAP64, "RC_BITMAP64 " },
159: { RC_GDI20_OUTPUT, "RC_GDI20_OUTPUT " },
160: { RC_GDI20_STATE, "RC_GDI20_STATE " },
161: { RC_SAVEBITMAP, "RC_SAVEBITMAP " },
162: { RC_DI_BITMAP, "RC_DI_BITMAP " },
163: { RC_PALETTE, "RC_PALETTE " },
164: { RC_DIBTODEV, "RC_DIBTODEV " },
165: { RC_BIGFONT, "RC_BIGFONT " },
166: { RC_STRETCHBLT, "RC_STRETCHBLT " },
167: { RC_FLOODFILL, "RC_FLOODFILL " },
168: { RC_STRETCHDIB, "RC_STRETCHDIB " },
169: { RC_OP_DX_OUTPUT, "RC_OP_DX_OUTPUT " },
170: { RC_DEVBITS, "RC_DEVBITS " } };
171:
172: CAPSLOOKUP gaClipCaps[] =
173:
174: { { CP_NONE, "CP_NONE " },
175: { CP_RECTANGLE, "CP_RECTANGLE " },
176: { CP_REGION, "CP_REGION " } };
177:
178:
179:
180: /******************************************************************************\
181: * EXTERNAL VARIABLES
182: \******************************************************************************/
183:
184: extern HWND ghwndMain;
185: extern char gszDeviceName [];
186: extern char gszDriverName [];
187: extern char gszPort [];
188:
189:
190:
191: /******************************************************************************\
192: * FUNCTION PROTOTYPES
193: \******************************************************************************/
194:
195: BOOL DisplayDeviceCapsInfo (void);
196: void TranslateDeviceCaps (int, int, int);
197: void ComplexDeviceCapsLine (char *, CAPSLOOKUP *, int, int);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.