xref: /reactos/dll/win32/olepro32/olepro.idl (revision 69931a4a)
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#pragma makedep regtypelib
22
23import "oaidl.idl";
24
25#include <olectl.h>
26
27[
28    uuid(bef6e001-a874-101a-8bba-00aa00300cab),
29    version(2.0),
30    helpstring("Standard OLE Types")
31]
32library StdType
33{
34    importlib("stdole2.tlb");
35
36    typedef [uuid(66504301-BE0F-101A-8BBB-00AA00300CAB), public]
37        unsigned long OLE_COLOR;
38
39    typedef [uuid(66504302-BE0F-101A-8BBB-00AA00300CAB), public]
40        long OLE_XPOS_PIXELS;
41
42    typedef [uuid(66504303-BE0F-101A-8BBB-00AA00300CAB), public]
43        long OLE_YPOS_PIXELS;
44
45    typedef [uuid(66504304-BE0F-101A-8BBB-00AA00300CAB), public]
46        long OLE_XSIZE_PIXELS;
47
48    typedef [uuid(66504305-BE0F-101A-8BBB-00AA00300CAB), public]
49        long OLE_YSIZE_PIXELS;
50
51    typedef [uuid(66504306-BE0F-101A-8BBB-00AA00300CAB), public]
52        long OLE_XPOS_HIMETRIC;
53
54    typedef [uuid(66504307-BE0F-101A-8BBB-00AA00300CAB), public]
55        long OLE_YPOS_HIMETRIC;
56
57    typedef [uuid(66504308-BE0F-101A-8BBB-00AA00300CAB), public]
58        long OLE_XSIZE_HIMETRIC;
59
60    typedef [uuid(66504309-BE0F-101A-8BBB-00AA00300CAB), public]
61        long OLE_YSIZE_HIMETRIC;
62
63    typedef [uuid(BF030640-9069-101B-AE2D-08002B2EC713), public]
64        float OLE_XPOS_CONTAINER;
65
66    typedef [uuid(BF030641-9069-101B-AE2D-08002B2EC713), public]
67        float OLE_YPOS_CONTAINER;
68
69    typedef [uuid(BF030642-9069-101B-AE2D-08002B2EC713), public]
70        float OLE_XSIZE_CONTAINER;
71
72    typedef [uuid(BF030643-9069-101B-AE2D-08002B2EC713), public]
73        float OLE_YSIZE_CONTAINER;
74
75    typedef [uuid(66504313-BE0F-101A-8BBB-00AA00300CAB), public]
76        int OLE_HANDLE;
77
78    typedef [uuid(6650430B-BE0F-101A-8BBB-00AA00300CAB), public]
79        VARIANT_BOOL OLE_OPTEXCLUSIVE;
80
81    typedef [uuid(BF030644-9069-101B-AE2D-08002B2EC713), public]
82        VARIANT_BOOL OLE_CANCELBOOL;
83
84    typedef [uuid(BF030645-9069-101B-AE2D-08002B2EC713), public]
85        VARIANT_BOOL OLE_ENABLEDEFAULTBOOL;
86
87    [
88     uuid(6650430A-BE0F-101A-8BBB-00AA00300CAB)
89    ]
90    enum OLE_TRISTATE {
91        Unchecked = 0,
92        Checked = 1,
93        Gray = 2
94    };
95
96    typedef [uuid(6650430D-BE0F-101A-8BBB-00AA00300CAB), public]
97        BSTR FONTNAME;
98
99    typedef [uuid(6650430E-BE0F-101A-8BBB-00AA00300CAB), public]
100        CURRENCY FONTSIZE;
101
102    typedef [uuid(6650430F-BE0F-101A-8BBB-00AA00300CAB), public]
103        VARIANT_BOOL FONTBOLD;
104
105    typedef [uuid(66504310-BE0F-101A-8BBB-00AA00300CAB), public]
106        VARIANT_BOOL FONTITALIC;
107
108    typedef [uuid(66504311-BE0F-101A-8BBB-00AA00300CAB), public]
109        VARIANT_BOOL FONTUNDERSCORE;
110
111    typedef [uuid(66504312-BE0F-101A-8BBB-00AA00300CAB), public]
112        VARIANT_BOOL FONTSTRIKETHROUGH;
113
114
115    [
116     odl,
117     uuid(BEF6E002-A874-101A-8BBA-00AA00300CAB),
118     helpstring("Font Object"),
119     hidden
120    ]
121    interface IFont : IUnknown {
122        [propget] HRESULT Name([out, retval] BSTR *pname);
123        [propput] HRESULT Name([in] BSTR pname);
124
125        [propget] HRESULT Size([out, retval] CURRENCY *psize);
126        [propput] HRESULT Size([in] CURRENCY psize);
127
128        [propget] HRESULT Bold([out, retval] VARIANT_BOOL *pbold);
129        [propput] HRESULT Bold([in] VARIANT_BOOL pbold);
130
131        [propget] HRESULT Italic([out, retval] VARIANT_BOOL *pitalic);
132        [propput] HRESULT Italic([in] VARIANT_BOOL pitalic);
133
134        [propget] HRESULT Underline([out, retval] VARIANT_BOOL *punderline);
135        [propput] HRESULT Underline([in] VARIANT_BOOL punderline);
136
137        [propget] HRESULT Strikethrough([out, retval] VARIANT_BOOL *pstrikethrough);
138        [propput] HRESULT Strikethrough([in] VARIANT_BOOL pstrikethrough);
139
140        [propget] HRESULT Weight([out, retval] short *pweight);
141        [propput] HRESULT Weight([in] short pweight);
142
143        [propget] HRESULT Charset([out, retval] short *pcharset);
144        [propput] HRESULT Charset([in] short pcharset);
145
146        [propget] HRESULT hFont([out, retval] OLE_HANDLE *phfont);
147
148        HRESULT Clone([out] IFont **ppfont);
149
150        HRESULT IsEqual([in] IFont *pfontOther);
151
152        HRESULT SetRatio([in] long cyLogical, [in] long cyHimetric);
153
154        HRESULT AddRefHfont([in] OLE_HANDLE hFont);
155
156        HRESULT ReleaseHfont([in] OLE_HANDLE hFont);
157    };
158
159
160    [
161     odl,
162     uuid(BEF6E003-A874-101A-8BBA-00AA00300CAB)
163    ]
164    dispinterface Font {
165    properties:
166        [id(DISPID_FONT_NAME)] BSTR Name;
167        [id(DISPID_FONT_SIZE)] CURRENCY Size;
168        [id(DISPID_FONT_BOLD)] VARIANT_BOOL Bold;
169        [id(DISPID_FONT_ITALIC)] VARIANT_BOOL Italic;
170        [id(DISPID_FONT_UNDER)] VARIANT_BOOL Underline;
171        [id(DISPID_FONT_STRIKE)] VARIANT_BOOL Strikethrough;
172        [id(DISPID_FONT_WEIGHT)] short Weight;
173        [id(DISPID_FONT_CHARSET)] short Charset;
174    methods:
175    }
176
177    typedef [public] Font IFontDisp;
178
179    [
180     uuid(0BE35203-8F91-11CE-9DE3-00AA004BB851)
181    ]
182    coclass StdFont {
183        [default] dispinterface Font;
184        interface IFont;
185    };
186
187    [
188     odl,
189     uuid(7BF80980-BF32-101A-8BBB-00AA00300CAB),
190     helpstring("Picture Object"),
191     hidden
192    ]
193    interface IPicture : IUnknown {
194        [propget] HRESULT Handle([out, retval] OLE_HANDLE *phandle);
195
196        [propget] HRESULT hPal([out, retval] OLE_HANDLE *phpal);
197
198        [propget] HRESULT Type([out, retval] short *ptype);
199
200        [propget] HRESULT Width([out, retval] OLE_XSIZE_HIMETRIC *pwidth);
201
202        [propget] HRESULT Height([out, retval] OLE_YSIZE_HIMETRIC *pheight);
203
204        HRESULT Render([in] int hdc,
205                       [in] long x,
206                       [in] long y,
207                       [in] long cx,
208                       [in] long cy,
209                       [in] OLE_XPOS_HIMETRIC xSrc,
210                       [in] OLE_YPOS_HIMETRIC ySrc,
211                       [in] OLE_XSIZE_HIMETRIC cxSrc,
212                       [in] OLE_YSIZE_HIMETRIC cySrc,
213                       [in] void *prcWBounds);
214
215        [propput] HRESULT hPal([in] OLE_HANDLE phpal);
216
217        [propget] HRESULT CurDC([out, retval] int *phdcOut);
218
219        HRESULT SelectPicture([in] int hdcIn,
220                              [out] int *phdcOut,
221                              [out] OLE_HANDLE *phbmpOut);
222
223        [propget] HRESULT KeepOriginalFormat([out, retval] VARIANT_BOOL *pfkeep);
224        [propput] HRESULT KeepOriginalFormat([in] VARIANT_BOOL pfkeep);
225
226        HRESULT PictureChanged();
227
228        HRESULT SaveAsFile([in] void *pstm,
229                           [in] VARIANT_BOOL fSaveMemCopy,
230                           [out] long *pcbSize);
231
232        [propget] HRESULT Attributes([out, retval] long *pdwAttr);
233
234        HRESULT SetHdc([in] OLE_HANDLE hdc);
235    };
236
237    [
238     uuid(7BF80981-BF32-101A-8BBB-00AA00300CAB)
239    ]
240    dispinterface Picture {
241    properties:
242        [id(DISPID_PICT_HANDLE), readonly] OLE_HANDLE Handle;
243        [id(DISPID_PICT_HPAL)] OLE_HANDLE hPal;
244        [id(DISPID_PICT_TYPE), readonly] short Type;
245        [id(DISPID_PICT_WIDTH), readonly] OLE_XSIZE_HIMETRIC Width;
246        [id(DISPID_PICT_HEIGHT), readonly] OLE_YSIZE_HIMETRIC Height;
247    methods:
248        [id(DISPID_PICT_RENDER)]
249                  void Render(int hdc,
250                              long x,
251                              long y,
252                              long cx,
253                              long cy,
254                              OLE_XPOS_HIMETRIC xSrc,
255                              OLE_YPOS_HIMETRIC ySrc,
256                              OLE_XSIZE_HIMETRIC cxSrc,
257                              OLE_YSIZE_HIMETRIC cySrc,
258                              void *prcWBounds);
259    };
260
261    typedef [public] Picture IPictureDisp;
262
263    [
264     uuid(0BE35204-8F91-11CE-9DE3-00AA004BB851)
265    ]
266    coclass StdPicture {
267        [default] dispinterface Picture;
268        interface IPicture;
269    };
270};
271