1 | /*
|
---|
2 | * Copyright (C) 2003 Robert Shearman
|
---|
3 | * 2005 Huw Davies
|
---|
4 | *
|
---|
5 | * This library is free software; you can redistribute it and/or
|
---|
6 | * modify it under the terms of the GNU Lesser General Public
|
---|
7 | * License as published by the Free Software Foundation; either
|
---|
8 | * version 2.1 of the License, or (at your option) any later version.
|
---|
9 | *
|
---|
10 | * This library is distributed in the hope that it will be useful,
|
---|
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
---|
13 | * Lesser General Public License for more details.
|
---|
14 | *
|
---|
15 | * You should have received a copy of the GNU Lesser General Public
|
---|
16 | * License along with this library; if not, write to the Free Software
|
---|
17 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
---|
18 | *
|
---|
19 | */
|
---|
20 |
|
---|
21 | /*
|
---|
22 | * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
|
---|
23 | * other than GPL or LGPL is available it will apply instead, Sun elects to use only
|
---|
24 | * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
|
---|
25 | * a choice of LGPL license versions is made available with the language indicating
|
---|
26 | * that LGPLv2 or any later version may be used, or where a choice of which version
|
---|
27 | * of the LGPL is applied is otherwise unspecified.
|
---|
28 | */
|
---|
29 |
|
---|
30 | [
|
---|
31 | uuid(00020430-0000-0000-C000-000000000046),
|
---|
32 | version(2.0),
|
---|
33 | helpstring("OLE Automation")
|
---|
34 | ]
|
---|
35 | library stdole
|
---|
36 | {
|
---|
37 | /* typedefs aren't stored in the type library.
|
---|
38 | These type names are known by the type compiler so it
|
---|
39 | doesn't really matter what we define them as. */
|
---|
40 |
|
---|
41 | typedef short VARIANT_BOOL;
|
---|
42 | typedef long BSTR;
|
---|
43 | typedef double CURRENCY;
|
---|
44 | typedef unsigned long HRESULT;
|
---|
45 | typedef void *VARIANT;
|
---|
46 | typedef unsigned long SCODE;
|
---|
47 |
|
---|
48 | typedef struct GUID {
|
---|
49 | unsigned long Data1;
|
---|
50 | unsigned short Data2;
|
---|
51 | unsigned short Data3;
|
---|
52 | unsigned char Data4[ 8 ];
|
---|
53 | } GUID;
|
---|
54 |
|
---|
55 | typedef struct DISPPARAMS {
|
---|
56 | VARIANT *rgvarg;
|
---|
57 | long *rgdispidNamedArgs;
|
---|
58 | unsigned int cArgs;
|
---|
59 | unsigned int cNamedArgs;
|
---|
60 | } DISPPARAMS;
|
---|
61 |
|
---|
62 | typedef struct EXCEPINFO {
|
---|
63 | unsigned short wCode;
|
---|
64 | unsigned short wReserved;
|
---|
65 | BSTR bstrSource;
|
---|
66 | BSTR bstrDescription;
|
---|
67 | BSTR bstrHelpFile;
|
---|
68 | unsigned long dwHelpContext;
|
---|
69 | void *pvReserved;
|
---|
70 | void *pfnDeferredFillIn;
|
---|
71 | SCODE scode;
|
---|
72 | } EXCEPINFO;
|
---|
73 |
|
---|
74 | [
|
---|
75 | odl,
|
---|
76 | uuid(00000000-0000-0000-C000-000000000046),
|
---|
77 | hidden
|
---|
78 | ]
|
---|
79 | interface IUnknown
|
---|
80 | {
|
---|
81 | [restricted]
|
---|
82 | HRESULT QueryInterface(
|
---|
83 | [in] GUID *riid,
|
---|
84 | [out] void **ppvObj);
|
---|
85 |
|
---|
86 | [restricted]
|
---|
87 | unsigned long AddRef();
|
---|
88 |
|
---|
89 | [restricted]
|
---|
90 | unsigned long Release();
|
---|
91 | }
|
---|
92 |
|
---|
93 | [
|
---|
94 | odl,
|
---|
95 | uuid(00020400-0000-0000-C000-000000000046),
|
---|
96 | restricted
|
---|
97 | ]
|
---|
98 | interface IDispatch : IUnknown
|
---|
99 | {
|
---|
100 | [restricted]
|
---|
101 | HRESULT GetTypeInfoCount(
|
---|
102 | [out] unsigned int *pctinfo);
|
---|
103 |
|
---|
104 | [restricted]
|
---|
105 | HRESULT GetTypeInfo(
|
---|
106 | [in] unsigned int itinfo,
|
---|
107 | [in] unsigned long lcid,
|
---|
108 | [out] void **pptinfo);
|
---|
109 |
|
---|
110 | [restricted]
|
---|
111 | HRESULT GetIDsOfNames(
|
---|
112 | [in] GUID *riid,
|
---|
113 | [in] char **rgszNames,
|
---|
114 | [in] unsigned int cNames,
|
---|
115 | [in] unsigned long lcid,
|
---|
116 | [out] long *rgdispid);
|
---|
117 |
|
---|
118 | [restricted]
|
---|
119 | HRESULT Invoke(
|
---|
120 | [in] long dispidMember,
|
---|
121 | [in] GUID *riid,
|
---|
122 | [in] unsigned long lcid,
|
---|
123 | [in] unsigned short wFlags,
|
---|
124 | [in] DISPPARAMS *pdispparams,
|
---|
125 | [out] VARIANT *pvarResult,
|
---|
126 | [out] EXCEPINFO *pexcepinfo,
|
---|
127 | [out] unsigned int *puArgErr);
|
---|
128 |
|
---|
129 | }
|
---|
130 |
|
---|
131 | [
|
---|
132 | odl,
|
---|
133 | uuid(00020404-0000-0000-C000-000000000046),
|
---|
134 | hidden
|
---|
135 | ]
|
---|
136 | interface IEnumVARIANT : IUnknown
|
---|
137 | {
|
---|
138 | HRESULT Next(
|
---|
139 | [in] unsigned long celt,
|
---|
140 | [in] VARIANT *rgvar,
|
---|
141 | [out] unsigned long *pceltFetched);
|
---|
142 |
|
---|
143 | HRESULT Skip(
|
---|
144 | [in] unsigned long celt);
|
---|
145 |
|
---|
146 | HRESULT Reset();
|
---|
147 |
|
---|
148 | HRESULT Clone(
|
---|
149 | [out] IEnumVARIANT **ppenum);
|
---|
150 | }
|
---|
151 |
|
---|
152 | typedef [uuid(66504301-BE0F-101A-8BBB-00AA00300CAB), public]
|
---|
153 | unsigned long OLE_COLOR;
|
---|
154 |
|
---|
155 | typedef [uuid(66504302-BE0F-101A-8BBB-00AA00300CAB), public]
|
---|
156 | long OLE_XPOS_PIXELS;
|
---|
157 |
|
---|
158 | typedef [uuid(66504303-BE0F-101A-8BBB-00AA00300CAB), public]
|
---|
159 | long OLE_YPOS_PIXELS;
|
---|
160 |
|
---|
161 | typedef [uuid(66504304-BE0F-101A-8BBB-00AA00300CAB), public]
|
---|
162 | long OLE_XSIZE_PIXELS;
|
---|
163 |
|
---|
164 | typedef [uuid(66504305-BE0F-101A-8BBB-00AA00300CAB), public]
|
---|
165 | long OLE_YSIZE_PIXELS;
|
---|
166 |
|
---|
167 | typedef [uuid(66504306-BE0F-101A-8BBB-00AA00300CAB), public]
|
---|
168 | long OLE_XPOS_HIMETRIC;
|
---|
169 |
|
---|
170 | typedef [uuid(66504307-BE0F-101A-8BBB-00AA00300CAB), public]
|
---|
171 | long OLE_YPOS_HIMETRIC;
|
---|
172 |
|
---|
173 | typedef [uuid(66504308-BE0F-101A-8BBB-00AA00300CAB), public]
|
---|
174 | long OLE_XSIZE_HIMETRIC;
|
---|
175 |
|
---|
176 | typedef [uuid(66504309-BE0F-101A-8BBB-00AA00300CAB), public]
|
---|
177 | long OLE_YSIZE_HIMETRIC;
|
---|
178 |
|
---|
179 | typedef [uuid(BF030640-9069-101B-AE2D-08002B2EC713), public]
|
---|
180 | float OLE_XPOS_CONTAINER;
|
---|
181 |
|
---|
182 | typedef [uuid(BF030641-9069-101B-AE2D-08002B2EC713), public]
|
---|
183 | float OLE_YPOS_CONTAINER;
|
---|
184 |
|
---|
185 | typedef [uuid(BF030642-9069-101B-AE2D-08002B2EC713), public]
|
---|
186 | float OLE_XSIZE_CONTAINER;
|
---|
187 |
|
---|
188 | typedef [uuid(BF030643-9069-101B-AE2D-08002B2EC713), public]
|
---|
189 | float OLE_YSIZE_CONTAINER;
|
---|
190 |
|
---|
191 | typedef [uuid(66504313-BE0F-101A-8BBB-00AA00300CAB), public]
|
---|
192 | int OLE_HANDLE;
|
---|
193 |
|
---|
194 | typedef [uuid(6650430B-BE0F-101A-8BBB-00AA00300CAB), public]
|
---|
195 | VARIANT_BOOL OLE_OPTEXCLUSIVE;
|
---|
196 |
|
---|
197 | typedef [uuid(BF030644-9069-101B-AE2D-08002B2EC713), public]
|
---|
198 | VARIANT_BOOL OLE_CANCELBOOL;
|
---|
199 |
|
---|
200 | typedef [uuid(BF030645-9069-101B-AE2D-08002B2EC713), public]
|
---|
201 | VARIANT_BOOL OLE_ENABLEDEFAULTBOOL;
|
---|
202 |
|
---|
203 | [
|
---|
204 | uuid(6650430A-BE0F-101A-8BBB-00AA00300CAB)
|
---|
205 | ]
|
---|
206 | enum OLE_TRISTATE {
|
---|
207 | Unchecked = 0,
|
---|
208 | Checked = 1,
|
---|
209 | Gray = 2
|
---|
210 | };
|
---|
211 |
|
---|
212 | typedef [uuid(6650430D-BE0F-101A-8BBB-00AA00300CAB), public]
|
---|
213 | BSTR FONTNAME;
|
---|
214 |
|
---|
215 | typedef [uuid(6650430E-BE0F-101A-8BBB-00AA00300CAB), public]
|
---|
216 | CURRENCY FONTSIZE;
|
---|
217 |
|
---|
218 | typedef [uuid(6650430F-BE0F-101A-8BBB-00AA00300CAB), public]
|
---|
219 | VARIANT_BOOL FONTBOLD;
|
---|
220 |
|
---|
221 | typedef [uuid(66504310-BE0F-101A-8BBB-00AA00300CAB), public]
|
---|
222 | VARIANT_BOOL FONTITALIC;
|
---|
223 |
|
---|
224 | typedef [uuid(66504311-BE0F-101A-8BBB-00AA00300CAB), public]
|
---|
225 | VARIANT_BOOL FONTUNDERSCORE;
|
---|
226 |
|
---|
227 | typedef [uuid(66504312-BE0F-101A-8BBB-00AA00300CAB), public]
|
---|
228 | VARIANT_BOOL FONTSTRIKETHROUGH;
|
---|
229 |
|
---|
230 |
|
---|
231 | [
|
---|
232 | odl,
|
---|
233 | uuid(BEF6E002-A874-101A-8BBA-00AA00300CAB),
|
---|
234 | helpstring("Font Object"),
|
---|
235 | hidden
|
---|
236 | ]
|
---|
237 | interface IFont : IUnknown {
|
---|
238 | [propget] HRESULT Name([out, retval] BSTR *pname);
|
---|
239 | [propput] HRESULT Name([in] BSTR pname);
|
---|
240 |
|
---|
241 | [propget] HRESULT Size([out, retval] CURRENCY *psize);
|
---|
242 | [propput] HRESULT Size([in] CURRENCY psize);
|
---|
243 |
|
---|
244 | [propget] HRESULT Bold([out, retval] VARIANT_BOOL *pbold);
|
---|
245 | [propput] HRESULT Bold([in] VARIANT_BOOL pbold);
|
---|
246 |
|
---|
247 | [propget] HRESULT Italic([out, retval] VARIANT_BOOL *pitalic);
|
---|
248 | [propput] HRESULT Italic([in] VARIANT_BOOL pitalic);
|
---|
249 |
|
---|
250 | [propget] HRESULT Underline([out, retval] VARIANT_BOOL *punderline);
|
---|
251 | [propput] HRESULT Underline([in] VARIANT_BOOL punderline);
|
---|
252 |
|
---|
253 | [propget] HRESULT Strikethrough([out, retval] VARIANT_BOOL *pstrikethrough);
|
---|
254 | [propput] HRESULT Strikethrough([in] VARIANT_BOOL pstrikethrough);
|
---|
255 |
|
---|
256 | [propget] HRESULT Weight([out, retval] short *pweight);
|
---|
257 | [propput] HRESULT Weight([in] short pweight);
|
---|
258 |
|
---|
259 | [propget] HRESULT Charset([out, retval] short *pcharset);
|
---|
260 | [propput] HRESULT Charset([in] short pcharset);
|
---|
261 |
|
---|
262 | [propget] HRESULT hFont([out, retval] OLE_HANDLE *phfont);
|
---|
263 |
|
---|
264 | HRESULT Clone([out] IFont **ppfont);
|
---|
265 |
|
---|
266 | HRESULT IsEqual([in] IFont *pfontOther);
|
---|
267 |
|
---|
268 | HRESULT SetRatio([in] long cyLogical, [in] long cyHimetric);
|
---|
269 |
|
---|
270 | HRESULT AddRefHfont([in] OLE_HANDLE hFont);
|
---|
271 |
|
---|
272 | HRESULT ReleaseHfont([in] OLE_HANDLE hFont);
|
---|
273 | };
|
---|
274 |
|
---|
275 |
|
---|
276 | [
|
---|
277 | odl,
|
---|
278 | uuid(BEF6E003-A874-101A-8BBA-00AA00300CAB)
|
---|
279 | ]
|
---|
280 | dispinterface Font {
|
---|
281 | properties:
|
---|
282 | [id(0x0)] BSTR Name;
|
---|
283 | [id(0x2)] CURRENCY Size;
|
---|
284 | [id(0x3)] VARIANT_BOOL Bold;
|
---|
285 | [id(0x4)] VARIANT_BOOL Italic;
|
---|
286 | [id(0x5)] VARIANT_BOOL Underline;
|
---|
287 | [id(0x6)] VARIANT_BOOL Strikethrough;
|
---|
288 | [id(0x7)] short Weight;
|
---|
289 | [id(0x8)] short Charset;
|
---|
290 | methods:
|
---|
291 | }
|
---|
292 |
|
---|
293 | typedef [public] Font IFontDisp;
|
---|
294 |
|
---|
295 | [
|
---|
296 | uuid(0BE35203-8F91-11CE-9DE3-00AA004BB851)
|
---|
297 | ]
|
---|
298 | coclass StdFont {
|
---|
299 | [default] dispinterface Font;
|
---|
300 | /* FIXME: We can't reference dispinterface FontEvents here because we need it to
|
---|
301 | appear at the end of the typelib. */
|
---|
302 | /* [default, source] dispinterface FontEvents;*/
|
---|
303 | interface IFont;
|
---|
304 | };
|
---|
305 |
|
---|
306 | [
|
---|
307 | odl,
|
---|
308 | uuid(7BF80980-BF32-101A-8BBB-00AA00300CAB),
|
---|
309 | helpstring("Picture Object"),
|
---|
310 | hidden
|
---|
311 | ]
|
---|
312 | interface IPicture : IUnknown {
|
---|
313 | [propget] HRESULT Handle([out, retval] OLE_HANDLE *phandle);
|
---|
314 |
|
---|
315 | [propget] HRESULT hPal([out, retval] OLE_HANDLE *phpal);
|
---|
316 |
|
---|
317 | [propget] HRESULT Type([out, retval] short *ptype);
|
---|
318 |
|
---|
319 | [propget] HRESULT Width([out, retval] OLE_XSIZE_HIMETRIC *pwidth);
|
---|
320 |
|
---|
321 | [propget] HRESULT Height([out, retval] OLE_YSIZE_HIMETRIC *pheight);
|
---|
322 |
|
---|
323 | HRESULT Render([in] int hdc,
|
---|
324 | [in] long x,
|
---|
325 | [in] long y,
|
---|
326 | [in] long cx,
|
---|
327 | [in] long cy,
|
---|
328 | [in] OLE_XPOS_HIMETRIC xSrc,
|
---|
329 | [in] OLE_YPOS_HIMETRIC ySrc,
|
---|
330 | [in] OLE_XSIZE_HIMETRIC cxSrc,
|
---|
331 | [in] OLE_YSIZE_HIMETRIC cySrc,
|
---|
332 | [in] void *prcWBounds);
|
---|
333 |
|
---|
334 | [propput] HRESULT hPal([in] OLE_HANDLE phpal);
|
---|
335 |
|
---|
336 | [propget] HRESULT CurDC([out, retval] int *phdcOut);
|
---|
337 |
|
---|
338 | HRESULT SelectPicture([in] int hdcIn,
|
---|
339 | [out] int *phdcOut,
|
---|
340 | [out] OLE_HANDLE *phbmpOut);
|
---|
341 |
|
---|
342 | [propget] HRESULT KeepOriginalFormat([out, retval] VARIANT_BOOL *pfkeep);
|
---|
343 | [propput] HRESULT KeepOriginalFormat([in] VARIANT_BOOL pfkeep);
|
---|
344 |
|
---|
345 | HRESULT PictureChanged();
|
---|
346 |
|
---|
347 | HRESULT SaveAsFile([in] void *pstm,
|
---|
348 | [in] VARIANT_BOOL fSaveMemCopy,
|
---|
349 | [out] long *pcbSize);
|
---|
350 |
|
---|
351 | [propget] HRESULT Attributes([out, retval] long *pdwAttr);
|
---|
352 |
|
---|
353 | HRESULT SetHdc([in] OLE_HANDLE hdc);
|
---|
354 | };
|
---|
355 |
|
---|
356 | [
|
---|
357 | uuid(7BF80981-BF32-101A-8BBB-00AA00300CAB)
|
---|
358 | ]
|
---|
359 | dispinterface Picture {
|
---|
360 | properties:
|
---|
361 | [id(0x0), readonly] OLE_HANDLE Handle;
|
---|
362 | [id(0x2)] OLE_HANDLE hPal;
|
---|
363 | [id(0x3), readonly] short Type;
|
---|
364 | [id(0x4), readonly] OLE_XSIZE_HIMETRIC Width;
|
---|
365 | [id(0x5), readonly] OLE_YSIZE_HIMETRIC Height;
|
---|
366 | methods:
|
---|
367 | [id(0x6)] void Render(int hdc,
|
---|
368 | long x,
|
---|
369 | long y,
|
---|
370 | long cx,
|
---|
371 | long cy,
|
---|
372 | OLE_XPOS_HIMETRIC xSrc,
|
---|
373 | OLE_YPOS_HIMETRIC ySrc,
|
---|
374 | OLE_XSIZE_HIMETRIC cxSrc,
|
---|
375 | OLE_YSIZE_HIMETRIC cySrc,
|
---|
376 | void *prcWBounds);
|
---|
377 | };
|
---|
378 |
|
---|
379 | typedef [public] Picture IPictureDisp;
|
---|
380 |
|
---|
381 | [
|
---|
382 | uuid(0BE35204-8F91-11CE-9DE3-00AA004BB851)
|
---|
383 | ]
|
---|
384 | coclass StdPicture {
|
---|
385 | [default] dispinterface Picture;
|
---|
386 | interface IPicture;
|
---|
387 | };
|
---|
388 |
|
---|
389 | [
|
---|
390 | uuid(E6C8FA08-BD9F-11D0-985E-00C04FC29993)
|
---|
391 | ]
|
---|
392 | enum LoadPictureConstants {
|
---|
393 | Default = 0,
|
---|
394 | Monochrome = 1,
|
---|
395 | VgaColor = 2,
|
---|
396 | Color = 4
|
---|
397 | };
|
---|
398 |
|
---|
399 | [
|
---|
400 | dllname("oleaut32.dll"),
|
---|
401 | uuid(91209AC0-60F6-11CF-9C5D-00AA00C1489E),
|
---|
402 | helpstring("Functions for Standard OLE Objects"),
|
---|
403 | helpcontext(0x2775)
|
---|
404 | ]
|
---|
405 | module StdFunctions{
|
---|
406 | [
|
---|
407 | entry("OleLoadPictureFileEx"),
|
---|
408 | helpstring("Loads a picture from a file"),
|
---|
409 | helpcontext(0x2775)
|
---|
410 | ]
|
---|
411 | HRESULT LoadPicture([in, optional] VARIANT filename,
|
---|
412 | [in, optional, defaultvalue(0)] int widthDesired,
|
---|
413 | [in, optional, defaultvalue(0)] int heightDesired,
|
---|
414 | [in, optional, defaultvalue(Default)] enum LoadPictureConstants flags,
|
---|
415 | [out, retval] IPictureDisp **retval);
|
---|
416 | [
|
---|
417 | entry("OleSavePictureFile"),
|
---|
418 | helpstring("Saves a picture to a file"),
|
---|
419 | helpcontext(0x2775)
|
---|
420 | ]
|
---|
421 | HRESULT SavePicture([in] IPictureDisp *Picture,
|
---|
422 | [in] BSTR filename);
|
---|
423 | };
|
---|
424 |
|
---|
425 |
|
---|
426 | [
|
---|
427 | uuid(4EF6100A-AF88-11D0-9846-00C04FC29993),
|
---|
428 | helpstring("Event Interface for the Font Object"),
|
---|
429 | hidden
|
---|
430 | ]
|
---|
431 | dispinterface FontEvents {
|
---|
432 | properties:
|
---|
433 | methods:
|
---|
434 | [id(0x9)] void FontChanged([in] BSTR PropertyName);
|
---|
435 | };
|
---|
436 |
|
---|
437 | typedef [public] FontEvents IFontEventsDisp;
|
---|
438 |
|
---|
439 |
|
---|
440 | };
|
---|