|  | /* | 
|  | * Copyright (C) 2002 Andriy Palamarchuk | 
|  | * Copyright (C) 2004 Mike McCormack | 
|  | * | 
|  | * This library is free software; you can redistribute it and/or | 
|  | * modify it under the terms of the GNU Lesser General Public | 
|  | * License as published by the Free Software Foundation; either | 
|  | * version 2.1 of the License, or (at your option) any later version. | 
|  | * | 
|  | * This library is distributed in the hope that it will be useful, | 
|  | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
|  | * Lesser General Public License for more details. | 
|  | * | 
|  | * You should have received a copy of the GNU Lesser General Public | 
|  | * License along with this library; if not, write to the Free Software | 
|  | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | 
|  | */ | 
|  |  | 
|  | cpp_quote("#if 0")  /* not included on Windows */ | 
|  | import "oleidl.idl"; | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | /* REOBJECT structure flags */ | 
|  | cpp_quote("#define REO_GETOBJ_NO_INTERFACES        0x00000000") | 
|  | cpp_quote("#define REO_GETOBJ_POLEOBJ              0x00000001") | 
|  | cpp_quote("#define REO_GETOBJ_PSTG                 0x00000002") | 
|  | cpp_quote("#define REO_GETOBJ_POLESITE             0x00000004") | 
|  | cpp_quote("#define REO_GETOBJ_ALL_INTERFACES       0x00000007") | 
|  | cpp_quote("#define REO_CP_SELECTION                0xFFFFFFFF") | 
|  | cpp_quote("#define REO_IOB_SELECTION               0xFFFFFFFF") | 
|  | cpp_quote("#define REO_IOB_USE_CP                  0xFFFFFFFE") | 
|  | cpp_quote("#define REO_NULL                        0x00000000") | 
|  | cpp_quote("#define REO_READWRITEMASK               0x0000003F") | 
|  | cpp_quote("#define REO_DONTNEEDPALETTE             0x00000020") | 
|  | cpp_quote("#define REO_BLANK                       0x00000010") | 
|  | cpp_quote("#define REO_DYNAMICSIZE                 0x00000008") | 
|  | cpp_quote("#define REO_INVERTEDSELECT              0x00000004") | 
|  | cpp_quote("#define REO_BELOWBASELINE               0x00000002") | 
|  | cpp_quote("#define REO_RESIZABLE                   0x00000001") | 
|  | cpp_quote("#define REO_LINK                        0x80000000") | 
|  | cpp_quote("#define REO_STATIC                      0x40000000") | 
|  | cpp_quote("#define REO_SELECTED                    0x08000000") | 
|  | cpp_quote("#define REO_OPEN                        0x04000000") | 
|  | cpp_quote("#define REO_INPLACEACTIVE               0x02000000") | 
|  | cpp_quote("#define REO_HILITED                     0x01000000") | 
|  | cpp_quote("#define REO_LINKAVAILABLE               0x00800000") | 
|  | cpp_quote("#define REO_GETMETAFILE                 0x00400000") | 
|  |  | 
|  | /* clipboard operation flags */ | 
|  | cpp_quote("#define RECO_PASTE            0x00000000") | 
|  | cpp_quote("#define RECO_DROP             0x00000001") | 
|  | cpp_quote("#define RECO_COPY             0x00000002") | 
|  | cpp_quote("#define RECO_CUT              0x00000003") | 
|  | cpp_quote("#define RECO_DRAG             0x00000004") | 
|  |  | 
|  | typedef struct _reobject { | 
|  | DWORD cbStruct; | 
|  | LONG cp; | 
|  | CLSID clsid; | 
|  | LPOLEOBJECT poleobj; | 
|  | LPSTORAGE pstg; | 
|  | LPOLECLIENTSITE polesite; | 
|  | SIZEL sizel; | 
|  | DWORD dvaspect; | 
|  | DWORD dwFlags; | 
|  | DWORD dwUser; | 
|  | } REOBJECT; | 
|  |  | 
|  | cpp_quote("#ifndef __RICHEDIT_CHARRANGE_DEFINED") | 
|  | cpp_quote("#define __RICHEDIT_CHARRANGE_DEFINED") | 
|  |  | 
|  | typedef struct _charrange | 
|  | { | 
|  | LONG cpMin; | 
|  | LONG cpMax; | 
|  | } CHARRANGE; | 
|  |  | 
|  | cpp_quote("#endif /* __RICHEDIT_CHARRANGE_DEFINED */") | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IRichEditOle | 
|  | */ | 
|  | [ | 
|  | object, | 
|  | uuid(00020d00-0000-0000-c000-000000000046), | 
|  | pointer_default(unique) | 
|  | ] | 
|  | interface IRichEditOle : IUnknown | 
|  | { | 
|  | typedef [unique] IRichEditOle *LPRICHEDITOLE; | 
|  |  | 
|  | HRESULT GetClientSite(LPOLECLIENTSITE *lplpolesite); | 
|  | HRESULT GetObjectCount(); | 
|  | HRESULT GetLinkCount(); | 
|  | HRESULT GetObject(LONG iob, REOBJECT *lpreobject, DWORD dwFlags); | 
|  | HRESULT InsertObject(REOBJECT *lpreobject); | 
|  | HRESULT ConvertObject(LONG iob, REFCLSID rclsidNew, LPCSTR lpstrUserTypeNew); | 
|  | HRESULT ActivateAs(REFCLSID rclsid, REFCLSID rclsidAs); | 
|  | HRESULT SetHostNames(LPCSTR lpstrContainerApp, LPCSTR lpstrContainerObj); | 
|  | HRESULT SetLinkAvailable(LONG iob, BOOL fAvailable); | 
|  | HRESULT SetDvaspect(LONG iob, DWORD dvaspect); | 
|  | HRESULT HandsOffStorage(LONG iob); | 
|  | HRESULT SaveCompleted(LONG iob, LPSTORAGE lpstg); | 
|  | HRESULT InPlaceDeactivate(); | 
|  | HRESULT ContextSensitiveHelp(BOOL fEnterMode); | 
|  | HRESULT GetClipboardData(CHARRANGE* lpchrg, DWORD reco, LPDATAOBJECT *lplpdataobj); | 
|  | HRESULT ImportDataObject(LPDATAOBJECT lpdataobj, CLIPFORMAT cf, HGLOBAL hMetaPict); | 
|  | } | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IRichEditOleCallback | 
|  | */ | 
|  | [ | 
|  | object, | 
|  | uuid(00020d03-0000-0000-c000-000000000046), | 
|  | pointer_default(unique) | 
|  | ] | 
|  | interface IRichEditOleCallback : IUnknown | 
|  | { | 
|  | typedef [unique] IRichEditOleCallback *LPRICHEDITOLECALLBACK; | 
|  |  | 
|  | HRESULT GetNewStorage(LPSTORAGE *lplpstg); | 
|  | HRESULT GetInPlaceContext(LPOLEINPLACEFRAME *lplpFrame, LPOLEINPLACEUIWINDOW *lplpDoc, LPOLEINPLACEFRAMEINFO lpFrameInfo); | 
|  | HRESULT ShowContainerUI(BOOL fShow); | 
|  | HRESULT QueryInsertObject(LPCLSID lpclsid, LPSTORAGE lpstg, LONG cp); | 
|  | HRESULT DeleteObject(LPOLEOBJECT lpoleobj); | 
|  | HRESULT QueryAcceptData(LPDATAOBJECT lpdataobj, CLIPFORMAT *lpcfFormat, DWORD reco, BOOL fReally, HGLOBAL hMetaPict); | 
|  | HRESULT ContextSensitiveHelp(BOOL fEnterMode); | 
|  | HRESULT GetClipboardData(CHARRANGE *lpchrg, DWORD reco, LPDATAOBJECT *lplpdataobj); | 
|  | HRESULT GetDragDropEffect(BOOL fDrag, DWORD grfKeyState, LPDWORD pdwEffect); | 
|  | HRESULT GetContextMenu(WORD seltype, LPOLEOBJECT lpoleobj, CHARRANGE *lpchrg, HMENU *lphmenu); | 
|  | } |