source: 2.19_branch/Sibyl/RTL/PMDEV.PAS@ 376

Last change on this file since 376 was 8, checked in by RBRi, 19 years ago

+ rest of sibyl stuff

  • Property svn:eol-style set to native
File size: 9.9 KB
Line 
1UNIT 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
14INTERFACE
15
16USES Os2Def;
17
18{ General DEV return values }
19CONST
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
147TYPE
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 }
177CONST
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 }
209TYPE
210 PESCMODE=^ESCMODE;
211 ESCMODE=RECORD
212 mode:ULONG;
213 modedata:BYTE;
214 END;
215
216 { return codes for DevPostDeviceModes }
217CONST
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 }
227TYPE
228 STR8 =CSTRING[7];
229 STR16=CSTRING[15];
230 STR32=CSTRING[31];
231 STR64=CSTRING[63];
232
233 { return code for DevQueryHardcopyCaps }
234CONST
235 DQHC_ERROR =-1;
236
237 { codes for DevQueryHardcopyCaps }
238CONST
239 HCAPS_CURRENT =1;
240 HCAPS_SELECTABLE =2;
241
242 { structure for DevQueryHardcopyCaps }
243TYPE
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
258IMPORTS
259
260FUNCTION DevOpenDC(ahab:HAB;lType:LONG;pszToken:CSTRING;lCount:LONG;
261 VAR pdopData:DEVOPENSTRUC;hdcComp:HDC):HDC;
262 APIENTRY; 'PMGPI' index 610;
263FUNCTION DevCloseDC(ahdc:HDC):HMF;
264 APIENTRY; 'PMGPI' index 604;
265FUNCTION DevQueryCaps(ahdc:HDC;lStart,lCount:LONG;VAR alArray:LONG):BOOL;
266 APIENTRY; 'PMGPI' index 606;
267FUNCTION DevEscape(ahdc:HDC;lCode,lInCount:LONG;VAR pbInData;
268 VAR plOutCount:LONG;VAR pbOutData):LONG;
269 APIENTRY; 'PMGPI' index 605;
270FUNCTION 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;
274FUNCTION DevQueryHardcopyCaps(ahdc:HDC;lStartForm,lForms:LONG;
275 VAR phciHcInfo:HCINFO):LONG;
276 APIENTRY; 'PMGPI' index 608;
277FUNCTION DevPostDeviceModes(ahab:HAB;VAR pdrivDriverData:DRIVDATA;
278 pszDriverName,pszDeviceName,pszName:CSTRING;
279 flOptions:ULONG):LONG;
280 APIENTRY; 'PMGPI' index 609;
281END; {IMPORTS}
282
283
284IMPLEMENTATION
285
286BEGIN
287END.
Note: See TracBrowser for help on using the repository browser.