1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 7 * Source: $(DRUNTIMESRC core/sys/windows/_richole.d) 8 */ 9 module core.sys.windows.richole; 10 version (Windows): 11 @system: 12 13 import core.sys.windows.objfwd, core.sys.windows.objidl, core.sys.windows.ole2, core.sys.windows.unknwn, 14 core.sys.windows.windef; 15 import core.sys.windows.richedit; // for CHARRANGE 16 17 //align(4): 18 19 enum ULONG 20 REO_GETOBJ_NO_INTERFACES = 0, 21 REO_GETOBJ_POLEOBJ = 1, 22 REO_GETOBJ_PSTG = 2, 23 REO_GETOBJ_POLESITE = 4, 24 REO_GETOBJ_ALL_INTERFACES = 7, 25 REO_CP_SELECTION = -1, 26 REO_IOB_SELECTION = -1, 27 REO_IOB_USE_CP = -2, 28 REO_NULL = 0, 29 REO_READWRITEMASK = 0x3F, 30 REO_DONTNEEDPALETTE = 32, 31 REO_BLANK = 16, 32 REO_DYNAMICSIZE = 8, 33 REO_INVERTEDSELECT = 4, 34 REO_BELOWBASELINE = 2, 35 REO_RESIZABLE = 1, 36 REO_LINK = 0x80000000, 37 REO_STATIC = 0x40000000, 38 REO_SELECTED = 0x08000000, 39 REO_OPEN = 0x4000000, 40 REO_INPLACEACTIVE = 0x2000000, 41 REO_HILITED = 0x1000000, 42 REO_LINKAVAILABLE = 0x800000, 43 REO_GETMETAFILE = 0x400000; 44 45 enum { 46 RECO_PASTE = 0, 47 RECO_DROP, 48 RECO_COPY, 49 RECO_CUT, 50 RECO_DRAG // = 4 51 } 52 53 extern (C) extern const GUID 54 IID_IRichEditOle, 55 IID_IRichEditOleCallback; 56 57 struct REOBJECT { 58 DWORD cbStruct = REOBJECT.sizeof; 59 LONG cp; 60 CLSID clsid; 61 LPOLEOBJECT poleobj; 62 LPSTORAGE pstg; 63 LPOLECLIENTSITE polesite; 64 SIZEL sizel; 65 DWORD dvaspect; 66 DWORD dwFlags; 67 DWORD dwUser; 68 } 69 70 interface IRichEditOle : IUnknown { 71 HRESULT GetClientSite(LPOLECLIENTSITE*); 72 LONG GetObjectCount(); 73 LONG GetLinkCount(); 74 HRESULT GetObject(LONG, REOBJECT*, DWORD); 75 HRESULT InsertObject(REOBJECT*); 76 HRESULT ConvertObject(LONG, REFCLSID, LPCSTR); 77 HRESULT ActivateAs(REFCLSID, REFCLSID); 78 HRESULT SetHostNames(LPCSTR, LPCSTR); 79 HRESULT SetLinkAvailable(LONG, BOOL); 80 HRESULT SetDvaspect(LONG, DWORD); 81 HRESULT HandsOffStorage(LONG); 82 HRESULT SaveCompleted(LONG, LPSTORAGE); 83 HRESULT InPlaceDeactivate(); 84 HRESULT ContextSensitiveHelp(BOOL); 85 HRESULT GetClipboardData(CHARRANGE*, DWORD, LPDATAOBJECT*); 86 HRESULT ImportDataObject(LPDATAOBJECT, CLIPFORMAT, HGLOBAL); 87 } 88 alias IRichEditOle LPRICHEDITOLE; 89 90 interface IRichEditOleCallback : IUnknown { 91 HRESULT GetNewStorage(LPSTORAGE*); 92 HRESULT GetInPlaceContext(LPOLEINPLACEFRAME*, LPOLEINPLACEUIWINDOW*, LPOLEINPLACEFRAMEINFO); 93 HRESULT ShowContainerUI(BOOL); 94 HRESULT QueryInsertObject(LPCLSID, LPSTORAGE, LONG); 95 HRESULT DeleteObject(LPOLEOBJECT); 96 HRESULT QueryAcceptData(LPDATAOBJECT, CLIPFORMAT*, DWORD, BOOL, HGLOBAL); 97 HRESULT ContextSensitiveHelp(BOOL); 98 HRESULT GetClipboardData(CHARRANGE*, DWORD, LPDATAOBJECT*); 99 HRESULT GetDragDropEffect(BOOL, DWORD, PDWORD); 100 HRESULT GetContextMenu(WORD, LPOLEOBJECT, CHARRANGE*, HMENU*); 101 } 102 alias IRichEditOleCallback LPRICHEDITOLECALLBACK; 103