| /* | |
| * Copyright (C) 2003 Robert Shearman | |
| * 2005 Huw Davies | |
| * | |
| * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | |
| * | |
| * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with this library; if not, write to the Free Software | |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | |
| * | |
| */ | |
| #if 0 | |
| #pragma makedep install | |
| #pragma makedep typelib | |
| #endif | |
| #include <olectl.h> | |
| [ | |
| uuid(00020430-0000-0000-C000-000000000046), | |
| version(2.0), | |
| helpstring("OLE Automation") | |
| ] | |
| library stdole | |
| { | |
| /* typedefs aren't stored in the type library. | |
| These type names are known by the type compiler so it | |
| doesn't really matter what we define them as. */ | |
| typedef short VARIANT_BOOL; | |
| typedef long BSTR; | |
| typedef double CURRENCY; | |
| typedef unsigned long HRESULT; | |
| typedef void *VARIANT; | |
| typedef unsigned long SCODE; | |
| typedef struct GUID { | |
| unsigned long Data1; | |
| unsigned short Data2; | |
| unsigned short Data3; | |
| unsigned char Data4[ 8 ]; | |
| } GUID; | |
| typedef struct DISPPARAMS { | |
| VARIANT *rgvarg; | |
| long *rgdispidNamedArgs; | |
| unsigned int cArgs; | |
| unsigned int cNamedArgs; | |
| } DISPPARAMS; | |
| typedef struct EXCEPINFO { | |
| unsigned short wCode; | |
| unsigned short wReserved; | |
| BSTR bstrSource; | |
| BSTR bstrDescription; | |
| BSTR bstrHelpFile; | |
| unsigned long dwHelpContext; | |
| void *pvReserved; | |
| void *pfnDeferredFillIn; | |
| SCODE scode; | |
| } EXCEPINFO; | |
| [ | |
| odl, | |
| uuid(00000000-0000-0000-C000-000000000046), | |
| hidden | |
| ] | |
| interface IUnknown | |
| { | |
| [restricted] | |
| HRESULT QueryInterface( | |
| [in] GUID *riid, | |
| [out] void **ppvObj); | |
| [restricted] | |
| unsigned long AddRef(); | |
| [restricted] | |
| unsigned long Release(); | |
| } | |
| [ | |
| odl, | |
| uuid(00020400-0000-0000-C000-000000000046), | |
| restricted | |
| ] | |
| interface IDispatch : IUnknown | |
| { | |
| [restricted] | |
| HRESULT GetTypeInfoCount( | |
| [out] unsigned int *pctinfo); | |
| [restricted] | |
| HRESULT GetTypeInfo( | |
| [in] unsigned int itinfo, | |
| [in] unsigned long lcid, | |
| [out] void **pptinfo); | |
| [restricted] | |
| HRESULT GetIDsOfNames( | |
| [in] GUID *riid, | |
| [in] char **rgszNames, | |
| [in] unsigned int cNames, | |
| [in] unsigned long lcid, | |
| [out] long *rgdispid); | |
| [restricted] | |
| HRESULT Invoke( | |
| [in] long dispidMember, | |
| [in] GUID *riid, | |
| [in] unsigned long lcid, | |
| [in] unsigned short wFlags, | |
| [in] DISPPARAMS *pdispparams, | |
| [out] VARIANT *pvarResult, | |
| [out] EXCEPINFO *pexcepinfo, | |
| [out] unsigned int *puArgErr); | |
| } | |
| [ | |
| odl, | |
| uuid(00020404-0000-0000-C000-000000000046), | |
| hidden | |
| ] | |
| interface IEnumVARIANT : IUnknown | |
| { | |
| HRESULT Next( | |
| [in] unsigned long celt, | |
| [in] VARIANT *rgvar, | |
| [out] unsigned long *pceltFetched); | |
| HRESULT Skip( | |
| [in] unsigned long celt); | |
| HRESULT Reset(); | |
| HRESULT Clone( | |
| [out] IEnumVARIANT **ppenum); | |
| } | |
| typedef [uuid(66504301-BE0F-101A-8BBB-00AA00300CAB), public] | |
| unsigned long OLE_COLOR; | |
| typedef [uuid(66504302-BE0F-101A-8BBB-00AA00300CAB), public] | |
| long OLE_XPOS_PIXELS; | |
| typedef [uuid(66504303-BE0F-101A-8BBB-00AA00300CAB), public] | |
| long OLE_YPOS_PIXELS; | |
| typedef [uuid(66504304-BE0F-101A-8BBB-00AA00300CAB), public] | |
| long OLE_XSIZE_PIXELS; | |
| typedef [uuid(66504305-BE0F-101A-8BBB-00AA00300CAB), public] | |
| long OLE_YSIZE_PIXELS; | |
| typedef [uuid(66504306-BE0F-101A-8BBB-00AA00300CAB), public] | |
| long OLE_XPOS_HIMETRIC; | |
| typedef [uuid(66504307-BE0F-101A-8BBB-00AA00300CAB), public] | |
| long OLE_YPOS_HIMETRIC; | |
| typedef [uuid(66504308-BE0F-101A-8BBB-00AA00300CAB), public] | |
| long OLE_XSIZE_HIMETRIC; | |
| typedef [uuid(66504309-BE0F-101A-8BBB-00AA00300CAB), public] | |
| long OLE_YSIZE_HIMETRIC; | |
| typedef [uuid(BF030640-9069-101B-AE2D-08002B2EC713), public] | |
| float OLE_XPOS_CONTAINER; | |
| typedef [uuid(BF030641-9069-101B-AE2D-08002B2EC713), public] | |
| float OLE_YPOS_CONTAINER; | |
| typedef [uuid(BF030642-9069-101B-AE2D-08002B2EC713), public] | |
| float OLE_XSIZE_CONTAINER; | |
| typedef [uuid(BF030643-9069-101B-AE2D-08002B2EC713), public] | |
| float OLE_YSIZE_CONTAINER; | |
| typedef [uuid(66504313-BE0F-101A-8BBB-00AA00300CAB), public] | |
| int OLE_HANDLE; | |
| typedef [uuid(6650430B-BE0F-101A-8BBB-00AA00300CAB), public] | |
| VARIANT_BOOL OLE_OPTEXCLUSIVE; | |
| typedef [uuid(BF030644-9069-101B-AE2D-08002B2EC713), public] | |
| VARIANT_BOOL OLE_CANCELBOOL; | |
| typedef [uuid(BF030645-9069-101B-AE2D-08002B2EC713), public] | |
| VARIANT_BOOL OLE_ENABLEDEFAULTBOOL; | |
| [ | |
| uuid(6650430A-BE0F-101A-8BBB-00AA00300CAB) | |
| ] | |
| enum OLE_TRISTATE { | |
| Unchecked = 0, | |
| Checked = 1, | |
| Gray = 2 | |
| }; | |
| typedef [uuid(6650430D-BE0F-101A-8BBB-00AA00300CAB), public] | |
| BSTR FONTNAME; | |
| typedef [uuid(6650430E-BE0F-101A-8BBB-00AA00300CAB), public] | |
| CURRENCY FONTSIZE; | |
| typedef [uuid(6650430F-BE0F-101A-8BBB-00AA00300CAB), public] | |
| VARIANT_BOOL FONTBOLD; | |
| typedef [uuid(66504310-BE0F-101A-8BBB-00AA00300CAB), public] | |
| VARIANT_BOOL FONTITALIC; | |
| typedef [uuid(66504311-BE0F-101A-8BBB-00AA00300CAB), public] | |
| VARIANT_BOOL FONTUNDERSCORE; | |
| typedef [uuid(66504312-BE0F-101A-8BBB-00AA00300CAB), public] | |
| VARIANT_BOOL FONTSTRIKETHROUGH; | |
| [ | |
| odl, | |
| uuid(BEF6E002-A874-101A-8BBA-00AA00300CAB), | |
| helpstring("Font Object"), | |
| hidden | |
| ] | |
| interface IFont : IUnknown { | |
| [propget] HRESULT Name([out, retval] BSTR *pname); | |
| [propput] HRESULT Name([in] BSTR pname); | |
| [propget] HRESULT Size([out, retval] CURRENCY *psize); | |
| [propput] HRESULT Size([in] CURRENCY psize); | |
| [propget] HRESULT Bold([out, retval] VARIANT_BOOL *pbold); | |
| [propput] HRESULT Bold([in] VARIANT_BOOL pbold); | |
| [propget] HRESULT Italic([out, retval] VARIANT_BOOL *pitalic); | |
| [propput] HRESULT Italic([in] VARIANT_BOOL pitalic); | |
| [propget] HRESULT Underline([out, retval] VARIANT_BOOL *punderline); | |
| [propput] HRESULT Underline([in] VARIANT_BOOL punderline); | |
| [propget] HRESULT Strikethrough([out, retval] VARIANT_BOOL *pstrikethrough); | |
| [propput] HRESULT Strikethrough([in] VARIANT_BOOL pstrikethrough); | |
| [propget] HRESULT Weight([out, retval] short *pweight); | |
| [propput] HRESULT Weight([in] short pweight); | |
| [propget] HRESULT Charset([out, retval] short *pcharset); | |
| [propput] HRESULT Charset([in] short pcharset); | |
| [propget] HRESULT hFont([out, retval] OLE_HANDLE *phfont); | |
| HRESULT Clone([out] IFont **ppfont); | |
| HRESULT IsEqual([in] IFont *pfontOther); | |
| HRESULT SetRatio([in] long cyLogical, [in] long cyHimetric); | |
| HRESULT AddRefHfont([in] OLE_HANDLE hFont); | |
| HRESULT ReleaseHfont([in] OLE_HANDLE hFont); | |
| }; | |
| [ | |
| odl, | |
| uuid(BEF6E003-A874-101A-8BBA-00AA00300CAB) | |
| ] | |
| dispinterface Font { | |
| properties: | |
| [id(DISPID_FONT_NAME)] BSTR Name; | |
| [id(DISPID_FONT_SIZE)] CURRENCY Size; | |
| [id(DISPID_FONT_BOLD)] VARIANT_BOOL Bold; | |
| [id(DISPID_FONT_ITALIC)] VARIANT_BOOL Italic; | |
| [id(DISPID_FONT_UNDER)] VARIANT_BOOL Underline; | |
| [id(DISPID_FONT_STRIKE)] VARIANT_BOOL Strikethrough; | |
| [id(DISPID_FONT_WEIGHT)] short Weight; | |
| [id(DISPID_FONT_CHARSET)] short Charset; | |
| methods: | |
| } | |
| typedef [public] Font IFontDisp; | |
| [ | |
| uuid(0BE35203-8F91-11CE-9DE3-00AA004BB851) | |
| ] | |
| coclass StdFont { | |
| [default] dispinterface Font; | |
| /* FIXME: We can't reference dispinterface FontEvents here because we need it to | |
| appear at the end of the typelib. */ | |
| /* [default, source] dispinterface FontEvents;*/ | |
| interface IFont; | |
| }; | |
| [ | |
| odl, | |
| uuid(7BF80980-BF32-101A-8BBB-00AA00300CAB), | |
| helpstring("Picture Object"), | |
| hidden | |
| ] | |
| interface IPicture : IUnknown { | |
| [propget] HRESULT Handle([out, retval] OLE_HANDLE *phandle); | |
| [propget] HRESULT hPal([out, retval] OLE_HANDLE *phpal); | |
| [propget] HRESULT Type([out, retval] short *ptype); | |
| [propget] HRESULT Width([out, retval] OLE_XSIZE_HIMETRIC *pwidth); | |
| [propget] HRESULT Height([out, retval] OLE_YSIZE_HIMETRIC *pheight); | |
| HRESULT Render([in] int hdc, | |
| [in] long x, | |
| [in] long y, | |
| [in] long cx, | |
| [in] long cy, | |
| [in] OLE_XPOS_HIMETRIC xSrc, | |
| [in] OLE_YPOS_HIMETRIC ySrc, | |
| [in] OLE_XSIZE_HIMETRIC cxSrc, | |
| [in] OLE_YSIZE_HIMETRIC cySrc, | |
| [in] void *prcWBounds); | |
| [propput] HRESULT hPal([in] OLE_HANDLE phpal); | |
| [propget] HRESULT CurDC([out, retval] int *phdcOut); | |
| HRESULT SelectPicture([in] int hdcIn, | |
| [out] int *phdcOut, | |
| [out] OLE_HANDLE *phbmpOut); | |
| [propget] HRESULT KeepOriginalFormat([out, retval] VARIANT_BOOL *pfkeep); | |
| [propput] HRESULT KeepOriginalFormat([in] VARIANT_BOOL pfkeep); | |
| HRESULT PictureChanged(); | |
| HRESULT SaveAsFile([in] void *pstm, | |
| [in] VARIANT_BOOL fSaveMemCopy, | |
| [out] long *pcbSize); | |
| [propget] HRESULT Attributes([out, retval] long *pdwAttr); | |
| HRESULT SetHdc([in] OLE_HANDLE hdc); | |
| }; | |
| [ | |
| uuid(7BF80981-BF32-101A-8BBB-00AA00300CAB) | |
| ] | |
| dispinterface Picture { | |
| properties: | |
| [id(DISPID_PICT_HANDLE), readonly] OLE_HANDLE Handle; | |
| [id(DISPID_PICT_HPAL)] OLE_HANDLE hPal; | |
| [id(DISPID_PICT_TYPE), readonly] short Type; | |
| [id(DISPID_PICT_WIDTH), readonly] OLE_XSIZE_HIMETRIC Width; | |
| [id(DISPID_PICT_HEIGHT), readonly] OLE_YSIZE_HIMETRIC Height; | |
| methods: | |
| [id(DISPID_PICT_RENDER)] | |
| void Render(int hdc, | |
| long x, | |
| long y, | |
| long cx, | |
| long cy, | |
| OLE_XPOS_HIMETRIC xSrc, | |
| OLE_YPOS_HIMETRIC ySrc, | |
| OLE_XSIZE_HIMETRIC cxSrc, | |
| OLE_YSIZE_HIMETRIC cySrc, | |
| void *prcWBounds); | |
| }; | |
| typedef [public] Picture IPictureDisp; | |
| [ | |
| uuid(0BE35204-8F91-11CE-9DE3-00AA004BB851) | |
| ] | |
| coclass StdPicture { | |
| [default] dispinterface Picture; | |
| interface IPicture; | |
| }; | |
| [ | |
| uuid(E6C8FA08-BD9F-11D0-985E-00C04FC29993) | |
| ] | |
| enum LoadPictureConstants { | |
| Default = 0, | |
| Monochrome = 1, | |
| VgaColor = 2, | |
| Color = 4 | |
| }; | |
| [ | |
| dllname("oleaut32.dll"), | |
| uuid(91209AC0-60F6-11CF-9C5D-00AA00C1489E), | |
| helpstring("Functions for Standard OLE Objects"), | |
| helpcontext(0x2775) | |
| ] | |
| module StdFunctions{ | |
| [ | |
| entry("OleLoadPictureFileEx"), | |
| helpstring("Loads a picture from a file"), | |
| helpcontext(0x2775) | |
| ] | |
| HRESULT LoadPicture([in, optional] VARIANT filename, | |
| [in, defaultvalue(0)] int widthDesired, | |
| [in, defaultvalue(0)] int heightDesired, | |
| [in, defaultvalue(Default)] enum LoadPictureConstants flags, | |
| [out, retval] IPictureDisp **retval); | |
| [ | |
| entry("OleSavePictureFile"), | |
| helpstring("Saves a picture to a file"), | |
| helpcontext(0x2775) | |
| ] | |
| HRESULT SavePicture([in] IPictureDisp *Picture, | |
| [in] BSTR filename); | |
| }; | |
| [ | |
| uuid(4EF6100A-AF88-11D0-9846-00C04FC29993), | |
| helpstring("Event Interface for the Font Object"), | |
| hidden | |
| ] | |
| dispinterface FontEvents { | |
| properties: | |
| methods: | |
| [id(DISPID_FONT_CHANGED)] void FontChanged([in] BSTR PropertyName); | |
| }; | |
| typedef [public] FontEvents IFontEventsDisp; | |
| }; |