439 lines
13 KiB
Plaintext
439 lines
13 KiB
Plaintext
/*
|
|
* 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 regtypelib
|
|
#endif
|
|
|
|
#include <olectl.h>
|
|
|
|
/* These typedefs need to have the same size as their real counterparts. */
|
|
typedef short VARIANT_BOOL;
|
|
typedef void *BSTR;
|
|
typedef double CURRENCY;
|
|
typedef unsigned long HRESULT;
|
|
typedef struct {
|
|
short word1, word2, word3, word4;
|
|
void *ptr1, *ptr2;
|
|
} VARIANT;
|
|
typedef unsigned long SCODE;
|
|
|
|
[
|
|
uuid(00020430-0000-0000-C000-000000000046),
|
|
version(2.0),
|
|
helpstring("OLE Automation")
|
|
]
|
|
library stdole
|
|
{
|
|
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;
|
|
|
|
|
|
}
|