blob: fb441a4a4dc69d4a9327f5555b417ad80f744936 [file] [log] [blame]
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")