3 * @copy 2012 MinGW.org project
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
26 #pragma GCC system_header
32 #define REO_GETOBJ_NO_INTERFACES 0
33 #define REO_GETOBJ_POLEOBJ 1
34 #define REO_GETOBJ_PSTG 2
35 #define REO_GETOBJ_POLESITE 4
36 #define REO_GETOBJ_ALL_INTERFACES 7
37 #define REO_CP_SELECTION ((ULONG)-1)
38 #define REO_IOB_SELECTION ((ULONG)-1)
39 #define REO_IOB_USE_CP ((ULONG)-2)
41 #define REO_READWRITEMASK 0x3FL
42 #define REO_DONTNEEDPALETTE 32
44 #define REO_DYNAMICSIZE 8
45 #define REO_INVERTEDSELECT 4
46 #define REO_BELOWBASELINE 2
47 #define REO_RESIZABLE 1
48 #define REO_LINK 0x80000000
49 #define REO_STATIC 0x40000000
50 #define REO_SELECTED 0x08000000
51 #define REO_OPEN 0x4000000
52 #define REO_INPLACEACTIVE 0x2000000
53 #define REO_HILITED 0x1000000
54 #define REO_LINKAVAILABLE 0x800000
55 #define REO_GETMETAFILE 0x400000
62 extern const GUID IID_IRichEditOle;
63 extern const GUID IID_IRichEditOleCallback;
65 typedef struct _reobject {
71 LPOLECLIENTSITE polesite;
78 #define INTERFACE IRichEditOle
79 DECLARE_INTERFACE_(IRichEditOle, IUnknown)
81 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
82 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
83 STDMETHOD_(ULONG,Release)(THIS) PURE;
84 STDMETHOD(GetClientSite)(THIS_ LPOLECLIENTSITE*) PURE;
85 STDMETHOD_(LONG,GetObjectCount)(THIS) PURE;
86 STDMETHOD_(LONG,GetLinkCount)(THIS) PURE;
87 STDMETHOD(GetObject)(THIS_ LONG, REOBJECT*,DWORD) PURE;
88 STDMETHOD(InsertObject)(THIS_ REOBJECT*) PURE;
89 STDMETHOD(ConvertObject)(THIS_ LONG,REFCLSID,LPCSTR) PURE;
90 STDMETHOD(ActivateAs)(THIS_ REFCLSID,REFCLSID) PURE;
91 STDMETHOD(SetHostNames)(THIS_ LPCSTR,LPCSTR) PURE;
92 STDMETHOD(SetLinkAvailable)(THIS_ LONG,BOOL) PURE;
93 STDMETHOD(SetDvaspect)(THIS_ LONG,DWORD) PURE;
94 STDMETHOD(HandsOffStorage)(THIS_ LONG) PURE;
95 STDMETHOD(SaveCompleted)(THIS_ LONG,LPSTORAGE) PURE;
96 STDMETHOD(InPlaceDeactivate)(THIS) PURE;
97 STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
98 STDMETHOD(GetClipboardData)(THIS_ CHARRANGE*,DWORD,LPDATAOBJECT*) PURE;
99 STDMETHOD(ImportDataObject)(THIS_ LPDATAOBJECT,CLIPFORMAT,HGLOBAL) PURE;
102 typedef IRichEditOle *LPRICHEDITOLE;
104 #define INTERFACE IRichEditOleCallback
105 DECLARE_INTERFACE_(IRichEditOleCallback, IUnknown)
107 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
108 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
109 STDMETHOD_(ULONG,Release)(THIS) PURE;
110 STDMETHOD(GetNewStorage)(THIS_ LPSTORAGE*) PURE;
111 STDMETHOD(GetInPlaceContext)(THIS_ LPOLEINPLACEFRAME*,LPOLEINPLACEUIWINDOW*,LPOLEINPLACEFRAMEINFO) PURE;
112 STDMETHOD(ShowContainerUI)(THIS_ BOOL) PURE;
113 STDMETHOD(QueryInsertObject)(THIS_ LPCLSID,LPSTORAGE,LONG) PURE;
114 STDMETHOD(DeleteObject)(THIS_ LPOLEOBJECT) PURE;
115 STDMETHOD(QueryAcceptData) (THIS_ LPDATAOBJECT,CLIPFORMAT*,DWORD,BOOL,HGLOBAL) PURE;
116 STDMETHOD(ContextSensitiveHelp) (THIS_ BOOL) PURE;
117 STDMETHOD(GetClipboardData) (THIS_ CHARRANGE*,DWORD,LPDATAOBJECT*) PURE;
118 STDMETHOD(GetDragDropEffect) (THIS_ BOOL,DWORD,PDWORD) PURE;
119 STDMETHOD(GetContextMenu) (THIS_ WORD,LPOLEOBJECT,CHARRANGE*,HMENU*) PURE;
122 typedef IRichEditOleCallback FAR * LPRICHEDITOLECALLBACK;