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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 #pragma makedep install
23 #pragma makedep typelib
29 uuid(00020430-0000-0000-C000
-000000000046),
31 helpstring("OLE Automation")
35 /* typedefs aren't stored in the type library.
36 These type names are known by the type compiler so it
37 doesn't really matter what we define them as. */
39 typedef short VARIANT_BOOL;
41 typedef double CURRENCY
;
42 typedef unsigned long HRESULT;
43 typedef void *VARIANT;
44 typedef unsigned long SCODE
;
50 unsigned char Data4
[ 8 ];
53 typedef struct DISPPARAMS
{
55 long *rgdispidNamedArgs
;
57 unsigned int cNamedArgs
;
60 typedef struct EXCEPINFO
{
62 unsigned short wReserved
;
66 unsigned long dwHelpContext
;
68 void *pfnDeferredFillIn
;
74 uuid(00000000-0000-0000-C000
-000000000046),
80 HRESULT QueryInterface
(
85 unsigned long AddRef
();
88 unsigned long Release
();
93 uuid(00020400-0000-0000-C000
-000000000046),
96 interface IDispatch
: IUnknown
99 HRESULT GetTypeInfoCount
(
100 [out] unsigned int *pctinfo
);
104 [in] unsigned int itinfo
,
105 [in] unsigned long lcid,
106 [out] void **pptinfo
);
109 HRESULT GetIDsOfNames
(
111 [in] char **rgszNames
,
112 [in] unsigned int cNames
,
113 [in] unsigned long lcid,
114 [out] long *rgdispid
);
118 [in] long dispidMember
,
120 [in] unsigned long lcid,
121 [in] unsigned short wFlags
,
122 [in] DISPPARAMS
*pdispparams
,
123 [out] VARIANT *pvarResult
,
124 [out] EXCEPINFO
*pexcepinfo
,
125 [out] unsigned int *puArgErr
);
131 uuid(00020404-0000-0000-C000
-000000000046),
134 interface IEnumVARIANT
: IUnknown
137 [in] unsigned long celt
,
139 [out] unsigned long *pceltFetched
);
142 [in] unsigned long celt
);
147 [out] IEnumVARIANT
**ppenum
);
150 typedef [uuid(66504301-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
151 unsigned long OLE_COLOR
;
153 typedef [uuid(66504302-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
154 long OLE_XPOS_PIXELS
;
156 typedef [uuid(66504303-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
157 long OLE_YPOS_PIXELS
;
159 typedef [uuid(66504304-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
160 long OLE_XSIZE_PIXELS
;
162 typedef [uuid(66504305-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
163 long OLE_YSIZE_PIXELS
;
165 typedef [uuid(66504306-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
166 long OLE_XPOS_HIMETRIC
;
168 typedef [uuid(66504307-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
169 long OLE_YPOS_HIMETRIC
;
171 typedef [uuid(66504308-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
172 long OLE_XSIZE_HIMETRIC
;
174 typedef [uuid(66504309-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
175 long OLE_YSIZE_HIMETRIC
;
177 typedef [uuid(BF030640
-9069-101B
-AE2D
-08002B2EC713
), public]
178 float OLE_XPOS_CONTAINER
;
180 typedef [uuid(BF030641
-9069-101B
-AE2D
-08002B2EC713
), public]
181 float OLE_YPOS_CONTAINER
;
183 typedef [uuid(BF030642
-9069-101B
-AE2D
-08002B2EC713
), public]
184 float OLE_XSIZE_CONTAINER
;
186 typedef [uuid(BF030643
-9069-101B
-AE2D
-08002B2EC713
), public]
187 float OLE_YSIZE_CONTAINER
;
189 typedef [uuid(66504313-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
192 typedef [uuid(6650430B
-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
193 VARIANT_BOOL OLE_OPTEXCLUSIVE
;
195 typedef [uuid(BF030644
-9069-101B
-AE2D
-08002B2EC713
), public]
196 VARIANT_BOOL OLE_CANCELBOOL
;
198 typedef [uuid(BF030645
-9069-101B
-AE2D
-08002B2EC713
), public]
199 VARIANT_BOOL OLE_ENABLEDEFAULTBOOL
;
202 uuid(6650430A
-BE0F
-101A
-8BBB
-00AA00300CAB
)
210 typedef [uuid(6650430D
-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
213 typedef [uuid(6650430E
-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
216 typedef [uuid(6650430F
-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
217 VARIANT_BOOL FONTBOLD
;
219 typedef [uuid(66504310-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
220 VARIANT_BOOL FONTITALIC
;
222 typedef [uuid(66504311-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
223 VARIANT_BOOL FONTUNDERSCORE
;
225 typedef [uuid(66504312-BE0F
-101A
-8BBB
-00AA00300CAB
), public]
226 VARIANT_BOOL FONTSTRIKETHROUGH
;
231 uuid(BEF6E002
-A874
-101A
-8BBA
-00AA00300CAB
),
232 helpstring("Font Object"),
235 interface IFont
: IUnknown
{
236 [propget] HRESULT Name
([out, retval] BSTR *pname
);
237 [propput] HRESULT Name
([in] BSTR pname
);
239 [propget] HRESULT Size
([out, retval] CURRENCY
*psize
);
240 [propput] HRESULT Size
([in] CURRENCY psize
);
242 [propget] HRESULT Bold
([out, retval] VARIANT_BOOL *pbold
);
243 [propput] HRESULT Bold
([in] VARIANT_BOOL pbold
);
245 [propget] HRESULT Italic
([out, retval] VARIANT_BOOL *pitalic
);
246 [propput] HRESULT Italic
([in] VARIANT_BOOL pitalic
);
248 [propget] HRESULT Underline
([out, retval] VARIANT_BOOL *punderline
);
249 [propput] HRESULT Underline
([in] VARIANT_BOOL punderline
);
251 [propget] HRESULT Strikethrough
([out, retval] VARIANT_BOOL *pstrikethrough
);
252 [propput] HRESULT Strikethrough
([in] VARIANT_BOOL pstrikethrough
);
254 [propget] HRESULT Weight
([out, retval] short *pweight
);
255 [propput] HRESULT Weight
([in] short pweight
);
257 [propget] HRESULT Charset
([out, retval] short *pcharset
);
258 [propput] HRESULT Charset
([in] short pcharset
);
260 [propget] HRESULT hFont
([out, retval] OLE_HANDLE
*phfont
);
262 HRESULT Clone
([out] IFont
**ppfont
);
264 HRESULT IsEqual
([in] IFont
*pfontOther
);
266 HRESULT SetRatio
([in] long cyLogical
, [in] long cyHimetric
);
268 HRESULT AddRefHfont
([in] OLE_HANDLE hFont
);
270 HRESULT ReleaseHfont
([in] OLE_HANDLE hFont
);
276 uuid(BEF6E003
-A874
-101A
-8BBA
-00AA00300CAB
)
280 [id(DISPID_FONT_NAME
)] BSTR Name
;
281 [id(DISPID_FONT_SIZE
)] CURRENCY Size
;
282 [id(DISPID_FONT_BOLD
)] VARIANT_BOOL Bold
;
283 [id(DISPID_FONT_ITALIC
)] VARIANT_BOOL Italic
;
284 [id(DISPID_FONT_UNDER
)] VARIANT_BOOL Underline
;
285 [id(DISPID_FONT_STRIKE
)] VARIANT_BOOL Strikethrough
;
286 [id(DISPID_FONT_WEIGHT
)] short Weight
;
287 [id(DISPID_FONT_CHARSET
)] short Charset
;
291 typedef [public] Font IFontDisp
;
294 uuid(0BE35203
-8F91
-11CE
-9DE3
-00AA004BB851
)
297 [default] dispinterface Font
;
298 /* FIXME: We can't reference dispinterface FontEvents here because we need it to
299 appear at the end of the typelib. */
300 /* [default, source] dispinterface FontEvents;*/
306 uuid(7BF80980
-BF32
-101A
-8BBB
-00AA00300CAB
),
307 helpstring("Picture Object"),
310 interface IPicture
: IUnknown
{
311 [propget] HRESULT Handle([out, retval] OLE_HANDLE
*phandle
);
313 [propget] HRESULT hPal
([out, retval] OLE_HANDLE
*phpal
);
315 [propget] HRESULT Type
([out, retval] short *ptype
);
317 [propget] HRESULT Width
([out, retval] OLE_XSIZE_HIMETRIC
*pwidth
);
319 [propget] HRESULT Height
([out, retval] OLE_YSIZE_HIMETRIC
*pheight
);
321 HRESULT Render
([in] int hdc
,
326 [in] OLE_XPOS_HIMETRIC xSrc
,
327 [in] OLE_YPOS_HIMETRIC ySrc
,
328 [in] OLE_XSIZE_HIMETRIC cxSrc
,
329 [in] OLE_YSIZE_HIMETRIC cySrc
,
330 [in] void *prcWBounds
);
332 [propput] HRESULT hPal
([in] OLE_HANDLE phpal
);
334 [propget] HRESULT CurDC
([out, retval] int *phdcOut
);
336 HRESULT SelectPicture
([in] int hdcIn
,
338 [out] OLE_HANDLE
*phbmpOut
);
340 [propget] HRESULT KeepOriginalFormat
([out, retval] VARIANT_BOOL *pfkeep
);
341 [propput] HRESULT KeepOriginalFormat
([in] VARIANT_BOOL pfkeep
);
343 HRESULT PictureChanged
();
345 HRESULT SaveAsFile
([in] void *pstm
,
346 [in] VARIANT_BOOL fSaveMemCopy
,
347 [out] long *pcbSize
);
349 [propget] HRESULT Attributes
([out, retval] long *pdwAttr
);
351 HRESULT SetHdc
([in] OLE_HANDLE hdc
);
355 uuid(7BF80981
-BF32
-101A
-8BBB
-00AA00300CAB
)
357 dispinterface Picture
{
359 [id(DISPID_PICT_HANDLE
), readonly] OLE_HANDLE
Handle;
360 [id(DISPID_PICT_HPAL
)] OLE_HANDLE hPal
;
361 [id(DISPID_PICT_TYPE
), readonly] short Type
;
362 [id(DISPID_PICT_WIDTH
), readonly] OLE_XSIZE_HIMETRIC Width
;
363 [id(DISPID_PICT_HEIGHT
), readonly] OLE_YSIZE_HIMETRIC Height
;
365 [id(DISPID_PICT_RENDER
)]
371 OLE_XPOS_HIMETRIC xSrc
,
372 OLE_YPOS_HIMETRIC ySrc
,
373 OLE_XSIZE_HIMETRIC cxSrc
,
374 OLE_YSIZE_HIMETRIC cySrc
,
378 typedef [public] Picture IPictureDisp
;
381 uuid(0BE35204
-8F91
-11CE
-9DE3
-00AA004BB851
)
384 [default] dispinterface Picture
;
389 uuid(E6C8FA08
-BD9F
-11D0
-985E-00C04FC29993
)
391 enum LoadPictureConstants
{
399 dllname("oleaut32.dll"),
400 uuid(91209AC0
-60F6
-11CF
-9C5D
-00AA00C1489E
),
401 helpstring("Functions for Standard OLE Objects"),
406 entry("OleLoadPictureFileEx"),
407 helpstring("Loads a picture from a file"),
410 HRESULT LoadPicture
([in, optional] VARIANT filename
,
411 [in, defaultvalue(0)] int widthDesired
,
412 [in, defaultvalue(0)] int heightDesired
,
413 [in, defaultvalue(Default)] enum LoadPictureConstants flags
,
414 [out, retval] IPictureDisp
**retval);
416 entry("OleSavePictureFile"),
417 helpstring("Saves a picture to a file"),
420 HRESULT SavePicture
([in] IPictureDisp
*Picture
,
426 uuid(4EF6100A
-AF88
-11D0
-9846-00C04FC29993
),
427 helpstring("Event Interface for the Font Object"),
430 dispinterface FontEvents
{
433 [id(DISPID_FONT_CHANGED
)] void FontChanged
([in] BSTR PropertyName
);
436 typedef [public] FontEvents IFontEventsDisp
;