Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242/* * 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;[ uuid(46eb5926-582e-4017-9fdf-e8998daa0950), 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(192b9d83-50fc-457b-90a0-2b82a8b5dae1), local]interface IImageList2 : IImageList{ typedef struct tagIMAGELISTSTATS { DWORD cbSize; INT cAlloc; INT cUsed; INT cStandby; } IMAGELISTSTATS; HRESULT Resize(INT x_size, INT y_size); HRESULT GetOriginalSize([in] INT image, [in] DWORD flags, [out] INT *cx, [out] INT *cy); HRESULT SetOriginalSize([in] INT image, [in] INT cx, [in] INT cy); HRESULT SetCallback([in, unique] IUnknown *callback); HRESULT GetCallback([in] REFIID riid, [out, iid_is(riid)] void** ppv); HRESULT ForceImagePresent([in] INT image, DWORD flags); HRESULT DiscardImages([in] INT first_image, [in] INT last_image, [in] DWORD flags); HRESULT PreloadImages([in] IMAGELISTDRAWPARAMS *params); HRESULT GetStatistics([in, out] IMAGELISTSTATS *stats); HRESULT Initialize([in] INT cx, [in] INT cy, [in] UINT flags, [in] INT initial, [in] INT grow); HRESULT Replace2([in] INT i, [in] HBITMAP image, [in, unique] HBITMAP mask, [in, unique] IUnknown *unk, [in] DWORD flags); HRESULT ReplaceFromImageList([in] INT i, [in] IImageList *imagelist, [in] INT src, [in, unique] IUnknown *unk, [in] DWORD flags);}[ uuid(bcada15B-b428-420c-8d28-023590924c9f)]library CommonControlObjects{ [ uuid(7c476ba2-02b1-48f4-8048-b24619ddc058) ] coclass ImageList { interface IImageList; interface IImageList2; }}