1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _RICHOLE_ 7 #define _RICHOLE_ 8 9 #include "richedit.h" 10 11 typedef struct _reobject { 12 DWORD cbStruct; 13 LONG cp; 14 CLSID clsid; 15 LPOLEOBJECT poleobj; 16 LPSTORAGE pstg; 17 LPOLECLIENTSITE polesite; 18 SIZEL sizel; 19 DWORD dvaspect; 20 DWORD dwFlags; 21 DWORD dwUser; 22 } REOBJECT; 23 24 #define REO_GETOBJ_NO_INTERFACES (__MSABI_LONG(0x00000000)) 25 #define REO_GETOBJ_POLEOBJ (__MSABI_LONG(0x00000001)) 26 #define REO_GETOBJ_PSTG (__MSABI_LONG(0x00000002)) 27 #define REO_GETOBJ_POLESITE (__MSABI_LONG(0x00000004)) 28 #define REO_GETOBJ_ALL_INTERFACES (__MSABI_LONG(0x00000007)) 29 30 #define REO_CP_SELECTION ((ULONG) -1) 31 32 #define REO_IOB_SELECTION ((ULONG) -1) 33 #define REO_IOB_USE_CP ((ULONG) -2) 34 35 #define REO_NULL (__MSABI_LONG(0x00000000)) 36 #define REO_READWRITEMASK (__MSABI_LONG(0x0000003F)) 37 #define REO_DONTNEEDPALETTE (__MSABI_LONG(0x00000020)) 38 #define REO_BLANK (__MSABI_LONG(0x00000010)) 39 #define REO_DYNAMICSIZE (__MSABI_LONG(0x00000008)) 40 #define REO_INVERTEDSELECT (__MSABI_LONG(0x00000004)) 41 #define REO_BELOWBASELINE (__MSABI_LONG(0x00000002)) 42 #define REO_RESIZABLE (__MSABI_LONG(0x00000001)) 43 #define REO_LINK (__MSABI_LONG(0x80000000)) 44 #define REO_STATIC (__MSABI_LONG(0x40000000)) 45 #define REO_SELECTED (__MSABI_LONG(0x08000000)) 46 #define REO_OPEN (__MSABI_LONG(0x04000000)) 47 #define REO_INPLACEACTIVE (__MSABI_LONG(0x02000000)) 48 #define REO_HILITED (__MSABI_LONG(0x01000000)) 49 #define REO_LINKAVAILABLE (__MSABI_LONG(0x00800000)) 50 #define REO_GETMETAFILE (__MSABI_LONG(0x00400000)) 51 52 #define RECO_PASTE (__MSABI_LONG(0x00000000)) 53 #define RECO_DROP (__MSABI_LONG(0x00000001)) 54 #define RECO_COPY (__MSABI_LONG(0x00000002)) 55 #define RECO_CUT (__MSABI_LONG(0x00000003)) 56 #define RECO_DRAG (__MSABI_LONG(0x00000004)) 57 58 #undef INTERFACE 59 #define INTERFACE IRichEditOle 60 DECLARE_INTERFACE_(IRichEditOle,IUnknown) { 61 STDMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID *lplpObj) PURE; 62 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 63 STDMETHOD_(ULONG,Release) (THIS) PURE; 64 STDMETHOD(GetClientSite) (THIS_ LPOLECLIENTSITE *lplpolesite) PURE; 65 STDMETHOD_(LONG,GetObjectCount) (THIS) PURE; 66 STDMETHOD_(LONG,GetLinkCount) (THIS) PURE; 67 STDMETHOD(GetObject) (THIS_ LONG iob,REOBJECT *lpreobject,DWORD dwFlags) PURE; 68 STDMETHOD(InsertObject) (THIS_ REOBJECT *lpreobject) PURE; 69 STDMETHOD(ConvertObject) (THIS_ LONG iob,REFCLSID rclsidNew,LPCSTR lpstrUserTypeNew) PURE; 70 STDMETHOD(ActivateAs) (THIS_ REFCLSID rclsid,REFCLSID rclsidAs) PURE; 71 STDMETHOD(SetHostNames) (THIS_ LPCSTR lpstrContainerApp,LPCSTR lpstrContainerObj) PURE; 72 STDMETHOD(SetLinkAvailable) (THIS_ LONG iob,WINBOOL fAvailable) PURE; 73 STDMETHOD(SetDvaspect) (THIS_ LONG iob,DWORD dvaspect) PURE; 74 STDMETHOD(HandsOffStorage) (THIS_ LONG iob) PURE; 75 STDMETHOD(SaveCompleted) (THIS_ LONG iob,LPSTORAGE lpstg) PURE; 76 STDMETHOD(InPlaceDeactivate) (THIS) PURE; 77 STDMETHOD(ContextSensitiveHelp) (THIS_ WINBOOL fEnterMode) PURE; 78 STDMETHOD(GetClipboardData) (THIS_ CHARRANGE *lpchrg,DWORD reco,LPDATAOBJECT *lplpdataobj) PURE; 79 STDMETHOD(ImportDataObject) (THIS_ LPDATAOBJECT lpdataobj,CLIPFORMAT cf,HGLOBAL hMetaPict) PURE; 80 }; 81 typedef IRichEditOle *LPRICHEDITOLE; 82 83 #undef INTERFACE 84 #define INTERFACE IRichEditOleCallback 85 DECLARE_INTERFACE_(IRichEditOleCallback,IUnknown) { 86 STDMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID *lplpObj) PURE; 87 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 88 STDMETHOD_(ULONG,Release) (THIS) PURE; 89 STDMETHOD(GetNewStorage) (THIS_ LPSTORAGE *lplpstg) PURE; 90 STDMETHOD(GetInPlaceContext) (THIS_ LPOLEINPLACEFRAME *lplpFrame,LPOLEINPLACEUIWINDOW *lplpDoc,LPOLEINPLACEFRAMEINFO lpFrameInfo) PURE; 91 STDMETHOD(ShowContainerUI) (THIS_ WINBOOL fShow) PURE; 92 STDMETHOD(QueryInsertObject) (THIS_ LPCLSID lpclsid,LPSTORAGE lpstg,LONG cp) PURE; 93 STDMETHOD(DeleteObject) (THIS_ LPOLEOBJECT lpoleobj) PURE; 94 STDMETHOD(QueryAcceptData) (THIS_ LPDATAOBJECT lpdataobj,CLIPFORMAT *lpcfFormat,DWORD reco,WINBOOL fReally,HGLOBAL hMetaPict) PURE; 95 STDMETHOD(ContextSensitiveHelp) (THIS_ WINBOOL fEnterMode) PURE; 96 STDMETHOD(GetClipboardData) (THIS_ CHARRANGE *lpchrg,DWORD reco,LPDATAOBJECT *lplpdataobj) PURE; 97 STDMETHOD(GetDragDropEffect) (THIS_ WINBOOL fDrag,DWORD grfKeyState,LPDWORD pdwEffect) PURE; 98 STDMETHOD(GetContextMenu) (THIS_ WORD seltype,LPOLEOBJECT lpoleobj,CHARRANGE *lpchrg,HMENU *lphmenu) PURE; 99 }; 100 typedef IRichEditOleCallback *LPRICHEDITOLECALLBACK; 101 102 DEFINE_GUID(IID_IRichEditOle,0x00020D00,0,0,0xC0,0,0,0,0,0,0,0x46); 103 DEFINE_GUID(IID_IRichEditOleCallback,0x00020D03,0,0,0xC0,0,0,0,0,0,0,0x46); 104 #endif 105