blob: a4e64e83b7510d95b0813b32ef5d8485f57ce347 [file] [log] [blame]
/**
* Windows API header module
*
* Translated from MinGW Windows headers
*
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(DRUNTIMESRC src/core/sys/windows/_richole.d)
*/
module core.sys.windows.richole;
version (Windows):
@system:
import core.sys.windows.objfwd, core.sys.windows.objidl, core.sys.windows.ole2, core.sys.windows.unknwn,
core.sys.windows.windef;
import core.sys.windows.richedit; // for CHARRANGE
//align(4):
enum ULONG
REO_GETOBJ_NO_INTERFACES = 0,
REO_GETOBJ_POLEOBJ = 1,
REO_GETOBJ_PSTG = 2,
REO_GETOBJ_POLESITE = 4,
REO_GETOBJ_ALL_INTERFACES = 7,
REO_CP_SELECTION = -1,
REO_IOB_SELECTION = -1,
REO_IOB_USE_CP = -2,
REO_NULL = 0,
REO_READWRITEMASK = 0x3F,
REO_DONTNEEDPALETTE = 32,
REO_BLANK = 16,
REO_DYNAMICSIZE = 8,
REO_INVERTEDSELECT = 4,
REO_BELOWBASELINE = 2,
REO_RESIZABLE = 1,
REO_LINK = 0x80000000,
REO_STATIC = 0x40000000,
REO_SELECTED = 0x08000000,
REO_OPEN = 0x4000000,
REO_INPLACEACTIVE = 0x2000000,
REO_HILITED = 0x1000000,
REO_LINKAVAILABLE = 0x800000,
REO_GETMETAFILE = 0x400000;
enum {
RECO_PASTE = 0,
RECO_DROP,
RECO_COPY,
RECO_CUT,
RECO_DRAG // = 4
}
extern (C) extern const GUID
IID_IRichEditOle,
IID_IRichEditOleCallback;
struct REOBJECT {
DWORD cbStruct = REOBJECT.sizeof;
LONG cp;
CLSID clsid;
LPOLEOBJECT poleobj;
LPSTORAGE pstg;
LPOLECLIENTSITE polesite;
SIZEL sizel;
DWORD dvaspect;
DWORD dwFlags;
DWORD dwUser;
}
interface IRichEditOle : IUnknown {
HRESULT GetClientSite(LPOLECLIENTSITE*);
LONG GetObjectCount();
LONG GetLinkCount();
HRESULT GetObject(LONG, REOBJECT*, DWORD);
HRESULT InsertObject(REOBJECT*);
HRESULT ConvertObject(LONG, REFCLSID, LPCSTR);
HRESULT ActivateAs(REFCLSID, REFCLSID);
HRESULT SetHostNames(LPCSTR, LPCSTR);
HRESULT SetLinkAvailable(LONG, BOOL);
HRESULT SetDvaspect(LONG, DWORD);
HRESULT HandsOffStorage(LONG);
HRESULT SaveCompleted(LONG, LPSTORAGE);
HRESULT InPlaceDeactivate();
HRESULT ContextSensitiveHelp(BOOL);
HRESULT GetClipboardData(CHARRANGE*, DWORD, LPDATAOBJECT*);
HRESULT ImportDataObject(LPDATAOBJECT, CLIPFORMAT, HGLOBAL);
}
alias IRichEditOle LPRICHEDITOLE;
interface IRichEditOleCallback : IUnknown {
HRESULT GetNewStorage(LPSTORAGE*);
HRESULT GetInPlaceContext(LPOLEINPLACEFRAME*, LPOLEINPLACEUIWINDOW*, LPOLEINPLACEFRAMEINFO);
HRESULT ShowContainerUI(BOOL);
HRESULT QueryInsertObject(LPCLSID, LPSTORAGE, LONG);
HRESULT DeleteObject(LPOLEOBJECT);
HRESULT QueryAcceptData(LPDATAOBJECT, CLIPFORMAT*, DWORD, BOOL, HGLOBAL);
HRESULT ContextSensitiveHelp(BOOL);
HRESULT GetClipboardData(CHARRANGE*, DWORD, LPDATAOBJECT*);
HRESULT GetDragDropEffect(BOOL, DWORD, PDWORD);
HRESULT GetContextMenu(WORD, LPOLEOBJECT, CHARRANGE*, HMENU*);
}
alias IRichEditOleCallback LPRICHEDITOLECALLBACK;