| cpp_quote("/**") | 
 | cpp_quote(" * This file is part of the mingw-w64 runtime package.") | 
 | cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.") | 
 | cpp_quote(" */") | 
 |  | 
 | import "oaidl.idl"; | 
 | import "ocidl.idl"; | 
 |  | 
 | cpp_quote("#include <winapifamily.h>") | 
 | cpp_quote("") | 
 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
 | cpp_quote("#ifndef WINCOMMCTRLAPI") | 
 | cpp_quote("#ifndef _COMCTL32_") | 
 | cpp_quote("#define WINCOMMCTRLAPI DECLSPEC_IMPORT") | 
 | cpp_quote("#else") | 
 | cpp_quote("#define WINCOMMCTRLAPI") | 
 | cpp_quote("#endif") | 
 | cpp_quote("#endif") | 
 | cpp_quote("") | 
 | cpp_quote("#ifdef __WIDL__") | 
 |  | 
 | typedef DWORD RGBQUAD; | 
 | typedef IUnknown *HIMAGELIST; | 
 | cpp_quote("typedef struct _IMAGELIST *HIMAGELIST;") | 
 |  | 
 | typedef struct _IMAGELISTDRAWPARAMS { | 
 |   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; | 
 |  | 
 | typedef struct tagIMAGEINFO { | 
 |   HBITMAP hbmImage; | 
 |   HBITMAP hbmMask; | 
 |   int Unused1; | 
 |   int Unused2; | 
 |   RECT rcImage; | 
 | } IMAGEINFO; | 
 |  | 
 | typedef IMAGEINFO *LPIMAGEINFO; | 
 | cpp_quote("#endif") | 
 | cpp_quote("") | 
 | cpp_quote("#define ILIF_ALPHA 0x1") | 
 | cpp_quote("#define ILIF_LOWQUALITY 0x2") | 
 | cpp_quote("") | 
 | cpp_quote("#define ILDRF_IMAGELOWQUALITY 0x1") | 
 | cpp_quote("#define ILDRF_OVERLAYLOWQUALITY 0x10") | 
 | cpp_quote("") | 
 | cpp_quote("#define ILR_DEFAULT 0x0") | 
 | cpp_quote("#define ILR_HORIZONTAL_LEFT  0x0") | 
 | cpp_quote("#define ILR_HORIZONTAL_CENTER 0x1") | 
 | cpp_quote("#define ILR_HORIZONTAL_RIGHT 0x2") | 
 | cpp_quote("#define ILR_VERTICAL_TOP 0x0") | 
 | cpp_quote("#define ILR_VERTICAL_CENTER 0x10") | 
 | cpp_quote("#define ILR_VERTICAL_BOTTOM 0x20") | 
 | cpp_quote("#define ILR_SCALE_CLIP               0x0") | 
 | cpp_quote("#define ILR_SCALE_ASPECTRATIO        0x100") | 
 | cpp_quote("") | 
 | cpp_quote("#define ILGOS_ALWAYS 0x0") | 
 | cpp_quote("#define ILGOS_FROMSTANDBY 0x1") | 
 | cpp_quote("") | 
 | cpp_quote("#define ILFIP_ALWAYS 0x0") | 
 | cpp_quote("#define ILFIP_FROMSTANDBY 0x1") | 
 | cpp_quote("") | 
 | cpp_quote("#define ILDI_PURGE 0x1") | 
 | cpp_quote("#define ILDI_STANDBY 0x2") | 
 | cpp_quote("#define ILDI_RESETACCESS 0x4") | 
 | cpp_quote("#define ILDI_QUERYACCESS 0x8") | 
 |  | 
 | cpp_quote("") | 
 | cpp_quote("#if NTDDI_VERSION >= 0x06000000") | 
 | cpp_quote("WINCOMMCTRLAPI HRESULT WINAPI ImageList_CoCreateInstance (REFCLSID rclsid, const IUnknown *punkOuter, REFIID riid, void **ppv);") | 
 | cpp_quote("#endif") | 
 |  | 
 | typedef struct tagIMAGELISTSTATS { | 
 |   DWORD cbSize; | 
 |   int cAlloc; | 
 |   int cUsed; | 
 |   int cStandby; | 
 | } IMAGELISTSTATS; | 
 |  | 
 | [local, uuid (46eb5926-582e-4017-9fdf-E8998DAA0950)] | 
 | interface IImageList : IUnknown { | 
 |   HRESULT Add ([in] HBITMAP hbmImage,[in, unique] HBITMAP hbmMask,[out] int *pi); | 
 |   HRESULT ReplaceIcon (int i,[in] HICON hicon,[out] int *pi); | 
 |   HRESULT SetOverlayImage (int iImage, int iOverlay); | 
 |   HRESULT Replace (int i,[in] HBITMAP hbmImage,[in, unique] HBITMAP hbmMask); | 
 |   HRESULT AddMasked ([in] HBITMAP hbmImage, COLORREF crMask,[out] int *pi); | 
 |   HRESULT Draw ([in] IMAGELISTDRAWPARAMS *pimldp); | 
 |   HRESULT Remove (int i); | 
 |   HRESULT GetIcon (int i, UINT flags,[out] HICON *picon); | 
 |   HRESULT GetImageInfo (int i,[out] IMAGEINFO *pImageInfo); | 
 |   HRESULT Copy (int iDst,[in] IUnknown *punkSrc, int iSrc, UINT uFlags); | 
 |   HRESULT Merge (int i1,[in] IUnknown *punk2, int i2, int dx, int dy, REFIID riid,[out, iid_is (riid)] void **ppv); | 
 |   HRESULT Clone (REFIID riid,[out, iid_is (riid)] void **ppv); | 
 |   HRESULT GetImageRect (int i,[out] RECT *prc); | 
 |   HRESULT GetIconSize ([out] int *cx,[out] int *cy); | 
 |   HRESULT SetIconSize (int cx, int cy); | 
 |   HRESULT GetImageCount ([out] int *pi); | 
 |   HRESULT SetImageCount (UINT uNewCount); | 
 |   HRESULT SetBkColor (COLORREF clrBk,[out] COLORREF *pclr); | 
 |   HRESULT GetBkColor ([out] COLORREF *pclr); | 
 |   HRESULT BeginDrag (int iTrack, int dxHotspot, int dyHotspot); | 
 |   HRESULT EndDrag (); | 
 |   HRESULT DragEnter ([in, unique] HWND hwndLock, int x, int y); | 
 |   HRESULT DragLeave ([in, unique] HWND hwndLock); | 
 |   HRESULT DragMove (int x, int y); | 
 |   HRESULT SetDragCursorImage ([in] IUnknown *punk, int iDrag, int dxHotspot, int dyHotspot); | 
 |   HRESULT DragShowNolock (WINBOOL fShow); | 
 |   HRESULT GetDragImage ([out] POINT *ppt,[out] POINT *pptHotspot, REFIID riid,[out, iid_is (riid)] void **ppv); | 
 |   HRESULT GetItemFlags (int i,[out] DWORD *dwFlags); | 
 |   HRESULT GetOverlayImage (int iOverlay,[out] int *piIndex); | 
 | }; | 
 |  | 
 | [local, uuid (192b9d83-50fc-457b-90a0-2b82a8b5dae1)] | 
 | interface IImageList2 : IImageList { | 
 |   HRESULT Resize (int cxNewIconSize, int cyNewIconSize); | 
 |   HRESULT GetOriginalSize ([in] int iImage,[in] DWORD dwFlags,[out] int *pcx,[out] int *pcy); | 
 |   HRESULT SetOriginalSize ([in] int iImage,[in] int cx,[in] int cy); | 
 |   HRESULT SetCallback ([in, unique] IUnknown *punk); | 
 |   HRESULT GetCallback ([in] REFIID riid,[out, iid_is (riid)] void **ppv); | 
 |   HRESULT ForceImagePresent ([in] int iImage, DWORD dwFlags); | 
 |   HRESULT DiscardImages ([in] int iFirstImage,[in] int iLastImage,[in] DWORD dwFlags); | 
 |   HRESULT PreloadImages ([in] IMAGELISTDRAWPARAMS *pimldp); | 
 |   HRESULT GetStatistics ([in, out] IMAGELISTSTATS *pils); | 
 |   HRESULT Initialize ([in] int cx,[in] int cy,[in] UINT flags,[in] int cInitial,[in] int cGrow); | 
 |   HRESULT Replace2 ([in] int i,[in] HBITMAP hbmImage,[in, unique] HBITMAP hbmMask,[in, unique] IUnknown *punk,[in] DWORD dwFlags); | 
 |   HRESULT ReplaceFromImageList ([in] int i,[in] IImageList *pil,[in] int iSrc,[in, unique] IUnknown *punk,[in] DWORD dwFlags); | 
 | }; | 
 |  | 
 | [uuid (BCADA15B-B428-420c-8d28-023590924c9f)] | 
 | library CommonControlObjects { | 
 |   [uuid (7c476ba2-02b1-48f4-8048-B24619DDC058)] | 
 |   coclass ImageList { | 
 |     interface IImageList; | 
 |     interface IImageList2; | 
 |   } | 
 | }; | 
 | cpp_quote("#endif") |