2 * Copyright (C) 2003 Robert Shearman
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.
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.
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 uuid(00020430-0000-0000-C000
-000000000046),
24 helpstring("OLE Automation")
28 /* typedefs aren't stored in the type library.
29 These type names are known by the type compiler so it
30 doesn't really matter what we define them as. */
32 typedef short VARIANT_BOOL;
34 typedef double CURRENCY
;
35 typedef unsigned long HRESULT;
36 typedef void *VARIANT;
37 typedef unsigned long SCODE
;
43 unsigned char Data4
[ 8 ];
46 typedef struct DISPPARAMS
{
48 long *rgdispidNamedArgs
;
50 unsigned int cNamedArgs
;
53 typedef struct EXCEPINFO
{
55 unsigned short wReserved
;
59 unsigned long dwHelpContext
;
61 void *pfnDeferredFillIn
;
67 uuid(00000000-0000-0000-C000
-000000000046)
72 HRESULT QueryInterface
(
77 unsigned long AddRef
();
80 unsigned long Release
();
85 uuid(00020400-0000-0000-C000
-000000000046)
87 interface IDispatch
: IUnknown
90 HRESULT GetTypeInfoCount
(
91 [out] unsigned int *pctinfo
);
95 [in] unsigned int itinfo
,
96 [in] unsigned long lcid,
97 [out] void **pptinfo
);
100 HRESULT GetIDsOfNames
(
102 [in] char **rgszNames
,
103 [in] unsigned int cNames
,
104 [in] unsigned long lcid,
105 [out] long *rgdispid
);
109 [in] long dispidMember
,
111 [in] unsigned long lcid,
112 [in] unsigned short wFlags
,
113 [in] DISPPARAMS
*pdispparams
,
114 [out] VARIANT *pvarResult
,
115 [out] EXCEPINFO
*pexcepinfo
,
116 [out] unsigned int *puArgErr
);
122 uuid(00020404-0000-0000-C000
-000000000046)
124 interface IEnumVARIANT
: IUnknown
127 [in] unsigned long celt
,
129 [out] unsigned long *pceltFetched
);
132 [in] unsigned long celt
);
137 [out] IEnumVARIANT
**ppenum
);
140 typedef [uuid(66504301-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
141 unsigned long OLE_COLOR
;
143 typedef [uuid(66504302-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
144 long OLE_XPOS_PIXELS
;
146 typedef [uuid(66504303-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
147 long OLE_YPOS_PIXELS
;
149 typedef [uuid(66504304-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
150 long OLE_XSIZE_PIXELS
;
152 typedef [uuid(66504305-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
153 long OLE_YSIZE_PIXELS
;
155 typedef [uuid(66504306-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
156 long OLE_XPOS_HIMETRIC
;
158 typedef [uuid(66504307-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
159 long OLE_YPOS_HIMETRIC
;
161 typedef [uuid(66504308-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
162 long OLE_XSIZE_HIMETRIC
;
164 typedef [uuid(66504309-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
165 long OLE_YSIZE_HIMETRIC
;
167 typedef [uuid(BF030640
-9069-101B
-AE2D
-08002B2EC713
), public]
168 float OLE_XPOS_CONTAINER
;
170 typedef [uuid(BF030641
-9069-101B
-AE2D
-08002B2EC713
), public]
171 float OLE_YPOS_CONTAINER
;
173 typedef [uuid(BF030642
-9069-101B
-AE2D
-08002B2EC713
), public]
174 float OLE_XSIZE_CONTAINER
;
176 typedef [uuid(BF030643
-9069-101B
-AE2D
-08002B2EC713
), public]
177 float OLE_YSIZE_CONTAINER
;
179 typedef [uuid(66504313-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
182 typedef [uuid(6650430B
-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
183 VARIANT_BOOL OLE_OPTEXCLUSIVE
;
185 typedef [uuid(BF030644
-9069-101B
-AE2D
-08002B2EC713
), public]
186 VARIANT_BOOL OLE_CANCELBOOL
;
188 typedef [uuid(BF030645
-9069-101B
-AE2D
-08002B2EC713
), public]
189 VARIANT_BOOL OLE_ENABLEDEFAULTBOOL
;
191 /* FIXME: widl can't cope with enum attributes yet */
194 uuid(6650430A-BE0F-101A-8BBB-00AA00300CAB)
203 typedef [uuid(6650430D
-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
206 typedef [uuid(6650430E
-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
209 typedef [uuid(6650430F
-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
210 VARIANT_BOOL FONTBOLD
;
212 typedef [uuid(66504310-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
213 VARIANT_BOOL FONTITALIC
;
215 typedef [uuid(66504311-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
216 VARIANT_BOOL FONTUNDERSCORE
;
218 typedef [uuid(66504312-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
219 VARIANT_BOOL FONTSTRIKETHROUGH
;
224 uuid(BEF6E002
-A874
-101A
-8BBA
-00AA00300CAB
),
225 helpstring("Font Object"),
229 [propget] HRESULT Name
([out, retval] BSTR *pname
);
230 [propput] HRESULT Name
([in] BSTR pname
);
232 [propget] HRESULT Size
([out, retval] CURRENCY
*psize
);
233 [propput] HRESULT Size
([in] BSTR psize
);
235 [propget] HRESULT Bold
([out, retval] VARIANT_BOOL *pbold
);
236 [propput] HRESULT Bold
([in] VARIANT_BOOL pbold
);
238 [propget] HRESULT Italic
([out, retval] VARIANT_BOOL *pitalic
);
239 [propput] HRESULT Italic
([in] VARIANT_BOOL pitalic
);
241 [propget] HRESULT Underline
([out, retval] VARIANT_BOOL *punderline
);
242 [propput] HRESULT Underline
([in] VARIANT_BOOL punderline
);
244 [propget] HRESULT Strikethrough
([out, retval] VARIANT_BOOL *pstrikethrough
);
245 [propput] HRESULT Strikethrough
([in] VARIANT_BOOL pstrikethrough
);
247 [propget] HRESULT Weight
([out, retval] short *pweight
);
248 [propput] HRESULT Weight
([in] short pweight
);
250 [propget] HRESULT Charset
([out, retval] short *pcharset
);
251 [propput] HRESULT Charset
([in] short pcharset
);
253 [propget] HRESULT hFont
([out, retval] OLE_HANDLE
*phfont
);
255 HRESULT Clone
([out] IFont
**ppfont
);
257 HRESULT IsEqual
([in] IFont
*pfontOther
);
259 HRESULT SetRatio
([in] long cyLogical
, [in] long cyHimetric
);
261 HRESULT AddRefHfont
([in] OLE_HANDLE hFont
);
263 HRESULT ReleaseHfont
([in] OLE_HANDLE hFont
);
269 uuid(BEF6E003
-A874
-101A
-8BBA
-00AA00300CAB
)
274 [id(0x2)] CURRENCY Size
;
275 [id(0x3)] VARIANT_BOOL Bold
;
276 [id(0x4)] VARIANT_BOOL Italic
;
277 [id(0x5)] VARIANT_BOOL Underline
;
278 [id(0x6)] VARIANT_BOOL Strikethrough
;
279 [id(0x7)] short Weight
;
280 [id(0x8)] short Charset
;
284 typedef [public] Font IFontDisp
;
287 uuid(0BE35203
-8F91
-11CE
-9DE3
-00AA004BB851
)
290 [default] dispinterface Font
;
291 /* FIXME: We can't reference dispinterface FontEvents here because we need it to
292 appear at the end of the typelib. */
293 /* [default, source] dispinterface FontEvents;*/
299 uuid(7BF80980
-BF32
-101A
-8BBB
-00AA00300CAB
),
300 helpstring("Picture Object"),
303 interface IPicture
/*: IUnknown*/ {
304 [propget] HRESULT Handle([out, retval] OLE_HANDLE
*phandle
);
306 [propget] HRESULT hPal
([out, retval] OLE_HANDLE
*phpal
);
308 [propget] HRESULT Type
([out, retval] short *ptype
);
310 [propget] HRESULT Width
([out, retval] OLE_XSIZE_HIMETRIC
*pwidth
);
312 [propget] HRESULT Height
([out, retval] OLE_YSIZE_HIMETRIC
*pheight
);
314 HRESULT Render
([in] int hdc
,
319 [in] OLE_XPOS_HIMETRIC xSrc
,
320 [in] OLE_YPOS_HIMETRIC ySrc
,
321 [in] OLE_XSIZE_HIMETRIC cxSrc
,
322 [in] OLE_YSIZE_HIMETRIC cySrc
,
323 [in] void *prcWBounds
);
325 [propput] HRESULT hPal
([in] OLE_HANDLE phpal
);
327 [propget] HRESULT CurDC
([out, retval] int *phdcOut
);
329 HRESULT SelectPicture
([in] int hdcIn
,
331 [out] OLE_HANDLE
*phbmpOut
);
333 [propget] HRESULT KeepOriginalFormat
([out, retval] VARIANT_BOOL *pfkeep
);
334 [propput] HRESULT KeepOriginalFormat
([in] VARIANT_BOOL pfkeep
);
336 HRESULT PictureChanged
();
338 HRESULT SaveAsFile
([in] void *pstm
,
339 [in] VARIANT_BOOL fSaveMemCopy
,
340 [out] long *pcbSize
);
342 [propget] HRESULT Attributes
([out, retval] long *pdwAttr
);
344 HRESULT SetHdc
([in] OLE_HANDLE hdc
);
348 uuid(7BF80981
-BF32
-101A
-8BBB
-00AA00300CAB
)
350 dispinterface Picture
{
352 [id(0x0), readonly] OLE_HANDLE
Handle;
353 [id(0x2)] OLE_HANDLE hPal
;
354 [id(0x3), readonly] short Type
;
355 [id(0x4), readonly] OLE_XSIZE_HIMETRIC Width
;
356 [id(0x5), readonly] OLE_XSIZE_HIMETRIC Height
;
358 [id(0x6)] void Render
(int hdc
,
363 OLE_XPOS_HIMETRIC xSrc
,
364 OLE_YPOS_HIMETRIC ySrc
,
365 OLE_XSIZE_HIMETRIC cxSrc
,
366 OLE_YSIZE_HIMETRIC cySrc
,
370 typedef [public] Picture IPictureDisp
;
373 uuid(0BE35204
-8F91
-11CE
-9DE3
-00AA004BB851
)
376 [default] dispinterface Picture
;
380 /* FIXME: widl can't cope with enum attributes yet */
383 uuid(E6C8FA08-BD9F-11D0-985E-00C04FC29993)
386 enum LoadPictureConstants
{
394 dllname("oleaut32.dll"),
395 uuid(91209AC0
-60F6
-11CF
-9C5D
-00AA00C1489E
),
396 helpstring("Functions for Standard OLE Objects"),
400 /* FIXME: widl can't cope with a defaultvalue of an enum parameter yet. */
404 helpstring("Loads a picture from a file"),
407 HRESULT LoadPicture([in, optional] VARIANT filename,
408 [in, optional, defaultvalue(0)] int widthDesired,
409 [in, optional, defaultvalue(0)] int heightDesired,
410 [in, optional, defaultvalue(0)] enum LoadPictureConstants flags,
411 [out, retval] IPictureDisp **retval);
415 helpstring("Saves a picture to a file"),
418 HRESULT SavePicture
([in] IPictureDisp
*Picture
,
424 uuid(4EF6100A
-AF88
-11D0
-9846-00C04FC29993
),
425 helpstring("Event Interface for the Font Object"),
428 dispinterface FontEvents
{
431 [id(0x9)] void FontChanged
([in] BSTR PropertyName
);
434 typedef [public] FontEvents IFontEventsDisp
;