xref: /netbsd-src/external/gpl3/gcc/dist/libphobos/libdruntime/core/sys/windows/richole.d (revision 0a3071956a3a9fdebdbf7f338cf2d439b45fc728)
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