|
|
1.1 root 1: /*
2: * drivinit.h
3: *
4: * Header file for printer driver initialization using ExtDeviceModeEx()
5: * and DeviceCapabilitiesEx().
6: *
7: */
8:
9: /* size of a device name string */
10: #define CCHDEVICENAME 32
11:
1.1.1.2 ! root 12: /* size of a form name string */
! 13: #define CCHFORMNAME 32
! 14:
1.1 root 15: /* current version of specification */
1.1.1.2 ! root 16: #define DM_SPECVERSION 0x320
1.1 root 17:
18: /* field selection bits */
19: #define DM_ORIENTATION 0x0000001L
20: #define DM_PAPERSIZE 0x0000002L
21: #define DM_PAPERLENGTH 0x0000004L
22: #define DM_PAPERWIDTH 0x0000008L
23: #define DM_SCALE 0x0000010L
24: #define DM_COPIES 0x0000100L
25: #define DM_DEFAULTSOURCE 0x0000200L
26: #define DM_PRINTQUALITY 0x0000400L
27: #define DM_COLOR 0x0000800L
28: #define DM_DUPLEX 0x0001000L
1.1.1.2 ! root 29: #define DM_COLLATE 0x0002000L
! 30: #define DM_FORMNAME 0x0004000L
1.1 root 31:
32: /* orientation selections */
33: #define DMORIENT_PORTRAIT 1
34: #define DMORIENT_LANDSCAPE 2
35:
36: /* paper selections */
37: #define DMPAPER_FIRST DMPAPER_LETTER
1.1.1.2 ! root 38: #define DMPAPER_LETTER 1 /* Letter 8 1/2 x 11 in */
! 39: #define DMPAPER_LETTERSMALL 2 /* Letter Small 8 1/2 x 11 in */
! 40: #define DMPAPER_TABLOID 3 /* Tabloid 11 x 17 in */
! 41: #define DMPAPER_LEDGER 4 /* Ledger 17 x 11 in */
! 42: #define DMPAPER_LEGAL 5 /* Legal 8 1/2 x 14 in */
! 43: #define DMPAPER_STATEMENT 6 /* Statement 5 1/2 x 8 1/2 in */
! 44: #define DMPAPER_EXECUTIVE 7 /* Executive 7 1/4 x 10 1/2 in */
! 45: #define DMPAPER_A3 8 /* A3 297 x 420 mm */
! 46: #define DMPAPER_A4 9 /* A4 210 x 297 mm */
! 47: #define DMPAPER_A4SMALL 10 /* A4 Small 210 x 297 mm */
! 48: #define DMPAPER_A5 11 /* A5 148 x 210 mm */
! 49: #define DMPAPER_B4 12 /* B4 250 x 354 */
! 50: #define DMPAPER_B5 13 /* B5 182 x 257 mm */
! 51: #define DMPAPER_FOLIO 14 /* Folio 8 1/2 x 13 in */
! 52: #define DMPAPER_QUARTO 15 /* Quarto 215 x 275 mm */
! 53: #define DMPAPER_10X14 16 /* 10x14 in */
! 54: #define DMPAPER_11X17 17 /* 11x17 in */
! 55: #define DMPAPER_NOTE 18 /* Note 8 1/2 x 11 in */
! 56: #define DMPAPER_ENV_9 19 /* Envelope #9 3 7/8 x 8 7/8 */
! 57: #define DMPAPER_ENV_10 20 /* Envelope #10 4 1/8 x 9 1/2 */
! 58: #define DMPAPER_ENV_11 21 /* Envelope #11 4 1/2 x 10 3/8 */
! 59: #define DMPAPER_ENV_12 22 /* Envelope #12 4 \276 x 11 */
! 60: #define DMPAPER_ENV_14 23 /* Envelope #14 5 x 11 1/2 */
! 61: #define DMPAPER_CSHEET 24 /* C size sheet */
! 62: #define DMPAPER_DSHEET 25 /* D size sheet */
! 63: #define DMPAPER_ESHEET 26 /* E size sheet */
! 64: #define DMPAPER_ENV_DL 27 /* Envelope DL 110 x 220mm */
! 65: #define DMPAPER_ENV_C5 28 /* Envelope C5 162 x 229 mm */
! 66: #define DMPAPER_ENV_C3 29 /* Envelope C3 324 x 458 mm */
! 67: #define DMPAPER_ENV_C4 30 /* Envelope C4 229 x 324 mm */
! 68: #define DMPAPER_ENV_C6 31 /* Envelope C6 114 x 162 mm */
! 69: #define DMPAPER_ENV_C65 32 /* Envelope C65 114 x 229 mm */
! 70: #define DMPAPER_ENV_B4 33 /* Envelope B4 250 x 353 mm */
! 71: #define DMPAPER_ENV_B5 34 /* Envelope B5 176 x 250 mm */
! 72: #define DMPAPER_ENV_B6 35 /* Envelope B6 176 x 125 mm */
! 73: #define DMPAPER_ENV_ITALY 36 /* Envelope 110 x 230 mm */
! 74: #define DMPAPER_ENV_MONARCH 37 /* Envelope Monarch 3.875 x 7.5 in */
! 75: #define DMPAPER_ENV_PERSONAL 38 /* 6 3/4 Envelope 3 5/8 x 6 1/2 in */
! 76: #define DMPAPER_FANFOLD_US 39 /* US Std Fanfold 14 7/8 x 11 in */
! 77: #define DMPAPER_FANFOLD_STD_GERMAN 40 /* German Std Fanfold 8 1/2 x 12 in */
! 78: #define DMPAPER_FANFOLD_LGL_GERMAN 41 /* German Legal Fanfold 8 1/2 x 13 in */
! 79:
! 80: #define DMPAPER_LAST DMPAPER_FANFOLD_LGL_GERMAN
1.1 root 81:
82: #define DMPAPER_USER 256
83:
84: /* bin selections */
85: #define DMBIN_FIRST DMBIN_UPPER
86: #define DMBIN_UPPER 1
87: #define DMBIN_ONLYONE 1
88: #define DMBIN_LOWER 2
89: #define DMBIN_MIDDLE 3
90: #define DMBIN_MANUAL 4
91: #define DMBIN_ENVELOPE 5
92: #define DMBIN_ENVMANUAL 6
93: #define DMBIN_AUTO 7
94: #define DMBIN_TRACTOR 8
95: #define DMBIN_SMALLFMT 9
96: #define DMBIN_LARGEFMT 10
97: #define DMBIN_LARGECAPACITY 11
98: #define DMBIN_CASSETTE 14
99: #define DMBIN_LAST DMBIN_CASSETTE
100:
101: #define DMBIN_USER 256 /* device specific bins start here */
102:
103: /* print qualities */
104: #define DMRES_DRAFT (-1)
105: #define DMRES_LOW (-2)
106: #define DMRES_MEDIUM (-3)
107: #define DMRES_HIGH (-4)
108:
109: /* color enable/disable for color printers */
110: #define DMCOLOR_MONOCHROME 1
111: #define DMCOLOR_COLOR 2
112:
113: /* duplex enable */
114: #define DMDUP_SIMPLEX 1
115: #define DMDUP_VERTICAL 2
116: #define DMDUP_HORIZONTAL 3
117:
1.1.1.2 ! root 118: /* Collation selections */
! 119: #define DMCOLLATE_FALSE 0
! 120: #define DMCOLLATE_TRUE 1
! 121:
1.1 root 122: #ifndef _WINGDI_
123: typedef struct _devicemode {
124: char dmDeviceName[CCHDEVICENAME];
125: WORD dmSpecVersion;
126: WORD dmDriverVersion;
127: WORD dmSize;
128: WORD dmDriverExtra;
129: DWORD dmFields;
130: short dmOrientation;
131: short dmPaperSize;
132: short dmPaperLength;
133: short dmPaperWidth;
134: short dmScale;
135: short dmCopies;
136: short dmDefaultSource;
137: short dmPrintQuality;
138: short dmColor;
139: short dmDuplex;
1.1.1.2 ! root 140: short dmCollate;
! 141: char dmFormName[CCHFORMNAME];
1.1 root 142: } DEVMODE;
143:
144: typedef DEVMODE * PDEVMODE, NEAR * NPDEVMODE, FAR * LPDEVMODE;
145:
146: #endif
147:
148: /* mode selections for the device mode function */
149: #define DM_UPDATE 1
150: #define DM_COPY 2
151: #define DM_PROMPT 4
152: #define DM_MODIFY 8
153:
154: #define DM_IN_BUFFER DM_MODIFY
155: #define DM_IN_PROMPT DM_PROMPT
156: #define DM_OUT_BUFFER DM_COPY
157: #define DM_OUT_DEFAULT DM_UPDATE
158:
159: /* device capabilities indices */
160: #define DC_FIELDS 1
161: #define DC_PAPERS 2
162: #define DC_PAPERSIZE 3
163: #define DC_MINEXTENT 4
164: #define DC_MAXEXTENT 5
165: #define DC_BINS 6
166: #define DC_DUPLEX 7
167: #define DC_SIZE 8
168: #define DC_EXTRA 9
169: #define DC_VERSION 10
170: #define DC_DRIVER 11
171: #define DC_BINNAMES 12
172: #define DC_ENUMRESOLUTIONS 13
173: #define DC_FILEDEPENDENCIES 14
1.1.1.2 ! root 174: #define DC_TRUETYPE 15
! 175: #define DC_PAPERNAMES 16
! 176: #define DC_ORIENTATION 17
! 177: #define DC_COPIES 18
1.1 root 178:
179: /* export ordinal definitions */
180: #define PROC_EXTDEVICEMODE MAKEINTRESOURCE(90)
181: #define PROC_DEVICECAPABILITIES MAKEINTRESOURCE(91)
182: #define PROC_OLDDEVICEMODE MAKEINTRESOURCE(13)
183:
184: /* define types of pointers to ExtDeviceModeEx() and DeviceCapabilitiesEx()
185: * functions
186: */
187: #ifndef _WINUSER_
188: typedef WORD HANDLE;
189: typedef WORD HWND;
190: #endif
191:
192: typedef WORD FAR PASCAL FNDEVMODE(HWND, HANDLE, LPDEVMODE, LPSTR, LPSTR,
193: LPDEVMODE, LPSTR, WORD);
194:
195: typedef FNDEVMODE FAR * LPFNDEVMODE;
196:
197: typedef DWORD FAR PASCAL FNDEVCAPS(LPSTR, LPSTR, WORD, LPSTR, LPDEVMODE);
198:
199: typedef FNDEVCAPS FAR * LPFNDEVCAPS;
200:
201: HDC FAR PASCAL ResetDC(HDC, LPDEVMODE);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.