blob: 1cecfc90245094f80821198f8af9134d70f96c39 [file] [log] [blame]
Mike McCormack3be4f5d2004-10-18 22:28:21 +00001/*
2 * Copyright (C) 2002 Andriy Palamarchuk
3 * Copyright (C) 2004 Mike McCormack
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 */
19
20cpp_quote("#if 0"); /* not included on Windows */
21import "oleidl.idl";
22cpp_quote("#endif");
23
24/* REOBJECT structure flags */
25cpp_quote("#define REO_GETOBJ_NO_INTERFACES 0x00000000");
26cpp_quote("#define REO_GETOBJ_POLEOBJ 0x00000001");
27cpp_quote("#define REO_GETOBJ_PSTG 0x00000002");
28cpp_quote("#define REO_GETOBJ_POLESITE 0x00000004");
29cpp_quote("#define REO_GETOBJ_ALL_INTERFACES 0x00000007");
30cpp_quote("#define REO_CP_SELECTION 0xFFFFFFFF");
31cpp_quote("#define REO_IOB_SELECTION 0xFFFFFFFF");
32cpp_quote("#define REO_IOB_USE_CP 0xFFFFFFFE");
33cpp_quote("#define REO_NULL 0x00000000");
34cpp_quote("#define REO_READWRITEMASK 0x0000003F");
35cpp_quote("#define REO_DONTNEEDPALETTE 0x00000020");
36cpp_quote("#define REO_BLANK 0x00000010");
37cpp_quote("#define REO_DYNAMICSIZE 0x00000008");
38cpp_quote("#define REO_INVERTEDSELECT 0x00000004");
39cpp_quote("#define REO_BELOWBASELINE 0x00000002");
40cpp_quote("#define REO_RESIZABLE 0x00000001");
41cpp_quote("#define REO_LINK 0x80000000");
42cpp_quote("#define REO_STATIC 0x40000000");
43cpp_quote("#define REO_SELECTED 0x08000000");
44cpp_quote("#define REO_OPEN 0x04000000");
45cpp_quote("#define REO_INPLACEACTIVE 0x02000000");
46cpp_quote("#define REO_HILITED 0x01000000");
47cpp_quote("#define REO_LINKAVAILABLE 0x00800000");
48cpp_quote("#define REO_GETMETAFILE 0x00400000");
49
50/* clipboard operation flags */
51cpp_quote("#define RECO_PASTE 0x00000000");
52cpp_quote("#define RECO_DROP 0x00000001");
53cpp_quote("#define RECO_COPY 0x00000002");
54cpp_quote("#define RECO_CUT 0x00000003");
55cpp_quote("#define RECO_DRAG 0x00000004");
56
57typedef struct _reobject {
58 DWORD cbStruct;
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} REOBJECT;
69
70cpp_quote("#ifndef __RICHEDIT_CHARRANGE_DEFINED");
71cpp_quote("#define __RICHEDIT_CHARRANGE_DEFINED");
72
73typedef struct _charrange
74{
75 LONG cpMin;
76 LONG cpMax;
77} CHARRANGE;
78
79cpp_quote("#endif /* __RICHEDIT_CHARRANGE_DEFINED */");
80
81/*****************************************************************************
82 * IRichEditOle
83 */
84[
85 object,
86 uuid(00020d00-0000-0000-c000-000000000046),
87 pointer_default(unique)
88]
89interface IRichEditOle : IUnknown
90{
91 HRESULT GetClientSite(LPOLECLIENTSITE *lplpolesite);
92 HRESULT GetObjectCount();
93 HRESULT GetLinkCount();
94 HRESULT GetObject(LONG iob, REOBJECT *lpreobject, DWORD dwFlags);
95 HRESULT InsertObject(REOBJECT *lpreobject);
96 HRESULT ConvertObject(LONG iob, REFCLSID rclsidNew, LPCSTR lpstrUserTypeNew);
97 HRESULT ActivateAs(REFCLSID rclsid, REFCLSID rclsidAs);
98 HRESULT SetHostNames(LPCSTR lpstrContainerApp, LPCSTR lpstrContainerObj);
99 HRESULT SetLinkAvailable(LONG iob, BOOL fAvailable);
100 HRESULT SetDvaspect(LONG iob, DWORD dvaspect);
101 HRESULT HandsOffStorage(LONG iob);
102 HRESULT SaveCompleted(LONG iob, LPSTORAGE lpstg);
103 HRESULT InPlaceDeactivate();
104 HRESULT ContextSensitiveHelp(BOOL fEnterMode);
105 HRESULT GetClipboardData(CHARRANGE* lpchrg, DWORD reco, LPDATAOBJECT *lplpdataobj);
106 HRESULT ImportDataObject(LPDATAOBJECT lpdataobj, CLIPFORMAT cf, HGLOBAL hMetaPict);
107}
Vincent BĂ©rona57c3912005-02-21 18:28:47 +0000108
109/*****************************************************************************
110 * IRichEditOleCallback
111 */
112[
113 object,
114 uuid(00020d03-0000-0000-c000-000000000046),
115 pointer_default(unique)
116]
117interface IRichEditOleCallback : IUnknown
118{
119 HRESULT GetNewStorage(LPSTORAGE *lplpstg);
120 HRESULT GetInPlaceContext(LPOLEINPLACEFRAME *lplpFrame, LPOLEINPLACEUIWINDOW *lplpDoc, LPOLEINPLACEFRAMEINFO lpFrameInfo);
121 HRESULT ShowContainerUI(BOOL fShow);
122 HRESULT QueryInsertObject(LPCLSID lpclsid, LPSTORAGE lpstg, LONG cp);
123 HRESULT DeleteObject(LPOLEOBJECT lpoleobj);
124 HRESULT QueryAcceptData(LPDATAOBJECT lpdataobj, CLIPFORMAT *lpcfFormat, DWORD reco, BOOL fReally, HGLOBAL hMetaPict);
125 HRESULT ContextSensitiveHelp(BOOL fEnterMode);
126 HRESULT GetClipboardData(CHARRANGE *lpchrg, DWORD reco, LPDATAOBJECT *lplpdataobj);
127 HRESULT GetDragDropEffect(BOOL fDrag, DWORD grfKeyState, LPDWORD pdwEffect);
128 HRESULT GetContextMenu(WORD seltype, LPOLEOBJECT lpoleobj, CHARRANGE *lpchrg, HMENU *lphmenu);
129}