2 * Common controls v6 interface definitions
4 * Copyright 2009 Owen Rudge for CodeWeavers
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
24 /* Definitions required for widl, but already defined in commctrl.h for C */
26 typedef DWORD RGBQUAD
;
27 typedef IUnknown
* HIMAGELIST
;
38 typedef IMAGEINFO
* LPIMAGEINFO
;
59 } IMAGELISTDRAWPARAMS
;
61 typedef IMAGELISTDRAWPARAMS
* LPIMAGELISTDRAWPARAMS
;
64 cpp_quote
("HRESULT WINAPI ImageList_CoCreateInstance(REFCLSID,const IUnknown *, REFIID,void **);")
66 cpp_quote
("#define ILIF_ALPHA 0x00000001")
67 cpp_quote
("#define ILIF_LOWQUALITY 0x00000002")
70 uuid(46eb5926
-582e-4017-9fdf
-e8998daa0950
),
73 interface IImageList
: IUnknown
76 [in] HBITMAP hbmImage
,
85 HRESULT SetOverlayImage
(
91 [in] HBITMAP hbmImage
,
92 [in] HBITMAP hbmMask
);
95 [in] HBITMAP hbmImage
,
100 [in] IMAGELISTDRAWPARAMS
* pimldp
);
110 HRESULT GetImageInfo
(
112 [out] IMAGEINFO
* pImageInfo
);
116 [in] IUnknown
* punkSrc
,
122 [in] IUnknown
* punk2
,
133 HRESULT GetImageRect
(
145 HRESULT GetImageCount
(
148 HRESULT SetImageCount
(
149 [in] UINT uNewCount
);
153 [out] COLORREF
* pclr
);
156 [out] COLORREF
* pclr
);
177 HRESULT SetDragCursorImage
(
183 HRESULT DragShowNolock
(
186 HRESULT GetDragImage
(
188 [out] POINT
* pptHotspot
,
192 HRESULT GetItemFlags
(
194 [out] DWORD
*dwFlags
);
196 HRESULT GetOverlayImage
(
202 uuid(192b9d83
-50fc
-457b
-90a0
-2b82a8b5dae1
),
205 interface IImageList2
: IImageList
207 typedef struct tagIMAGELISTSTATS
215 HRESULT Resize
(INT x_size
, INT y_size
);
216 HRESULT GetOriginalSize
([in] INT image
, [in] DWORD flags
, [out] INT *cx
, [out] INT *cy
);
217 HRESULT SetOriginalSize
([in] INT image
, [in] INT cx
, [in] INT cy
);
218 HRESULT SetCallback
([in, unique] IUnknown
*callback);
219 HRESULT GetCallback
([in] REFIID riid
, [out, iid_is(riid
)] void** ppv
);
220 HRESULT ForceImagePresent
([in] INT image
, DWORD flags
);
221 HRESULT DiscardImages
([in] INT first_image
, [in] INT last_image
, [in] DWORD flags
);
222 HRESULT PreloadImages
([in] IMAGELISTDRAWPARAMS
*params
);
223 HRESULT GetStatistics
([in, out] IMAGELISTSTATS
*stats
);
224 HRESULT Initialize
([in] INT cx
, [in] INT cy
, [in] UINT flags
, [in] INT initial
, [in] INT grow
);
225 HRESULT Replace2
([in] INT i
, [in] HBITMAP image
, [in, unique] HBITMAP mask
, [in, unique] IUnknown
*unk
, [in] DWORD flags
);
226 HRESULT ReplaceFromImageList
([in] INT i
, [in] IImageList
*imagelist
, [in] INT src
, [in, unique] IUnknown
*unk
, [in] DWORD flags
);
230 uuid(bcada15B
-b428
-420c
-8d28
-023590924c9f
)
232 library CommonControlObjects
235 uuid(7c476ba2
-02b1
-48f4
-8048-b24619ddc058
)
239 interface IImageList
;
240 interface IImageList2
;