diff options
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/oleidl.idl')
-rw-r--r-- | src/VBox/Devices/Graphics/shaderlib/wine/include/oleidl.idl | 967 |
1 files changed, 967 insertions, 0 deletions
diff --git a/src/VBox/Devices/Graphics/shaderlib/wine/include/oleidl.idl b/src/VBox/Devices/Graphics/shaderlib/wine/include/oleidl.idl new file mode 100644 index 00000000..2e36db9d --- /dev/null +++ b/src/VBox/Devices/Graphics/shaderlib/wine/include/oleidl.idl @@ -0,0 +1,967 @@ +/* + * Copyright (C) 1999 Paul Quinn + * Copyright (C) 1999 Francis Beaudet + * Copyright (C) 2003 Alexandre Julliard + * + * 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 + */ + +/* + * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice + * other than GPL or LGPL is available it will apply instead, Oracle elects to use only + * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where + * a choice of LGPL license versions is made available with the language indicating + * that LGPLv2 or any later version may be used, or where a choice of which version + * of the LGPL is applied is otherwise unspecified. + */ + +#ifndef DO_NO_IMPORTS +import "objidl.idl"; +#endif + +interface IOleInPlaceActiveObject; + +cpp_quote("#include <winuser.h>") + +/***************************************************************************** + * IOleTypes interface + */ +[ + uuid(b0916c84-7416-101a-bcea-08002b2b79ef) +] +interface IOLETypes +{ + typedef enum tagOLERENDER + { + OLERENDER_NONE = 0, + OLERENDER_DRAW = 1, + OLERENDER_FORMAT = 2, + OLERENDER_ASIS = 3 + } OLERENDER, *LPOLERENDER; + + typedef struct tagOBJECTDESCRIPTOR + { + ULONG cbSize; + CLSID clsid; + DWORD dwDrawAspect; + SIZEL sizel; + POINTL pointl; + DWORD dwStatus; + DWORD dwFullUserTypeName; + DWORD dwSrcOfCopy; + } OBJECTDESCRIPTOR, *POBJECTDESCRIPTOR, *LPOBJECTDESCRIPTOR, + LINKSRCDESCRIPTOR, *PLINKSRCDESCRIPTOR, *LPLINKSRCDESCRIPTOR; +} + + +/***************************************************************************** + * IOleWindow interface + */ +[ + object, + uuid(00000114-0000-0000-c000-000000000046), + pointer_default(unique) +] +interface IOleWindow : IUnknown +{ + typedef [unique] IOleWindow *LPOLEWINDOW; + + HRESULT GetWindow( + [out] HWND *phwnd); + + HRESULT ContextSensitiveHelp( + [in] BOOL fEnterMode); +} + + +/***************************************************************************** + * IOleInPlaceObject interface + */ +[ + object, + uuid(00000113-0000-0000-c000-000000000046), + pointer_default(unique) +] +interface IOleInPlaceObject : IOleWindow +{ + typedef [unique] IOleInPlaceObject *LPOLEINPLACEOBJECT; + + HRESULT InPlaceDeactivate(); + + HRESULT UIDeactivate(); + + HRESULT SetObjectRects( + [in] LPCRECT lprcPosRect, + [in] LPCRECT lprcClipRect); + + HRESULT ReactivateAndUndo(); +} + + +/***************************************************************************** + * IOleInPlaceUIWindow interface + */ +[ + object, + uuid(00000115-0000-0000-c000-000000000046), + pointer_default(unique) +] + +interface IOleInPlaceUIWindow : IOleWindow +{ + typedef [unique] IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW; + + typedef RECT BORDERWIDTHS; + typedef LPRECT LPBORDERWIDTHS; + typedef LPCRECT LPCBORDERWIDTHS; + + HRESULT GetBorder( + [out] LPRECT lprectBorder); + + HRESULT RequestBorderSpace( + [in, unique] LPCBORDERWIDTHS pborderwidths); + + HRESULT SetBorderSpace( + [in, unique] LPCBORDERWIDTHS pborderwidths); + + HRESULT SetActiveObject( + [in, unique] IOleInPlaceActiveObject *pActiveObject, + [in, string, unique] LPCOLESTR pszObjName); +} + + +/* avoid conflict with Wine Unicode macros */ +cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") +cpp_quote("#undef TranslateAccelerator") +cpp_quote("#endif") + +/***************************************************************************** + * IOleInPlaceFrame interface + */ +[ + object, + uuid(00000116-0000-0000-c000-000000000046), + pointer_default(unique) +] +interface IOleInPlaceFrame : IOleInPlaceUIWindow +{ + typedef [unique] IOleInPlaceFrame *LPOLEINPLACEFRAME; + + typedef struct tagOleInPlaceFrameInfo + { + UINT cb; + BOOL fMDIApp; + HWND hwndFrame; + HACCEL haccel; + UINT cAccelEntries; + } OLEINPLACEFRAMEINFO, *LPOLEINPLACEFRAMEINFO; + + typedef struct tagOleMenuGroupWidths + { + LONG width[ 6 ]; + } OLEMENUGROUPWIDTHS, *LPOLEMENUGROUPWIDTHS; + + typedef HGLOBAL HOLEMENU; + + HRESULT InsertMenus( + [in] HMENU hmenuShared, + [in,out] LPOLEMENUGROUPWIDTHS lpMenuWidths); + + HRESULT SetMenu( + [in] HMENU hmenuShared, + [in] HOLEMENU holemenu, + [in] HWND hwndActiveObject); + + HRESULT RemoveMenus( + [in] HMENU hmenuShared); + + HRESULT SetStatusText( + [in, unique] LPCOLESTR pszStatusText); + + HRESULT EnableModeless( + [in] BOOL fEnable); + + HRESULT TranslateAccelerator( + [in] LPMSG lpmsg, + [in] WORD wID); +} + + +/***************************************************************************** + * IOleInPlaceActiveObject interface + */ +[ + object, + uuid(00000117-0000-0000-c000-000000000046) +] +interface IOleInPlaceActiveObject : IOleWindow +{ + typedef [unique] IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT; + + [local] + HRESULT TranslateAccelerator( + [in] LPMSG lpmsg); + + [call_as(TranslateAccelerator)] + HRESULT RemoteTranslateAccelerator(); + + HRESULT OnFrameWindowActivate( + [in] BOOL fActivate); + + HRESULT OnDocWindowActivate( + [in] BOOL fActivate); + + [local] + HRESULT ResizeBorder( + [in] LPCRECT prcBorder, + [in, unique] IOleInPlaceUIWindow *pUIWindow, + [in] BOOL fFrameWindow); + + [call_as(ResizeBorder)] + HRESULT RemoteResizeBorder( + [in] LPCRECT prcBorder, + [in] REFIID riid, + [in, unique, iid_is(riid)] IOleInPlaceUIWindow *pUIWindow, + [in] BOOL fFrameWindow); + + HRESULT EnableModeless( + [in] BOOL fEnable); +} + + +/***************************************************************************** + * IOleInPlaceSite interface + */ +[ + object, + uuid(00000119-0000-0000-c000-000000000046), + pointer_default(unique) +] +interface IOleInPlaceSite : IOleWindow +{ + typedef [unique] IOleInPlaceSite *LPOLEINPLACESITE; + + HRESULT CanInPlaceActivate(); + HRESULT OnInPlaceActivate(); + HRESULT OnUIActivate(); + + HRESULT GetWindowContext( + [out] IOleInPlaceFrame **ppFrame, + [out] IOleInPlaceUIWindow **ppDoc, + [out] LPRECT lprcPosRect, + [out] LPRECT lprcClipRect, + [in, out] LPOLEINPLACEFRAMEINFO lpFrameInfo); + + HRESULT Scroll( + [in] SIZE scrollExtent); + + HRESULT OnUIDeactivate( + [in] BOOL fUndoable); + + HRESULT OnInPlaceDeactivate(); + HRESULT DiscardUndoState(); + HRESULT DeactivateAndUndo(); + + HRESULT OnPosRectChange( + [in] LPCRECT lprcPosRect); +} + + +/***************************************************************************** + * IParseDisplayName interface + */ +[ + object, + uuid(0000011a-0000-0000-c000-000000000046), + pointer_default(unique) +] +interface IParseDisplayName : IUnknown +{ + typedef [unique] IParseDisplayName *LPPARSEDISPLAYNAME; + + HRESULT ParseDisplayName( + [in, unique] IBindCtx *pbc, + [in] LPOLESTR pszDisplayName, + [out] ULONG *pchEaten, + [out] IMoniker **ppmkOut); +} + + +/***************************************************************************** + * IOleContainer interface + */ +[ + object, + uuid(0000011b-0000-0000-c000-000000000046), + pointer_default(unique) +] +interface IOleContainer : IParseDisplayName +{ + typedef [unique] IOleContainer *LPOLECONTAINER; + + HRESULT EnumObjects( + [in] DWORD grfFlags, + [out] IEnumUnknown **ppenum); + + HRESULT LockContainer( + [in] BOOL fLock); +} + + +/***************************************************************************** + * IOleItemContainer interface + */ +[ + object, + uuid(0000011c-0000-0000-c000-000000000046), + pointer_default(unique) +] +interface IOleItemContainer : IOleContainer +{ + typedef [unique] IOleItemContainer *LPOLEITEMCONTAINER; + + typedef enum tagBINDSPEED + { + BINDSPEED_INDEFINITE = 1, + BINDSPEED_MODERATE = 2, + BINDSPEED_IMMEDIATE = 3 + } BINDSPEED; + + typedef enum tagOLECONTF + { + OLECONTF_EMBEDDINGS = 1, + OLECONTF_LINKS = 2, + OLECONTF_OTHERS = 4, + OLECONTF_ONLYUSER = 8, + OLECONTF_ONLYIFRUNNING = 16 + } OLECONTF; + +cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") +cpp_quote("#undef GetObject") +cpp_quote("#endif") + HRESULT GetObject( + [in] LPOLESTR pszItem, + [in] DWORD dwSpeedNeeded, + [in, unique] IBindCtx *pbc, + [in] REFIID riid, + [out, iid_is(riid)] void **ppvObject); + + HRESULT GetObjectStorage( + [in] LPOLESTR pszItem, + [in, unique] IBindCtx *pbc, + [in] REFIID riid, + [out, iid_is(riid)] void **ppvStorage); + + HRESULT IsRunning( + [in] LPOLESTR pszItem); +} + + +/***************************************************************************** + * IOleLink interface + */ +[ + object, + uuid(0000011d-0000-0000-c000-000000000046) +] +interface IOleLink : IUnknown +{ + typedef [unique] IOleLink *LPOLELINK; + + typedef enum tagOLEUPDATE + { + OLEUPDATE_ALWAYS = 1, + OLEUPDATE_ONCALL = 3 + } OLEUPDATE, *POLEUPDATE, *LPOLEUPDATE; + + typedef enum tagOLELINKBIND + { + OLELINKBIND_EVENIFCLASSDIFF = 1 + } OLELINKBIND; + + HRESULT SetUpdateOptions( + [in] DWORD dwUpdateOpt); + + HRESULT GetUpdateOptions( + [out] DWORD *pdwUpdateOpt); + + HRESULT SetSourceMoniker( + [in, unique] IMoniker *pmk, + [in] REFCLSID rclsid); + + HRESULT GetSourceMoniker( + [out] IMoniker **ppmk); + + HRESULT SetSourceDisplayName( + [in]LPCOLESTR pszStatusText); + + HRESULT GetSourceDisplayName( + [out] LPOLESTR *ppszDisplayName); + + HRESULT BindToSource( + [in] DWORD bindflags, + [in, unique] IBindCtx *pbc); + + HRESULT BindIfRunning(); + + HRESULT GetBoundSource( + [out] IUnknown **ppunk); + + HRESULT UnbindSource(); + + HRESULT Update( + [in, unique] IBindCtx *pbc); +} + + +/***************************************************************************** + * IOleClientSite interface + */ +[ + object, + uuid(00000118-0000-0000-c000-000000000046), + pointer_default(unique) +] +interface IOleClientSite : IUnknown +{ + typedef [unique] IOleClientSite * LPOLECLIENTSITE; + + HRESULT SaveObject(); + + HRESULT GetMoniker( + [in] DWORD dwAssign, + [in] DWORD dwWhichMoniker, + [out] IMoniker **ppmk); + + HRESULT GetContainer( + [out] IOleContainer **ppContainer); + + HRESULT ShowObject(); + + HRESULT OnShowWindow( + [in] BOOL fShow); + + HRESULT RequestNewObjectLayout(); +} + + +/***************************************************************************** + * IOleCache interface + */ +[ + object, + uuid(0000011e-0000-0000-c000-000000000046), + pointer_default(unique) +] +interface IOleCache : IUnknown +{ + typedef [unique] IOleCache *LPOLECACHE; + + HRESULT Cache( + [in, unique] FORMATETC *pformatetc, + [in] DWORD advf, + [out] DWORD *pdwConnection); + + HRESULT Uncache( + [in] DWORD dwConnection); + + HRESULT EnumCache( + [out] IEnumSTATDATA **ppenumSTATDATA); + + HRESULT InitCache( + [in, unique] IDataObject *pDataObject); + + HRESULT SetData( + [in, unique] FORMATETC *pformatetc, + [in, unique] STGMEDIUM *pmedium, + [in] BOOL fRelease); +} + + +/***************************************************************************** + * IOleCache2 interface + */ +[ + object, + uuid(00000128-0000-0000-c000-000000000046), + pointer_default(unique) +] +interface IOleCache2 : IOleCache +{ + typedef [unique] IOleCache2 *LPOLECACHE2; + + const DWORD UPDFCACHE_NODATACACHE = 0x00000001; + const DWORD UPDFCACHE_ONSAVECACHE = 0x00000002; + const DWORD UPDFCACHE_ONSTOPCACHE = 0x00000004; + const DWORD UPDFCACHE_NORMALCACHE = 0x00000008; + const DWORD UPDFCACHE_IFBLANK = 0x00000010; + const DWORD UPDFCACHE_ONLYIFBLANK = 0x80000000; + + const DWORD UPDFCACHE_IFBLANKORONSAVECACHE = (UPDFCACHE_IFBLANK | UPDFCACHE_ONSAVECACHE); + const DWORD UPDFCACHE_ALL = ((DWORD)(~(UPDFCACHE_ONLYIFBLANK))); + const DWORD UPDFCACHE_ALLBUTNODATACACHE = (UPDFCACHE_ALL & ((DWORD)(~UPDFCACHE_NODATACACHE))); + + typedef enum tagDISCARDCACHE + { + DISCARDCACHE_SAVEIFDIRTY = 0, + DISCARDCACHE_NOSAVE = 1 + } DISCARDCACHE; + + [local] + HRESULT UpdateCache( + [in] LPDATAOBJECT pDataObject, + [in] DWORD grfUpdf, + [in] LPVOID pReserved); + + [call_as(UpdateCache)] + HRESULT RemoteUpdateCache( + [in] LPDATAOBJECT pDataObject, + [in] DWORD grfUpdf, + [in] LONG_PTR pReserved); + + HRESULT DiscardCache( + [in] DWORD dwDiscardOptions); +} + + +/***************************************************************************** + * IOleCacheControl interface + */ +[ + object, + uuid(00000129-0000-0000-c000-000000000046) +] +interface IOleCacheControl : IUnknown +{ + typedef [unique] IOleCacheControl *LPOLECACHECONTROL; + + HRESULT OnRun( + LPDATAOBJECT pDataObject); + + HRESULT OnStop(); +} + + +/***************************************************************************** + * IEnumOLEVERB interface + */ +[ + object, + uuid(00000104-0000-0000-c000-000000000046), + pointer_default(unique) +] +interface IEnumOLEVERB : IUnknown +{ + typedef [unique] IEnumOLEVERB *LPENUMOLEVERB; + + typedef struct tagOLEVERB + { + LONG lVerb; + LPOLESTR lpszVerbName; + DWORD fuFlags; + DWORD grfAttribs; + } OLEVERB, *LPOLEVERB; + + typedef enum tagOLEVERBATTRIB + { + OLEVERBATTRIB_NEVERDIRTIES = 1, + OLEVERBATTRIB_ONCONTAINERMENU = 2 + } OLEVERBATTRIB; + + [local] + HRESULT Next( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] LPOLEVERB rgelt, + [out] ULONG *pceltFetched); + + [call_as(Next)] + HRESULT RemoteNext( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] LPOLEVERB rgelt, + [out] ULONG *pceltFetched); + + HRESULT Skip( + [in] ULONG celt); + + HRESULT Reset(); + + HRESULT Clone( + [out] IEnumOLEVERB **ppenum); +} + + +/***************************************************************************** + * IOleObject interface + */ +[ + object, + uuid(00000112-0000-0000-c000-000000000046), + pointer_default(unique) +] +interface IOleObject : IUnknown +{ + typedef [unique] IOleObject *LPOLEOBJECT; + + typedef enum tagOLEGETMONIKER + { + OLEGETMONIKER_ONLYIFTHERE = 1, + OLEGETMONIKER_FORCEASSIGN = 2, + OLEGETMONIKER_UNASSIGN = 3, + OLEGETMONIKER_TEMPFORUSER = 4 + } OLEGETMONIKER; + + typedef enum tagOLEWHICHMK + { + OLEWHICHMK_CONTAINER = 1, + OLEWHICHMK_OBJREL = 2, + OLEWHICHMK_OBJFULL = 3 + } OLEWHICHMK; + + typedef enum tagUSERCLASSTYPE + { + USERCLASSTYPE_FULL = 1, + USERCLASSTYPE_SHORT = 2, + USERCLASSTYPE_APPNAME = 3 + } USERCLASSTYPE; + + typedef enum tagOLEMISC + { + OLEMISC_RECOMPOSEONRESIZE = 0x1, + OLEMISC_ONLYICONIC = 0x2, + OLEMISC_INSERTNOTREPLACE = 0x4, + OLEMISC_STATIC = 0x8, + OLEMISC_CANTLINKINSIDE = 0x10, + OLEMISC_CANLINKBYOLE1 = 0x20, + OLEMISC_ISLINKOBJECT = 0x40, + OLEMISC_INSIDEOUT = 0x80, + OLEMISC_ACTIVATEWHENVISIBLE = 0x100, + OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200, + OLEMISC_INVISIBLEATRUNTIME = 0x400, + OLEMISC_ALWAYSRUN = 0x800, + OLEMISC_ACTSLIKEBUTTON = 0x1000, + OLEMISC_ACTSLIKELABEL = 0x2000, + OLEMISC_NOUIACTIVATE = 0x4000, + OLEMISC_ALIGNABLE = 0x8000, + OLEMISC_SIMPLEFRAME = 0x10000, + OLEMISC_SETCLIENTSITEFIRST = 0x20000, + OLEMISC_IMEMODE = 0x40000, + OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000, + OLEMISC_WANTSTOMENUMERGE = 0x100000, + OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000 + } OLEMISC; + + typedef enum tagOLECLOSE + { + OLECLOSE_SAVEIFDIRTY = 0, + OLECLOSE_NOSAVE = 1, + OLECLOSE_PROMPTSAVE = 2 + } OLECLOSE; + + HRESULT SetClientSite( + [in, unique] IOleClientSite *pClientSite); + + HRESULT GetClientSite( + [out] IOleClientSite **ppClientSite); + + HRESULT SetHostNames( + [in] LPCOLESTR szContainerApp, + [in, unique] LPCOLESTR szContainerObj); + + HRESULT Close( + [in] DWORD dwSaveOption); + + HRESULT SetMoniker( + [in] DWORD dwWhichMoniker, + [in, unique] IMoniker *pmk); + + HRESULT GetMoniker( + [in] DWORD dwAssign, + [in] DWORD dwWhichMoniker, + [out] IMoniker **ppmk); + + HRESULT InitFromData( + [in, unique] IDataObject *pDataObject, + [in] BOOL fCreation, + [in] DWORD dwReserved); + + HRESULT GetClipboardData( + [in] DWORD dwReserved, + [out] IDataObject **ppDataObject); + + HRESULT DoVerb( + [in] LONG iVerb, + [in, unique] LPMSG lpmsg, + [in, unique] IOleClientSite *pActiveSite, + [in] LONG lindex, + [in] HWND hwndParent, + [in, unique] LPCRECT lprcPosRect); + + HRESULT EnumVerbs( + [out] IEnumOLEVERB **ppEnumOleVerb); + + HRESULT Update(); + + HRESULT IsUpToDate(); + + HRESULT GetUserClassID( + [out] CLSID *pClsid); + + HRESULT GetUserType( + [in] DWORD dwFormOfType, + [out] LPOLESTR *pszUserType); + + HRESULT SetExtent( + [in] DWORD dwDrawAspect, + [in] SIZEL *psizel); + + HRESULT GetExtent( + [in] DWORD dwDrawAspect, + [out] SIZEL *psizel); + + HRESULT Advise( + [in, unique] IAdviseSink *pAdvSink, + [out] DWORD *pdwConnection); + + HRESULT Unadvise( + [in] DWORD dwConnection); + + HRESULT EnumAdvise( + [out] IEnumSTATDATA **ppenumAdvise); + + HRESULT GetMiscStatus( + [in] DWORD dwAspect, + [out] DWORD *pdwStatus); + + HRESULT SetColorScheme( + [in] LOGPALETTE *pLogpal); +} + + +/***************************************************************************** + * IOleAdviseHolder interface + */ +[ + local, + object, + uuid(00000111-0000-0000-c000-000000000046) +] +interface IOleAdviseHolder : IUnknown +{ + typedef [unique] IOleAdviseHolder * LPOLEADVISEHOLDER; + + HRESULT Advise( + [in, unique] IAdviseSink *pAdvise, + [out] DWORD *pdwConnection); + + HRESULT Unadvise( + [in] DWORD dwConnection); + + HRESULT EnumAdvise( + [out] IEnumSTATDATA **ppenumAdvise); + + HRESULT SendOnRename( + [in, unique] IMoniker *pmk); + + HRESULT SendOnSave(); + HRESULT SendOnClose(); +} + + +/***************************************************************************** + * IContinue interface + */ +[ + object, + uuid(0000012a-0000-0000-c000-000000000046) +] +interface IContinue : IUnknown +{ + HRESULT FContinue(); +} + + +/***************************************************************************** + * IViewObject interface + */ +[ + object, + uuid(0000010d-0000-0000-c000-000000000046) +] +interface IViewObject : IUnknown +{ + typedef [unique] IViewObject *LPVIEWOBJECT; + + [local] + HRESULT Draw( + [in] DWORD dwDrawAspect, + [in] LONG lindex, + [in, unique] void * pvAspect, + [in, unique] DVTARGETDEVICE *ptd, + [in] HDC hdcTargetDev, + [in] HDC hdcDraw, + [in] LPCRECTL lprcBounds, + [in, unique] LPCRECTL lprcWBounds, + [in] BOOL (*pfnContinue)(ULONG_PTR dwContinue), + [in] ULONG_PTR dwContinue); + + [call_as(Draw)] + HRESULT RemoteDraw( + [in] DWORD dwDrawAspect, + [in] LONG lindex, + [in] ULONG_PTR pvAspect, + [in, unique] DVTARGETDEVICE *ptd, + [in] ULONG_PTR hdcTargetDev, + [in] ULONG_PTR hdcDraw, + [in] LPCRECTL lprcBounds, + [in, unique] LPCRECTL lprcWBounds, + [in] IContinue *pContinue); + + [local] + HRESULT GetColorSet( + [in] DWORD dwDrawAspect, + [in] LONG lindex, + [in, unique] void *pvAspect, + [in, unique] DVTARGETDEVICE *ptd, + [in] HDC hicTargetDev, + [out] LOGPALETTE **ppColorSet); + + [call_as(GetColorSet)] + HRESULT RemoteGetColorSet( + [in] DWORD dwDrawAspect, + [in] LONG lindex, + [in] ULONG_PTR pvAspect, + [in, unique] DVTARGETDEVICE *ptd, + [in] ULONG_PTR hicTargetDev, + [out] LOGPALETTE **ppColorSet); + + [local] + HRESULT Freeze( + [in] DWORD dwDrawAspect, + [in] LONG lindex, + [in, unique] void *pvAspect, + [out] DWORD *pdwFreeze); + + [call_as(Freeze)] + HRESULT RemoteFreeze( + [in] DWORD dwDrawAspect, + [in] LONG lindex, + [in] ULONG_PTR pvAspect, + [out] DWORD *pdwFreeze); + + HRESULT Unfreeze( + [in] DWORD dwFreeze); + + HRESULT SetAdvise( + [in] DWORD aspects, + [in] DWORD advf, + [in, unique] IAdviseSink *pAdvSink); + + [local] + HRESULT GetAdvise( + [out, unique] DWORD *pAspects, + [out, unique] DWORD *pAdvf, + [out] IAdviseSink **ppAdvSink); + + [call_as(GetAdvise)] + HRESULT RemoteGetAdvise( + [out] DWORD *pAspects, + [out] DWORD *pAdvf, + [out] IAdviseSink **ppAdvSink); +} + + +/***************************************************************************** + * IViewObject2 interface + */ +[ + object, + uuid(00000127-0000-0000-c000-000000000046) +] +interface IViewObject2 : IViewObject +{ + typedef [unique] IViewObject2 *LPVIEWOBJECT2; + + HRESULT GetExtent( + [in] DWORD dwDrawAspect, + [in] LONG lindex, + [in, unique] DVTARGETDEVICE* ptd, + [out] LPSIZEL lpsizel); +} + + +/***************************************************************************** + * IDropSource interface + */ +[ + local, + object, + uuid(00000121-0000-0000-c000-000000000046) +] +interface IDropSource : IUnknown +{ + typedef [unique] IDropSource *LPDROPSOURCE; + + HRESULT QueryContinueDrag( + [in] BOOL fEscapePressed, + [in] DWORD grfKeyState); + + HRESULT GiveFeedback( + [in] DWORD dwEffect); +} + + +/***************************************************************************** + * IDropTarget interface + */ +[ + object, + uuid(00000122-0000-0000-c000-000000000046), + pointer_default(unique) +] +interface IDropTarget : IUnknown +{ + typedef [unique] IDropTarget *LPDROPTARGET; + + const DWORD MK_ALT = 0x20; + const DWORD DROPEFFECT_NONE = 0; + const DWORD DROPEFFECT_COPY = 1; + const DWORD DROPEFFECT_MOVE = 2; + const DWORD DROPEFFECT_LINK = 4; + const DWORD DROPEFFECT_SCROLL = 0x80000000; + const DWORD DD_DEFSCROLLINSET = 11; + const DWORD DD_DEFSCROLLDELAY = 50; + const DWORD DD_DEFSCROLLINTERVAL = 50; + const DWORD DD_DEFDRAGDELAY = 200; + const DWORD DD_DEFDRAGMINDIST = 2; + + HRESULT DragEnter( + [in, unique] IDataObject *pDataObj, + [in] DWORD grfKeyState, + [in] POINTL pt, + [in, out] DWORD *pdwEffect); + + HRESULT DragOver( + [in] DWORD grfKeyState, + [in] POINTL pt, + [in, out] DWORD *pdwEffect); + + HRESULT DragLeave(); + + HRESULT Drop( + [in, unique] IDataObject *pDataObj, + [in] DWORD grfKeyState, + [in] POINTL pt, + [in, out] DWORD *pdwEffect); +} |