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