| /* | |
| * Common controls v6 interface definitions | |
| * | |
| * Copyright 2009 Owen Rudge for CodeWeavers | |
| * | |
| * 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 | |
| */ | |
| import "oaidl.idl"; | |
| import "ocidl.idl"; | |
| /* Definitions required for widl, but already defined in commctrl.h for C */ | |
| cpp_quote("#if 0") | |
| typedef DWORD RGBQUAD; | |
| typedef IUnknown* HIMAGELIST; | |
| typedef struct | |
| { | |
| HBITMAP hbmImage; | |
| HBITMAP hbmMask; | |
| int Unused1; | |
| int Unused2; | |
| RECT rcImage; | |
| } IMAGEINFO; | |
| typedef IMAGEINFO* LPIMAGEINFO; | |
| typedef struct | |
| { | |
| DWORD cbSize; | |
| HIMAGELIST himl; | |
| int i; | |
| HDC hdcDst; | |
| int x; | |
| int y; | |
| int cx; | |
| int cy; | |
| int xBitmap; | |
| int yBitmap; | |
| COLORREF rgbBk; | |
| COLORREF rgbFg; | |
| UINT fStyle; | |
| DWORD dwRop; | |
| DWORD fState; | |
| DWORD Frame; | |
| COLORREF crEffect; | |
| } IMAGELISTDRAWPARAMS; | |
| typedef IMAGELISTDRAWPARAMS* LPIMAGELISTDRAWPARAMS; | |
| cpp_quote("#endif") | |
| cpp_quote("HRESULT WINAPI ImageList_CoCreateInstance(REFCLSID,const IUnknown *, REFIID,void **);") | |
| const UINT ILIF_ALPHA = 1; | |
| [ | |
| object, | |
| uuid(46EB5926-582E-4017-9FDF-E8998DAA0950), | |
| helpstring("Image List"), | |
| local | |
| ] | |
| interface IImageList : IUnknown | |
| { | |
| HRESULT Add( | |
| [in] HBITMAP hbmImage, | |
| [in] HBITMAP hbmMask, | |
| [out] int* pi); | |
| HRESULT ReplaceIcon( | |
| [in] int i, | |
| [in] HICON hicon, | |
| [out] int* pi); | |
| HRESULT SetOverlayImage( | |
| [in] int iImage, | |
| [in] int iOverlay); | |
| HRESULT Replace( | |
| [in] int i, | |
| [in] HBITMAP hbmImage, | |
| [in] HBITMAP hbmMask); | |
| HRESULT AddMasked( | |
| [in] HBITMAP hbmImage, | |
| [in] COLORREF crMask, | |
| [out] int* pi); | |
| HRESULT Draw( | |
| [in] IMAGELISTDRAWPARAMS* pimldp); | |
| HRESULT Remove( | |
| [in] int i); | |
| HRESULT GetIcon( | |
| [in] int i, | |
| [in] UINT flags, | |
| [out] HICON* picon); | |
| HRESULT GetImageInfo( | |
| [in] int i, | |
| [out] IMAGEINFO* pImageInfo); | |
| HRESULT Copy( | |
| [in] int iDst, | |
| [in] IUnknown* punkSrc, | |
| [in] int iSrc, | |
| [in] UINT uFlags); | |
| HRESULT Merge( | |
| [in] int i1, | |
| [in] IUnknown* punk2, | |
| [in] int i2, | |
| [in] int dx, | |
| [in] int dy, | |
| [out] REFIID riid, | |
| [out] PVOID* ppv); | |
| HRESULT Clone( | |
| [in] REFIID riid, | |
| [out] PVOID* ppv); | |
| HRESULT GetImageRect( | |
| [in] int i, | |
| [out] RECT* prc); | |
| HRESULT GetIconSize( | |
| [out] int* cx, | |
| [out] int* cy); | |
| HRESULT SetIconSize( | |
| [in] int cx, | |
| [in] int cy); | |
| HRESULT GetImageCount( | |
| [out] int* pi); | |
| HRESULT SetImageCount( | |
| [in] UINT uNewCount); | |
| HRESULT SetBkColor( | |
| [in] COLORREF clrBk, | |
| [out] COLORREF* pclr); | |
| HRESULT GetBkColor( | |
| [out] COLORREF* pclr); | |
| HRESULT BeginDrag( | |
| [in] int iTrack, | |
| [in] int dxHotspot, | |
| [in] int dyHotspot); | |
| HRESULT EndDrag(); | |
| HRESULT DragEnter( | |
| [in] HWND hwndLock, | |
| [in] int x, | |
| [in] int y); | |
| HRESULT DragLeave( | |
| [in] HWND hwndLock); | |
| HRESULT DragMove( | |
| [in] int x, | |
| [in] int y); | |
| HRESULT SetDragCursorImage( | |
| [in] IUnknown* punk, | |
| [in] int iDrag, | |
| [in] int dxHotspot, | |
| [in] int dyHotspot); | |
| HRESULT DragShowNolock( | |
| [in] BOOL fShow); | |
| HRESULT GetDragImage( | |
| [out] POINT * ppt, | |
| [out] POINT * pptHotspot, | |
| [out] REFIID riid, | |
| [out] PVOID* ppv); | |
| HRESULT GetItemFlags( | |
| [in] int i, | |
| [out] DWORD *dwFlags); | |
| HRESULT GetOverlayImage( | |
| [in] int iOverlay, | |
| [out] int* piIndex); | |
| } | |
| [ | |
| uuid(BCADA15B-B428-420c-8D28-023590924C9F) | |
| ] | |
| library CommonControlObjects | |
| { | |
| [ | |
| uuid(7C476BA2-02B1-48f4-8048-B24619DDC058) | |
| ] | |
| coclass ImageList | |
| { | |
| interface IImageList; | |
| } | |
| } |