108 lines
3.4 KiB
C
108 lines
3.4 KiB
C
#ifndef _RICHOLE_H
|
|
#define _RICHOLE_H
|
|
#if __GNUC__ >=3
|
|
#pragma GCC system_header
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
#pragma pack(push,4)
|
|
#define REO_GETOBJ_NO_INTERFACES 0
|
|
#define REO_GETOBJ_POLEOBJ 1
|
|
#define REO_GETOBJ_PSTG 2
|
|
#define REO_GETOBJ_POLESITE 4
|
|
#define REO_GETOBJ_ALL_INTERFACES 7
|
|
#define REO_CP_SELECTION ((ULONG)-1)
|
|
#define REO_IOB_SELECTION ((ULONG)-1)
|
|
#define REO_IOB_USE_CP ((ULONG)-2)
|
|
#define REO_NULL 0
|
|
#define REO_READWRITEMASK 0x3FL
|
|
#define REO_DONTNEEDPALETTE 32
|
|
#define REO_BLANK 16
|
|
#define REO_DYNAMICSIZE 8
|
|
#define REO_INVERTEDSELECT 4
|
|
#define REO_BELOWBASELINE 2
|
|
#define REO_RESIZABLE 1
|
|
#define REO_LINK 0x80000000
|
|
#define REO_STATIC 0x40000000
|
|
#define REO_SELECTED 0x08000000
|
|
#define REO_OPEN 0x4000000
|
|
#define REO_INPLACEACTIVE 0x2000000
|
|
#define REO_HILITED 0x1000000
|
|
#define REO_LINKAVAILABLE 0x800000
|
|
#define REO_GETMETAFILE 0x400000
|
|
#define RECO_PASTE 0
|
|
#define RECO_DROP 1
|
|
#define RECO_COPY 2
|
|
#define RECO_CUT 3
|
|
#define RECO_DRAG 4
|
|
|
|
extern const GUID IID_IRichEditOle;
|
|
extern const GUID IID_IRichEditOleCallback;
|
|
#ifndef INITGUID
|
|
typedef struct _reobject {
|
|
DWORD cbStruct;
|
|
LONG cp;
|
|
CLSID clsid;
|
|
LPOLEOBJECT poleobj;
|
|
LPSTORAGE pstg;
|
|
LPOLECLIENTSITE polesite;
|
|
SIZEL sizel;
|
|
DWORD dvaspect;
|
|
DWORD dwFlags;
|
|
DWORD dwUser;
|
|
} REOBJECT;
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IRichEditOle
|
|
DECLARE_INTERFACE_(IRichEditOle, IUnknown)
|
|
{
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
|
STDMETHOD(GetClientSite)(THIS_ LPOLECLIENTSITE*) PURE;
|
|
STDMETHOD_(LONG,GetObjectCount)(THIS) PURE;
|
|
STDMETHOD_(LONG,GetLinkCount)(THIS) PURE;
|
|
STDMETHOD(GetObject)(THIS_ LONG, REOBJECT*,DWORD) PURE;
|
|
STDMETHOD(InsertObject)(THIS_ REOBJECT*) PURE;
|
|
STDMETHOD(ConvertObject)(THIS_ LONG,REFCLSID,LPCSTR) PURE;
|
|
STDMETHOD(ActivateAs)(THIS_ REFCLSID,REFCLSID) PURE;
|
|
STDMETHOD(SetHostNames)(THIS_ LPCSTR,LPCSTR) PURE;
|
|
STDMETHOD(SetLinkAvailable)(THIS_ LONG,BOOL) PURE;
|
|
STDMETHOD(SetDvaspect)(THIS_ LONG,DWORD) PURE;
|
|
STDMETHOD(HandsOffStorage)(THIS_ LONG) PURE;
|
|
STDMETHOD(SaveCompleted)(THIS_ LONG,LPSTORAGE) PURE;
|
|
STDMETHOD(InPlaceDeactivate)(THIS) PURE;
|
|
STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
|
|
STDMETHOD(GetClipboardData)(THIS_ CHARRANGE*,DWORD,LPDATAOBJECT*) PURE;
|
|
STDMETHOD(ImportDataObject)(THIS_ LPDATAOBJECT,CLIPFORMAT,HGLOBAL) PURE;
|
|
};
|
|
typedef IRichEditOle *LPRICHEDITOLE;
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IRichEditOleCallback
|
|
DECLARE_INTERFACE_(IRichEditOleCallback, IUnknown)
|
|
{
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
|
STDMETHOD(GetNewStorage)(THIS_ LPSTORAGE*) PURE;
|
|
STDMETHOD(GetInPlaceContext)(THIS_ LPOLEINPLACEFRAME*,LPOLEINPLACEUIWINDOW*,LPOLEINPLACEFRAMEINFO) PURE;
|
|
STDMETHOD(ShowContainerUI)(THIS_ BOOL) PURE;
|
|
STDMETHOD(QueryInsertObject)(THIS_ LPCLSID,LPSTORAGE,LONG) PURE;
|
|
STDMETHOD(DeleteObject)(THIS_ LPOLEOBJECT) PURE;
|
|
STDMETHOD(QueryAcceptData) (THIS_ LPDATAOBJECT,CLIPFORMAT*,DWORD,BOOL,HGLOBAL) PURE;
|
|
STDMETHOD(ContextSensitiveHelp) (THIS_ BOOL) PURE;
|
|
STDMETHOD(GetClipboardData) (THIS_ CHARRANGE*,DWORD,LPDATAOBJECT*) PURE;
|
|
STDMETHOD(GetDragDropEffect) (THIS_ BOOL,DWORD,PDWORD) PURE;
|
|
STDMETHOD(GetContextMenu) (THIS_ WORD,LPOLEOBJECT,CHARRANGE*,HMENU*) PURE;
|
|
};
|
|
typedef IRichEditOleCallback FAR * LPRICHEDITOLECALLBACK;
|
|
#endif
|
|
#pragma pack(pop)
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|