dwrite: Implement DrawGlyphRun().
[wine.git] / include / stdole2.idl
blob81b5463ada58b371043d62e99d85d78f35c54a97
1 /*
2 * Copyright (C) 2003 Robert Shearman
3 * 2005 Huw Davies
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
21 #pragma makedep typelib
23 #include <olectl.h>
26 uuid(00020430-0000-0000-C000-000000000046),
27 version(2.0),
28 helpstring("OLE Automation")
30 library stdole
32 /* typedefs aren't stored in the type library.
33 These type names are known by the type compiler so it
34 doesn't really matter what we define them as. */
36 typedef short VARIANT_BOOL;
37 typedef long BSTR;
38 typedef double CURRENCY;
39 typedef unsigned long HRESULT;
40 typedef void *VARIANT;
41 typedef unsigned long SCODE;
43 typedef struct GUID {
44 unsigned long Data1;
45 unsigned short Data2;
46 unsigned short Data3;
47 unsigned char Data4[ 8 ];
48 } GUID;
50 typedef struct DISPPARAMS {
51 VARIANT *rgvarg;
52 long *rgdispidNamedArgs;
53 unsigned int cArgs;
54 unsigned int cNamedArgs;
55 } DISPPARAMS;
57 typedef struct EXCEPINFO {
58 unsigned short wCode;
59 unsigned short wReserved;
60 BSTR bstrSource;
61 BSTR bstrDescription;
62 BSTR bstrHelpFile;
63 unsigned long dwHelpContext;
64 void *pvReserved;
65 void *pfnDeferredFillIn;
66 SCODE scode;
67 } EXCEPINFO;
70 odl,
71 uuid(00000000-0000-0000-C000-000000000046),
72 hidden
74 interface IUnknown
76 [restricted]
77 HRESULT QueryInterface(
78 [in] GUID *riid,
79 [out] void **ppvObj);
81 [restricted]
82 unsigned long AddRef();
84 [restricted]
85 unsigned long Release();
89 odl,
90 uuid(00020400-0000-0000-C000-000000000046),
91 restricted
93 interface IDispatch : IUnknown
95 [restricted]
96 HRESULT GetTypeInfoCount(
97 [out] unsigned int *pctinfo);
99 [restricted]
100 HRESULT GetTypeInfo(
101 [in] unsigned int itinfo,
102 [in] unsigned long lcid,
103 [out] void **pptinfo);
105 [restricted]
106 HRESULT GetIDsOfNames(
107 [in] GUID *riid,
108 [in] char **rgszNames,
109 [in] unsigned int cNames,
110 [in] unsigned long lcid,
111 [out] long *rgdispid);
113 [restricted]
114 HRESULT Invoke(
115 [in] long dispidMember,
116 [in] GUID *riid,
117 [in] unsigned long lcid,
118 [in] unsigned short wFlags,
119 [in] DISPPARAMS *pdispparams,
120 [out] VARIANT *pvarResult,
121 [out] EXCEPINFO *pexcepinfo,
122 [out] unsigned int *puArgErr);
127 odl,
128 uuid(00020404-0000-0000-C000-000000000046),
129 hidden
131 interface IEnumVARIANT : IUnknown
133 HRESULT Next(
134 [in] unsigned long celt,
135 [in] VARIANT *rgvar,
136 [out] unsigned long *pceltFetched);
138 HRESULT Skip(
139 [in] unsigned long celt);
141 HRESULT Reset();
143 HRESULT Clone(
144 [out] IEnumVARIANT **ppenum);
147 typedef [uuid(66504301-BE0F-101A-8BBB-00AA00300CAB), public]
148 unsigned long OLE_COLOR;
150 typedef [uuid(66504302-BE0F-101A-8BBB-00AA00300CAB), public]
151 long OLE_XPOS_PIXELS;
153 typedef [uuid(66504303-BE0F-101A-8BBB-00AA00300CAB), public]
154 long OLE_YPOS_PIXELS;
156 typedef [uuid(66504304-BE0F-101A-8BBB-00AA00300CAB), public]
157 long OLE_XSIZE_PIXELS;
159 typedef [uuid(66504305-BE0F-101A-8BBB-00AA00300CAB), public]
160 long OLE_YSIZE_PIXELS;
162 typedef [uuid(66504306-BE0F-101A-8BBB-00AA00300CAB), public]
163 long OLE_XPOS_HIMETRIC;
165 typedef [uuid(66504307-BE0F-101A-8BBB-00AA00300CAB), public]
166 long OLE_YPOS_HIMETRIC;
168 typedef [uuid(66504308-BE0F-101A-8BBB-00AA00300CAB), public]
169 long OLE_XSIZE_HIMETRIC;
171 typedef [uuid(66504309-BE0F-101A-8BBB-00AA00300CAB), public]
172 long OLE_YSIZE_HIMETRIC;
174 typedef [uuid(BF030640-9069-101B-AE2D-08002B2EC713), public]
175 float OLE_XPOS_CONTAINER;
177 typedef [uuid(BF030641-9069-101B-AE2D-08002B2EC713), public]
178 float OLE_YPOS_CONTAINER;
180 typedef [uuid(BF030642-9069-101B-AE2D-08002B2EC713), public]
181 float OLE_XSIZE_CONTAINER;
183 typedef [uuid(BF030643-9069-101B-AE2D-08002B2EC713), public]
184 float OLE_YSIZE_CONTAINER;
186 typedef [uuid(66504313-BE0F-101A-8BBB-00AA00300CAB), public]
187 int OLE_HANDLE;
189 typedef [uuid(6650430B-BE0F-101A-8BBB-00AA00300CAB), public]
190 VARIANT_BOOL OLE_OPTEXCLUSIVE;
192 typedef [uuid(BF030644-9069-101B-AE2D-08002B2EC713), public]
193 VARIANT_BOOL OLE_CANCELBOOL;
195 typedef [uuid(BF030645-9069-101B-AE2D-08002B2EC713), public]
196 VARIANT_BOOL OLE_ENABLEDEFAULTBOOL;
199 uuid(6650430A-BE0F-101A-8BBB-00AA00300CAB)
201 enum OLE_TRISTATE {
202 Unchecked = 0,
203 Checked = 1,
204 Gray = 2
207 typedef [uuid(6650430D-BE0F-101A-8BBB-00AA00300CAB), public]
208 BSTR FONTNAME;
210 typedef [uuid(6650430E-BE0F-101A-8BBB-00AA00300CAB), public]
211 CURRENCY FONTSIZE;
213 typedef [uuid(6650430F-BE0F-101A-8BBB-00AA00300CAB), public]
214 VARIANT_BOOL FONTBOLD;
216 typedef [uuid(66504310-BE0F-101A-8BBB-00AA00300CAB), public]
217 VARIANT_BOOL FONTITALIC;
219 typedef [uuid(66504311-BE0F-101A-8BBB-00AA00300CAB), public]
220 VARIANT_BOOL FONTUNDERSCORE;
222 typedef [uuid(66504312-BE0F-101A-8BBB-00AA00300CAB), public]
223 VARIANT_BOOL FONTSTRIKETHROUGH;
227 odl,
228 uuid(BEF6E002-A874-101A-8BBA-00AA00300CAB),
229 helpstring("Font Object"),
230 hidden
232 interface IFont : IUnknown {
233 [propget] HRESULT Name([out, retval] BSTR *pname);
234 [propput] HRESULT Name([in] BSTR pname);
236 [propget] HRESULT Size([out, retval] CURRENCY *psize);
237 [propput] HRESULT Size([in] CURRENCY psize);
239 [propget] HRESULT Bold([out, retval] VARIANT_BOOL *pbold);
240 [propput] HRESULT Bold([in] VARIANT_BOOL pbold);
242 [propget] HRESULT Italic([out, retval] VARIANT_BOOL *pitalic);
243 [propput] HRESULT Italic([in] VARIANT_BOOL pitalic);
245 [propget] HRESULT Underline([out, retval] VARIANT_BOOL *punderline);
246 [propput] HRESULT Underline([in] VARIANT_BOOL punderline);
248 [propget] HRESULT Strikethrough([out, retval] VARIANT_BOOL *pstrikethrough);
249 [propput] HRESULT Strikethrough([in] VARIANT_BOOL pstrikethrough);
251 [propget] HRESULT Weight([out, retval] short *pweight);
252 [propput] HRESULT Weight([in] short pweight);
254 [propget] HRESULT Charset([out, retval] short *pcharset);
255 [propput] HRESULT Charset([in] short pcharset);
257 [propget] HRESULT hFont([out, retval] OLE_HANDLE *phfont);
259 HRESULT Clone([out] IFont **ppfont);
261 HRESULT IsEqual([in] IFont *pfontOther);
263 HRESULT SetRatio([in] long cyLogical, [in] long cyHimetric);
265 HRESULT AddRefHfont([in] OLE_HANDLE hFont);
267 HRESULT ReleaseHfont([in] OLE_HANDLE hFont);
272 odl,
273 uuid(BEF6E003-A874-101A-8BBA-00AA00300CAB)
275 dispinterface Font {
276 properties:
277 [id(DISPID_FONT_NAME)] BSTR Name;
278 [id(DISPID_FONT_SIZE)] CURRENCY Size;
279 [id(DISPID_FONT_BOLD)] VARIANT_BOOL Bold;
280 [id(DISPID_FONT_ITALIC)] VARIANT_BOOL Italic;
281 [id(DISPID_FONT_UNDER)] VARIANT_BOOL Underline;
282 [id(DISPID_FONT_STRIKE)] VARIANT_BOOL Strikethrough;
283 [id(DISPID_FONT_WEIGHT)] short Weight;
284 [id(DISPID_FONT_CHARSET)] short Charset;
285 methods:
288 typedef [public] Font IFontDisp;
291 uuid(0BE35203-8F91-11CE-9DE3-00AA004BB851)
293 coclass StdFont {
294 [default] dispinterface Font;
295 /* FIXME: We can't reference dispinterface FontEvents here because we need it to
296 appear at the end of the typelib. */
297 /* [default, source] dispinterface FontEvents;*/
298 interface IFont;
302 odl,
303 uuid(7BF80980-BF32-101A-8BBB-00AA00300CAB),
304 helpstring("Picture Object"),
305 hidden
307 interface IPicture : IUnknown {
308 [propget] HRESULT Handle([out, retval] OLE_HANDLE *phandle);
310 [propget] HRESULT hPal([out, retval] OLE_HANDLE *phpal);
312 [propget] HRESULT Type([out, retval] short *ptype);
314 [propget] HRESULT Width([out, retval] OLE_XSIZE_HIMETRIC *pwidth);
316 [propget] HRESULT Height([out, retval] OLE_YSIZE_HIMETRIC *pheight);
318 HRESULT Render([in] int hdc,
319 [in] long x,
320 [in] long y,
321 [in] long cx,
322 [in] long cy,
323 [in] OLE_XPOS_HIMETRIC xSrc,
324 [in] OLE_YPOS_HIMETRIC ySrc,
325 [in] OLE_XSIZE_HIMETRIC cxSrc,
326 [in] OLE_YSIZE_HIMETRIC cySrc,
327 [in] void *prcWBounds);
329 [propput] HRESULT hPal([in] OLE_HANDLE phpal);
331 [propget] HRESULT CurDC([out, retval] int *phdcOut);
333 HRESULT SelectPicture([in] int hdcIn,
334 [out] int *phdcOut,
335 [out] OLE_HANDLE *phbmpOut);
337 [propget] HRESULT KeepOriginalFormat([out, retval] VARIANT_BOOL *pfkeep);
338 [propput] HRESULT KeepOriginalFormat([in] VARIANT_BOOL pfkeep);
340 HRESULT PictureChanged();
342 HRESULT SaveAsFile([in] void *pstm,
343 [in] VARIANT_BOOL fSaveMemCopy,
344 [out] long *pcbSize);
346 [propget] HRESULT Attributes([out, retval] long *pdwAttr);
348 HRESULT SetHdc([in] OLE_HANDLE hdc);
352 uuid(7BF80981-BF32-101A-8BBB-00AA00300CAB)
354 dispinterface Picture {
355 properties:
356 [id(DISPID_PICT_HANDLE), readonly] OLE_HANDLE Handle;
357 [id(DISPID_PICT_HPAL)] OLE_HANDLE hPal;
358 [id(DISPID_PICT_TYPE), readonly] short Type;
359 [id(DISPID_PICT_WIDTH), readonly] OLE_XSIZE_HIMETRIC Width;
360 [id(DISPID_PICT_HEIGHT), readonly] OLE_YSIZE_HIMETRIC Height;
361 methods:
362 [id(DISPID_PICT_RENDER)]
363 void Render(int hdc,
364 long x,
365 long y,
366 long cx,
367 long cy,
368 OLE_XPOS_HIMETRIC xSrc,
369 OLE_YPOS_HIMETRIC ySrc,
370 OLE_XSIZE_HIMETRIC cxSrc,
371 OLE_YSIZE_HIMETRIC cySrc,
372 void *prcWBounds);
375 typedef [public] Picture IPictureDisp;
378 uuid(0BE35204-8F91-11CE-9DE3-00AA004BB851)
380 coclass StdPicture {
381 [default] dispinterface Picture;
382 interface IPicture;
386 uuid(E6C8FA08-BD9F-11D0-985E-00C04FC29993)
388 enum LoadPictureConstants {
389 Default = 0,
390 Monochrome = 1,
391 VgaColor = 2,
392 Color = 4
396 dllname("oleaut32.dll"),
397 uuid(91209AC0-60F6-11CF-9C5D-00AA00C1489E),
398 helpstring("Functions for Standard OLE Objects"),
399 helpcontext(0x2775)
401 module StdFunctions{
403 entry("OleLoadPictureFileEx"),
404 helpstring("Loads a picture from a file"),
405 helpcontext(0x2775)
407 HRESULT LoadPicture([in, optional] VARIANT filename,
408 [in, defaultvalue(0)] int widthDesired,
409 [in, defaultvalue(0)] int heightDesired,
410 [in, defaultvalue(Default)] enum LoadPictureConstants flags,
411 [out, retval] IPictureDisp **retval);
413 entry("OleSavePictureFile"),
414 helpstring("Saves a picture to a file"),
415 helpcontext(0x2775)
417 HRESULT SavePicture([in] IPictureDisp *Picture,
418 [in] BSTR filename);
423 uuid(4EF6100A-AF88-11D0-9846-00C04FC29993),
424 helpstring("Event Interface for the Font Object"),
425 hidden
427 dispinterface FontEvents {
428 properties:
429 methods:
430 [id(DISPID_FONT_CHANGED)] void FontChanged([in] BSTR PropertyName);
433 typedef [public] FontEvents IFontEventsDisp;