gdi32: Reimplement Ellipse in paths to avoid calling imprecise arc helper functions.
[wine.git] / dlls / olepro32 / olepro.idl
blob482dede2394e8578e2d9063367f2842dd87bb897
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 regtypelib
23 import "oaidl.idl";
25 #include <olectl.h>
28 uuid(bef6e001-a874-101a-8bba-00aa00300cab),
29 version(2.0),
30 helpstring("Standard OLE Types")
32 library StdType
34 importlib("stdole2.tlb");
36 typedef [uuid(66504301-BE0F-101A-8BBB-00AA00300CAB), public]
37 unsigned long OLE_COLOR;
39 typedef [uuid(66504302-BE0F-101A-8BBB-00AA00300CAB), public]
40 long OLE_XPOS_PIXELS;
42 typedef [uuid(66504303-BE0F-101A-8BBB-00AA00300CAB), public]
43 long OLE_YPOS_PIXELS;
45 typedef [uuid(66504304-BE0F-101A-8BBB-00AA00300CAB), public]
46 long OLE_XSIZE_PIXELS;
48 typedef [uuid(66504305-BE0F-101A-8BBB-00AA00300CAB), public]
49 long OLE_YSIZE_PIXELS;
51 typedef [uuid(66504306-BE0F-101A-8BBB-00AA00300CAB), public]
52 long OLE_XPOS_HIMETRIC;
54 typedef [uuid(66504307-BE0F-101A-8BBB-00AA00300CAB), public]
55 long OLE_YPOS_HIMETRIC;
57 typedef [uuid(66504308-BE0F-101A-8BBB-00AA00300CAB), public]
58 long OLE_XSIZE_HIMETRIC;
60 typedef [uuid(66504309-BE0F-101A-8BBB-00AA00300CAB), public]
61 long OLE_YSIZE_HIMETRIC;
63 typedef [uuid(BF030640-9069-101B-AE2D-08002B2EC713), public]
64 float OLE_XPOS_CONTAINER;
66 typedef [uuid(BF030641-9069-101B-AE2D-08002B2EC713), public]
67 float OLE_YPOS_CONTAINER;
69 typedef [uuid(BF030642-9069-101B-AE2D-08002B2EC713), public]
70 float OLE_XSIZE_CONTAINER;
72 typedef [uuid(BF030643-9069-101B-AE2D-08002B2EC713), public]
73 float OLE_YSIZE_CONTAINER;
75 typedef [uuid(66504313-BE0F-101A-8BBB-00AA00300CAB), public]
76 int OLE_HANDLE;
78 typedef [uuid(6650430B-BE0F-101A-8BBB-00AA00300CAB), public]
79 VARIANT_BOOL OLE_OPTEXCLUSIVE;
81 typedef [uuid(BF030644-9069-101B-AE2D-08002B2EC713), public]
82 VARIANT_BOOL OLE_CANCELBOOL;
84 typedef [uuid(BF030645-9069-101B-AE2D-08002B2EC713), public]
85 VARIANT_BOOL OLE_ENABLEDEFAULTBOOL;
88 uuid(6650430A-BE0F-101A-8BBB-00AA00300CAB)
90 enum OLE_TRISTATE {
91 Unchecked = 0,
92 Checked = 1,
93 Gray = 2
96 typedef [uuid(6650430D-BE0F-101A-8BBB-00AA00300CAB), public]
97 BSTR FONTNAME;
99 typedef [uuid(6650430E-BE0F-101A-8BBB-00AA00300CAB), public]
100 CURRENCY FONTSIZE;
102 typedef [uuid(6650430F-BE0F-101A-8BBB-00AA00300CAB), public]
103 VARIANT_BOOL FONTBOLD;
105 typedef [uuid(66504310-BE0F-101A-8BBB-00AA00300CAB), public]
106 VARIANT_BOOL FONTITALIC;
108 typedef [uuid(66504311-BE0F-101A-8BBB-00AA00300CAB), public]
109 VARIANT_BOOL FONTUNDERSCORE;
111 typedef [uuid(66504312-BE0F-101A-8BBB-00AA00300CAB), public]
112 VARIANT_BOOL FONTSTRIKETHROUGH;
116 odl,
117 uuid(BEF6E002-A874-101A-8BBA-00AA00300CAB),
118 helpstring("Font Object"),
119 hidden
121 interface IFont : IUnknown {
122 [propget] HRESULT Name([out, retval] BSTR *pname);
123 [propput] HRESULT Name([in] BSTR pname);
125 [propget] HRESULT Size([out, retval] CURRENCY *psize);
126 [propput] HRESULT Size([in] CURRENCY psize);
128 [propget] HRESULT Bold([out, retval] VARIANT_BOOL *pbold);
129 [propput] HRESULT Bold([in] VARIANT_BOOL pbold);
131 [propget] HRESULT Italic([out, retval] VARIANT_BOOL *pitalic);
132 [propput] HRESULT Italic([in] VARIANT_BOOL pitalic);
134 [propget] HRESULT Underline([out, retval] VARIANT_BOOL *punderline);
135 [propput] HRESULT Underline([in] VARIANT_BOOL punderline);
137 [propget] HRESULT Strikethrough([out, retval] VARIANT_BOOL *pstrikethrough);
138 [propput] HRESULT Strikethrough([in] VARIANT_BOOL pstrikethrough);
140 [propget] HRESULT Weight([out, retval] short *pweight);
141 [propput] HRESULT Weight([in] short pweight);
143 [propget] HRESULT Charset([out, retval] short *pcharset);
144 [propput] HRESULT Charset([in] short pcharset);
146 [propget] HRESULT hFont([out, retval] OLE_HANDLE *phfont);
148 HRESULT Clone([out] IFont **ppfont);
150 HRESULT IsEqual([in] IFont *pfontOther);
152 HRESULT SetRatio([in] long cyLogical, [in] long cyHimetric);
154 HRESULT AddRefHfont([in] OLE_HANDLE hFont);
156 HRESULT ReleaseHfont([in] OLE_HANDLE hFont);
161 odl,
162 uuid(BEF6E003-A874-101A-8BBA-00AA00300CAB)
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:
177 typedef [public] Font IFontDisp;
180 uuid(0BE35203-8F91-11CE-9DE3-00AA004BB851)
182 coclass StdFont {
183 [default] dispinterface Font;
184 interface IFont;
188 odl,
189 uuid(7BF80980-BF32-101A-8BBB-00AA00300CAB),
190 helpstring("Picture Object"),
191 hidden
193 interface IPicture : IUnknown {
194 [propget] HRESULT Handle([out, retval] OLE_HANDLE *phandle);
196 [propget] HRESULT hPal([out, retval] OLE_HANDLE *phpal);
198 [propget] HRESULT Type([out, retval] short *ptype);
200 [propget] HRESULT Width([out, retval] OLE_XSIZE_HIMETRIC *pwidth);
202 [propget] HRESULT Height([out, retval] OLE_YSIZE_HIMETRIC *pheight);
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);
215 [propput] HRESULT hPal([in] OLE_HANDLE phpal);
217 [propget] HRESULT CurDC([out, retval] int *phdcOut);
219 HRESULT SelectPicture([in] int hdcIn,
220 [out] int *phdcOut,
221 [out] OLE_HANDLE *phbmpOut);
223 [propget] HRESULT KeepOriginalFormat([out, retval] VARIANT_BOOL *pfkeep);
224 [propput] HRESULT KeepOriginalFormat([in] VARIANT_BOOL pfkeep);
226 HRESULT PictureChanged();
228 HRESULT SaveAsFile([in] void *pstm,
229 [in] VARIANT_BOOL fSaveMemCopy,
230 [out] long *pcbSize);
232 [propget] HRESULT Attributes([out, retval] long *pdwAttr);
234 HRESULT SetHdc([in] OLE_HANDLE hdc);
238 uuid(7BF80981-BF32-101A-8BBB-00AA00300CAB)
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);
261 typedef [public] Picture IPictureDisp;
264 uuid(0BE35204-8F91-11CE-9DE3-00AA004BB851)
266 coclass StdPicture {
267 [default] dispinterface Picture;
268 interface IPicture;