| 1 |
#ifndef _RICHOLE_H |
| 2 |
#define _RICHOLE_H |
| 3 |
#if __GNUC__ >=3 |
| 4 |
#pragma GCC system_header |
| 5 |
#endif |
| 6 |
|
| 7 |
#ifdef __cplusplus |
| 8 |
extern "C" { |
| 9 |
#endif |
| 10 |
#pragma pack(push,4) |
| 11 |
#define REO_GETOBJ_NO_INTERFACES 0 |
| 12 |
#define REO_GETOBJ_POLEOBJ 1 |
| 13 |
#define REO_GETOBJ_PSTG 2 |
| 14 |
#define REO_GETOBJ_POLESITE 4 |
| 15 |
#define REO_GETOBJ_ALL_INTERFACES 7 |
| 16 |
#define REO_CP_SELECTION ((ULONG)-1) |
| 17 |
#define REO_IOB_SELECTION ((ULONG)-1) |
| 18 |
#define REO_IOB_USE_CP ((ULONG)-2) |
| 19 |
#define REO_NULL 0 |
| 20 |
#define REO_READWRITEMASK 0x3FL |
| 21 |
#define REO_DONTNEEDPALETTE 32 |
| 22 |
#define REO_BLANK 16 |
| 23 |
#define REO_DYNAMICSIZE 8 |
| 24 |
#define REO_INVERTEDSELECT 4 |
| 25 |
#define REO_BELOWBASELINE 2 |
| 26 |
#define REO_RESIZABLE 1 |
| 27 |
#define REO_LINK 0x80000000 |
| 28 |
#define REO_STATIC 0x40000000 |
| 29 |
#define REO_SELECTED 0x08000000 |
| 30 |
#define REO_OPEN 0x4000000 |
| 31 |
#define REO_INPLACEACTIVE 0x2000000 |
| 32 |
#define REO_HILITED 0x1000000 |
| 33 |
#define REO_LINKAVAILABLE 0x800000 |
| 34 |
#define REO_GETMETAFILE 0x400000 |
| 35 |
#define RECO_PASTE 0 |
| 36 |
#define RECO_DROP 1 |
| 37 |
#define RECO_COPY 2 |
| 38 |
#define RECO_CUT 3 |
| 39 |
#define RECO_DRAG 4 |
| 40 |
|
| 41 |
extern const GUID IID_IRichEditOle; |
| 42 |
extern const GUID IID_IRichEditOleCallback; |
| 43 |
#ifndef INITGUID |
| 44 |
typedef struct _reobject { |
| 45 |
DWORD cbStruct; |
| 46 |
LONG cp; |
| 47 |
CLSID clsid; |
| 48 |
LPOLEOBJECT poleobj; |
| 49 |
LPSTORAGE pstg; |
| 50 |
LPOLECLIENTSITE polesite; |
| 51 |
SIZEL sizel; |
| 52 |
DWORD dvaspect; |
| 53 |
DWORD dwFlags; |
| 54 |
DWORD dwUser; |
| 55 |
} REOBJECT; |
| 56 |
|
| 57 |
#define INTERFACE IRichEditOle |
| 58 |
DECLARE_INTERFACE_(IRichEditOle, IUnknown) |
| 59 |
{ |
| 60 |
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
| 61 |
STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
| 62 |
STDMETHOD_(ULONG,Release)(THIS) PURE; |
| 63 |
STDMETHOD(GetClientSite)(THIS_ LPOLECLIENTSITE*) PURE; |
| 64 |
STDMETHOD_(LONG,GetObjectCount)(THIS) PURE; |
| 65 |
STDMETHOD_(LONG,GetLinkCount)(THIS) PURE; |
| 66 |
STDMETHOD(GetObject)(THIS_ LONG, REOBJECT*,DWORD) PURE; |
| 67 |
STDMETHOD(InsertObject)(THIS_ REOBJECT*) PURE; |
| 68 |
STDMETHOD(ConvertObject)(THIS_ LONG,REFCLSID,LPCSTR) PURE; |
| 69 |
STDMETHOD(ActivateAs)(THIS_ REFCLSID,REFCLSID) PURE; |
| 70 |
STDMETHOD(SetHostNames)(THIS_ LPCSTR,LPCSTR) PURE; |
| 71 |
STDMETHOD(SetLinkAvailable)(THIS_ LONG,BOOL) PURE; |
| 72 |
STDMETHOD(SetDvaspect)(THIS_ LONG,DWORD) PURE; |
| 73 |
STDMETHOD(HandsOffStorage)(THIS_ LONG) PURE; |
| 74 |
STDMETHOD(SaveCompleted)(THIS_ LONG,LPSTORAGE) PURE; |
| 75 |
STDMETHOD(InPlaceDeactivate)(THIS) PURE; |
| 76 |
STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE; |
| 77 |
STDMETHOD(GetClipboardData)(THIS_ CHARRANGE*,DWORD,LPDATAOBJECT*) PURE; |
| 78 |
STDMETHOD(ImportDataObject)(THIS_ LPDATAOBJECT,CLIPFORMAT,HGLOBAL) PURE; |
| 79 |
}; |
| 80 |
#undef INTERFACE |
| 81 |
typedef IRichEditOle *LPRICHEDITOLE; |
| 82 |
|
| 83 |
#define INTERFACE IRichEditOleCallback |
| 84 |
DECLARE_INTERFACE_(IRichEditOleCallback, IUnknown) |
| 85 |
{ |
| 86 |
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
| 87 |
STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
| 88 |
STDMETHOD_(ULONG,Release)(THIS) PURE; |
| 89 |
STDMETHOD(GetNewStorage)(THIS_ LPSTORAGE*) PURE; |
| 90 |
STDMETHOD(GetInPlaceContext)(THIS_ LPOLEINPLACEFRAME*,LPOLEINPLACEUIWINDOW*,LPOLEINPLACEFRAMEINFO) PURE; |
| 91 |
STDMETHOD(ShowContainerUI)(THIS_ BOOL) PURE; |
| 92 |
STDMETHOD(QueryInsertObject)(THIS_ LPCLSID,LPSTORAGE,LONG) PURE; |
| 93 |
STDMETHOD(DeleteObject)(THIS_ LPOLEOBJECT) PURE; |
| 94 |
STDMETHOD(QueryAcceptData) (THIS_ LPDATAOBJECT,CLIPFORMAT*,DWORD,BOOL,HGLOBAL) PURE; |
| 95 |
STDMETHOD(ContextSensitiveHelp) (THIS_ BOOL) PURE; |
| 96 |
STDMETHOD(GetClipboardData) (THIS_ CHARRANGE*,DWORD,LPDATAOBJECT*) PURE; |
| 97 |
STDMETHOD(GetDragDropEffect) (THIS_ BOOL,DWORD,PDWORD) PURE; |
| 98 |
STDMETHOD(GetContextMenu) (THIS_ WORD,LPOLEOBJECT,CHARRANGE*,HMENU*) PURE; |
| 99 |
}; |
| 100 |
#undef INTERFACE |
| 101 |
typedef IRichEditOleCallback FAR * LPRICHEDITOLECALLBACK; |
| 102 |
#endif |
| 103 |
#pragma pack(pop) |
| 104 |
#ifdef __cplusplus |
| 105 |
} |
| 106 |
#endif |
| 107 |
#endif |