1 | UNIT PmDev;
|
---|
2 |
|
---|
3 |
|
---|
4 | {****************************** Module Header *****************************
|
---|
5 | * *
|
---|
6 | * Module Name: PMDEV.PAS *
|
---|
7 | * *
|
---|
8 | * OS/2 Presentation Manager Device Context constants, types and *
|
---|
9 | * function declarations *
|
---|
10 | * *
|
---|
11 | * *
|
---|
12 | ***************************************************************************}
|
---|
13 |
|
---|
14 | INTERFACE
|
---|
15 |
|
---|
16 | USES Os2Def;
|
---|
17 |
|
---|
18 | { General DEV return values }
|
---|
19 | CONST
|
---|
20 | DEV_ERROR =0;
|
---|
21 | DEV_OK =1;
|
---|
22 |
|
---|
23 | { DC type for DevOpenDC }
|
---|
24 | OD_QUEUED =2;
|
---|
25 | OD_DIRECT =5;
|
---|
26 | OD_INFO =6;
|
---|
27 | OD_METAFILE =7;
|
---|
28 | OD_MEMORY =8;
|
---|
29 | OD_METAFILE_NOQUERY =9;
|
---|
30 |
|
---|
31 | { codes for DevQueryCaps }
|
---|
32 | CAPS_FAMILY =0;
|
---|
33 | CAPS_IO_CAPS =1;
|
---|
34 | CAPS_TECHNOLOGY =2;
|
---|
35 | CAPS_DRIVER_VERSION =3;
|
---|
36 | CAPS_WIDTH =4; { pels }
|
---|
37 | CAPS_HEIGHT =5; { pels }
|
---|
38 | CAPS_WIDTH_IN_CHARS =6;
|
---|
39 | CAPS_HEIGHT_IN_CHARS =7;
|
---|
40 | CAPS_HORIZONTAL_RESOLUTION =8; { pels per meter }
|
---|
41 | CAPS_VERTICAL_RESOLUTION =9; { pels per meter }
|
---|
42 | CAPS_CHAR_WIDTH =10; { pels }
|
---|
43 | CAPS_CHAR_HEIGHT =11; { pels }
|
---|
44 | CAPS_SMALL_CHAR_WIDTH =12; { pels }
|
---|
45 | CAPS_SMALL_CHAR_HEIGHT =13; { pels }
|
---|
46 | CAPS_COLORS =14;
|
---|
47 | CAPS_COLOR_PLANES =15;
|
---|
48 | CAPS_COLOR_BITCOUNT =16;
|
---|
49 | CAPS_COLOR_TABLE_SUPPORT =17;
|
---|
50 | CAPS_MOUSE_BUTTONS =18;
|
---|
51 | CAPS_FOREGROUND_MIX_SUPPORT =19;
|
---|
52 | CAPS_BACKGROUND_MIX_SUPPORT =20;
|
---|
53 | CAPS_DEVICE_WINDOWING =31;
|
---|
54 | CAPS_ADDITIONAL_GRAPHICS =32;
|
---|
55 | CAPS_VIO_LOADABLE_FONTS =21;
|
---|
56 | CAPS_WINDOW_BYTE_ALIGNMENT =22;
|
---|
57 | CAPS_BITMAP_FORMATS =23;
|
---|
58 | CAPS_RASTER_CAPS =24;
|
---|
59 | CAPS_MARKER_HEIGHT =25; { pels }
|
---|
60 | CAPS_MARKER_WIDTH =26; { pels }
|
---|
61 | CAPS_DEVICE_FONTS =27;
|
---|
62 | CAPS_GRAPHICS_SUBSET =28;
|
---|
63 | CAPS_GRAPHICS_VERSION =29;
|
---|
64 | CAPS_GRAPHICS_VECTOR_SUBSET =30;
|
---|
65 | CAPS_PHYS_COLORS =33;
|
---|
66 | CAPS_COLOR_INDEX =34;
|
---|
67 | CAPS_GRAPHICS_CHAR_WIDTH =35;
|
---|
68 | CAPS_GRAPHICS_CHAR_HEIGHT =36;
|
---|
69 | CAPS_HORIZONTAL_FONT_RES =37;
|
---|
70 | CAPS_VERTICAL_FONT_RES =38;
|
---|
71 | CAPS_DEVICE_FONT_SIM =39;
|
---|
72 | CAPS_LINEWIDTH_THICK =40;
|
---|
73 | CAPS_DEVICE_POLYSET_POINTS =41;
|
---|
74 |
|
---|
75 | { Constants for CAPS_IO_CAPS }
|
---|
76 | CAPS_IO_DUMMY =1;
|
---|
77 | CAPS_IO_SUPPORTS_OP =2;
|
---|
78 | CAPS_IO_SUPPORTS_IP =3;
|
---|
79 | CAPS_IO_SUPPORTS_IO =4;
|
---|
80 |
|
---|
81 | { Constants for CAPS_TECHNOLOGY }
|
---|
82 | CAPS_TECH_UNKNOWN =0;
|
---|
83 | CAPS_TECH_VECTOR_PLOTTER =1;
|
---|
84 | CAPS_TECH_RASTER_DISPLAY =2;
|
---|
85 | CAPS_TECH_RASTER_PRINTER =3;
|
---|
86 | CAPS_TECH_RASTER_CAMERA =4;
|
---|
87 | CAPS_TECH_POSTSCRIPT =5;
|
---|
88 |
|
---|
89 | { Constants for CAPS_COLOR_TABLE_SUPPORT }
|
---|
90 | CAPS_COLTABL_RGB_8 =1;
|
---|
91 | CAPS_COLTABL_RGB_8_PLUS =2;
|
---|
92 | CAPS_COLTABL_TRUE_MIX =4;
|
---|
93 | CAPS_COLTABL_REALIZE =8;
|
---|
94 |
|
---|
95 | { Constants for CAPS_FOREGROUND_MIX_SUPPORT }
|
---|
96 | CAPS_FM_OR =1;
|
---|
97 | CAPS_FM_OVERPAINT =2;
|
---|
98 | CAPS_FM_XOR =8;
|
---|
99 | CAPS_FM_LEAVEALONE =16;
|
---|
100 | CAPS_FM_AND =32;
|
---|
101 | CAPS_FM_GENERAL_BOOLEAN =64;
|
---|
102 |
|
---|
103 | { Constants for CAPS_BACKGROUND_MIX_SUPPORT }
|
---|
104 | CAPS_BM_OR =1;
|
---|
105 | CAPS_BM_OVERPAINT =2;
|
---|
106 | CAPS_BM_XOR =8;
|
---|
107 | CAPS_BM_LEAVEALONE =16;
|
---|
108 | CAPS_BM_AND =32;
|
---|
109 | CAPS_BM_GENERAL_BOOLEAN =64;
|
---|
110 | CAPS_BM_SRCTRANSPARENT =128;
|
---|
111 | CAPS_BM_DESTTRANSPARENT =256;
|
---|
112 |
|
---|
113 | { Constants for CAPS_DEVICE_WINDOWING }
|
---|
114 | CAPS_DEV_WINDOWING_SUPPORT =1;
|
---|
115 |
|
---|
116 | { Constants for CAPS_ADDITIONAL_GRAPHICS }
|
---|
117 | CAPS_VDD_DDB_TRANSFER =1;
|
---|
118 | CAPS_GRAPHICS_KERNING_SUPPORT =2;
|
---|
119 | CAPS_FONT_OUTLINE_DEFAULT =4;
|
---|
120 | CAPS_FONT_IMAGE_DEFAULT =8;
|
---|
121 | { bits represented by values 16L and 32L are reserved }
|
---|
122 | CAPS_SCALED_DEFAULT_MARKERS =64;
|
---|
123 | CAPS_COLOR_CURSOR_SUPPORT =128;
|
---|
124 | CAPS_PALETTE_MANAGER =256;
|
---|
125 | CAPS_COSMETIC_WIDELINE_SUPPORT =512;
|
---|
126 | CAPS_DIRECT_FILL =1024;
|
---|
127 | CAPS_REBUILD_FILLS =2048;
|
---|
128 | CAPS_CLIP_FILLS =$00001000; { 4096L }
|
---|
129 | CAPS_ENHANCED_FONTMETRICS =$00002000; { 8192L }
|
---|
130 | CAPS_TRANSFORM_SUPPORT =$00004000; { 16384L }
|
---|
131 |
|
---|
132 | { Constants for CAPS_WINDOW_BYTE_ALIGNMENT }
|
---|
133 | CAPS_BYTE_ALIGN_REQUIRED =0;
|
---|
134 | CAPS_BYTE_ALIGN_RECOMMENDED =1;
|
---|
135 | CAPS_BYTE_ALIGN_NOT_REQUIRED =2;
|
---|
136 |
|
---|
137 | { Constants for CAPS_RASTER_CAPS }
|
---|
138 | CAPS_RASTER_BITBLT =1;
|
---|
139 | CAPS_RASTER_BANDING =2;
|
---|
140 | CAPS_RASTER_BITBLT_SCALING =4;
|
---|
141 | CAPS_RASTER_SET_PEL =16;
|
---|
142 | CAPS_RASTER_FONTS =32;
|
---|
143 | CAPS_RASTER_FLOOD_FILL =64;
|
---|
144 |
|
---|
145 | { structures for DEVESC_QUERYVIOCELLSIZES }
|
---|
146 |
|
---|
147 | TYPE
|
---|
148 | PVIOSIZECOUNT=^VIOSIZECOUNT;
|
---|
149 | VIOSIZECOUNT=RECORD
|
---|
150 | maxcount:LONG;
|
---|
151 | count:LONG;
|
---|
152 | END;
|
---|
153 |
|
---|
154 | PVIOFONTCELLSIZE=^VIOFONTCELLSIZE;
|
---|
155 | VIOFONTCELLSIZE=RECORD
|
---|
156 | cx:LONG;
|
---|
157 | cy:LONG;
|
---|
158 | END;
|
---|
159 |
|
---|
160 | { structure for DEVESC_GETSCALINGFACTOR }
|
---|
161 | PSFACTORS=^SFACTORS;
|
---|
162 | SFACTORS=RECORD
|
---|
163 | x:LONG;
|
---|
164 | y:LONG;
|
---|
165 | END;
|
---|
166 |
|
---|
167 | { structure for DEVESC_NEXTBAND }
|
---|
168 | PBANDRECT=^BANDRECT;
|
---|
169 | BANDRECT=RECORD
|
---|
170 | xleft:LONG;
|
---|
171 | ybottom:LONG;
|
---|
172 | xright:LONG;
|
---|
173 | ytop:LONG;
|
---|
174 | END;
|
---|
175 |
|
---|
176 | { return codes for DevEscape }
|
---|
177 | CONST
|
---|
178 | DEVESC_ERROR =-1;
|
---|
179 | DEVESC_NOTIMPLEMENTED =0;
|
---|
180 |
|
---|
181 | { codes for DevEscape }
|
---|
182 | DEVESC_QUERYESCSUPPORT = 0;
|
---|
183 | DEVESC_GETSCALINGFACTOR = 1;
|
---|
184 | DEVESC_QUERYVIOCELLSIZES = 2;
|
---|
185 | DEVESC_GETCP =8000;
|
---|
186 |
|
---|
187 | DEVESC_STARTDOC =8150;
|
---|
188 | DEVESC_ENDDOC =8151;
|
---|
189 | DEVESC_NEXTBAND =8152;
|
---|
190 | DEVESC_ABORTDOC =8153;
|
---|
191 |
|
---|
192 | DEVESC_NEWFRAME =16300;
|
---|
193 | DEVESC_DRAFTMODE =16301;
|
---|
194 | DEVESC_FLUSHOUTPUT =16302;
|
---|
195 | DEVESC_RAWDATA =16303;
|
---|
196 | DEVESC_SETMODE =16304;
|
---|
197 |
|
---|
198 | DEVESC_DBE_FIRST =24450;
|
---|
199 | DEVESC_DBE_LAST =24455;
|
---|
200 |
|
---|
201 | { DevEscape codes for adding extra space to character strings }
|
---|
202 | DEVESC_CHAR_EXTRA =16998;
|
---|
203 | DEVESC_BREAK_EXTRA =16999;
|
---|
204 |
|
---|
205 | { codes for DevEscape PM_Q_ESC spool files }
|
---|
206 | DEVESC_STD_JOURNAL =32600;
|
---|
207 |
|
---|
208 | { structure for DEVESC_SETMODE }
|
---|
209 | TYPE
|
---|
210 | PESCMODE=^ESCMODE;
|
---|
211 | ESCMODE=RECORD
|
---|
212 | mode:ULONG;
|
---|
213 | modedata:BYTE;
|
---|
214 | END;
|
---|
215 |
|
---|
216 | { return codes for DevPostDeviceModes }
|
---|
217 | CONST
|
---|
218 | DPDM_ERROR =-1;
|
---|
219 | DPDM_NONE =0;
|
---|
220 |
|
---|
221 | { codes for DevPostDeviceModes }
|
---|
222 | DPDM_POSTJOBPROP =0;
|
---|
223 | DPDM_CHANGEPROP =1;
|
---|
224 | DPDM_QUERYJOBPROP =2;
|
---|
225 |
|
---|
226 | { string types for DevQueryDeviceNames }
|
---|
227 | TYPE
|
---|
228 | STR8 =CSTRING[7];
|
---|
229 | STR16=CSTRING[15];
|
---|
230 | STR32=CSTRING[31];
|
---|
231 | STR64=CSTRING[63];
|
---|
232 |
|
---|
233 | { return code for DevQueryHardcopyCaps }
|
---|
234 | CONST
|
---|
235 | DQHC_ERROR =-1;
|
---|
236 |
|
---|
237 | { codes for DevQueryHardcopyCaps }
|
---|
238 | CONST
|
---|
239 | HCAPS_CURRENT =1;
|
---|
240 | HCAPS_SELECTABLE =2;
|
---|
241 |
|
---|
242 | { structure for DevQueryHardcopyCaps }
|
---|
243 | TYPE
|
---|
244 | PHCINFO=^HCINFO;
|
---|
245 | HCINFO=RECORD
|
---|
246 | szFormname:CSTRING[31];
|
---|
247 | cx:LONG;
|
---|
248 | cy:LONG;
|
---|
249 | xLeftClip:LONG;
|
---|
250 | yBottomClip:LONG;
|
---|
251 | xRightClip:LONG;
|
---|
252 | yTopClip:LONG;
|
---|
253 | xPels:LONG;
|
---|
254 | yPels:LONG;
|
---|
255 | flAttributes:LONG;
|
---|
256 | END;
|
---|
257 |
|
---|
258 | IMPORTS
|
---|
259 |
|
---|
260 | FUNCTION DevOpenDC(ahab:HAB;lType:LONG;pszToken:CSTRING;lCount:LONG;
|
---|
261 | VAR pdopData:DEVOPENSTRUC;hdcComp:HDC):HDC;
|
---|
262 | APIENTRY; 'PMGPI' index 610;
|
---|
263 | FUNCTION DevCloseDC(ahdc:HDC):HMF;
|
---|
264 | APIENTRY; 'PMGPI' index 604;
|
---|
265 | FUNCTION DevQueryCaps(ahdc:HDC;lStart,lCount:LONG;VAR alArray:LONG):BOOL;
|
---|
266 | APIENTRY; 'PMGPI' index 606;
|
---|
267 | FUNCTION DevEscape(ahdc:HDC;lCode,lInCount:LONG;VAR pbInData;
|
---|
268 | VAR plOutCount:LONG;VAR pbOutData):LONG;
|
---|
269 | APIENTRY; 'PMGPI' index 605;
|
---|
270 | FUNCTION DevQueryDeviceNames(ahab:HAB;pszDriverName:CSTRING;VAR pldn:LONG;
|
---|
271 | aDeviceName:STR32;aDeviceDesc:STR64;
|
---|
272 | VAR pldt:LONG;aDataType:STR16):BOOL;
|
---|
273 | APIENTRY; 'PMGPI' index 607;
|
---|
274 | FUNCTION DevQueryHardcopyCaps(ahdc:HDC;lStartForm,lForms:LONG;
|
---|
275 | VAR phciHcInfo:HCINFO):LONG;
|
---|
276 | APIENTRY; 'PMGPI' index 608;
|
---|
277 | FUNCTION DevPostDeviceModes(ahab:HAB;VAR pdrivDriverData:DRIVDATA;
|
---|
278 | pszDriverName,pszDeviceName,pszName:CSTRING;
|
---|
279 | flOptions:ULONG):LONG;
|
---|
280 | APIENTRY; 'PMGPI' index 609;
|
---|
281 | END; {IMPORTS}
|
---|
282 |
|
---|
283 |
|
---|
284 | IMPLEMENTATION
|
---|
285 |
|
---|
286 | BEGIN
|
---|
287 | END.
|
---|