1 /*** Autogenerated by WIDL 1.6 from include/commoncontrols.idl - Do not edit ***/ 2 3 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 4 #define __REQUIRED_RPCNDR_H_VERSION__ 475 5 #endif 6 7 #include <rpc.h> 8 #include <rpcndr.h> 9 10 #ifndef COM_NO_WINDOWS_H 11 #include <windows.h> 12 #include <ole2.h> 13 #endif 14 15 #ifndef __commoncontrols_h__ 16 #define __commoncontrols_h__ 17 18 /* Forward declarations */ 19 20 #ifndef __IImageList_FWD_DEFINED__ 21 #define __IImageList_FWD_DEFINED__ 22 typedef interface IImageList IImageList; 23 #endif 24 25 #ifndef __IImageList2_FWD_DEFINED__ 26 #define __IImageList2_FWD_DEFINED__ 27 typedef interface IImageList2 IImageList2; 28 #endif 29 30 #ifndef __ImageList_FWD_DEFINED__ 31 #define __ImageList_FWD_DEFINED__ 32 #ifdef __cplusplus 33 typedef class ImageList ImageList; 34 #else 35 typedef struct ImageList ImageList; 36 #endif /* defined __cplusplus */ 37 #endif /* defined __ImageList_FWD_DEFINED__ */ 38 39 /* Headers for imported files */ 40 41 #include <oaidl.h> 42 #include <ocidl.h> 43 44 #ifdef __cplusplus 45 extern "C" { 46 #endif 47 48 /** 49 * This file is part of the mingw-w64 runtime package. 50 * No warranty is given; refer to the file DISCLAIMER within this package. 51 */ 52 #include <winapifamily.h> 53 54 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 55 #ifndef WINCOMMCTRLAPI 56 #ifndef _COMCTL32_ 57 #define WINCOMMCTRLAPI DECLSPEC_IMPORT 58 #else 59 #define WINCOMMCTRLAPI 60 #endif 61 #endif 62 63 #ifdef __WIDL__ 64 typedef DWORD RGBQUAD; 65 typedef IUnknown *HIMAGELIST; 66 typedef struct _IMAGELIST *HIMAGELIST; 67 typedef struct _IMAGELISTDRAWPARAMS { 68 DWORD cbSize; 69 HIMAGELIST himl; 70 int i; 71 HDC hdcDst; 72 int x; 73 int y; 74 int cx; 75 int cy; 76 int xBitmap; 77 int yBitmap; 78 COLORREF rgbBk; 79 COLORREF rgbFg; 80 UINT fStyle; 81 DWORD dwRop; 82 DWORD fState; 83 DWORD Frame; 84 COLORREF crEffect; 85 } IMAGELISTDRAWPARAMS; 86 typedef IMAGELISTDRAWPARAMS *LPIMAGELISTDRAWPARAMS; 87 typedef struct tagIMAGEINFO { 88 HBITMAP hbmImage; 89 HBITMAP hbmMask; 90 int Unused1; 91 int Unused2; 92 RECT rcImage; 93 } IMAGEINFO; 94 typedef IMAGEINFO *LPIMAGEINFO; 95 #endif 96 97 #define ILIF_ALPHA 0x1 98 #define ILIF_LOWQUALITY 0x2 99 100 #define ILDRF_IMAGELOWQUALITY 0x1 101 #define ILDRF_OVERLAYLOWQUALITY 0x10 102 103 #define ILR_DEFAULT 0x0 104 #define ILR_HORIZONTAL_LEFT 0x0 105 #define ILR_HORIZONTAL_CENTER 0x1 106 #define ILR_HORIZONTAL_RIGHT 0x2 107 #define ILR_VERTICAL_TOP 0x0 108 #define ILR_VERTICAL_CENTER 0x10 109 #define ILR_VERTICAL_BOTTOM 0x20 110 #define ILR_SCALE_CLIP 0x0 111 #define ILR_SCALE_ASPECTRATIO 0x100 112 113 #define ILGOS_ALWAYS 0x0 114 #define ILGOS_FROMSTANDBY 0x1 115 116 #define ILFIP_ALWAYS 0x0 117 #define ILFIP_FROMSTANDBY 0x1 118 119 #define ILDI_PURGE 0x1 120 #define ILDI_STANDBY 0x2 121 #define ILDI_RESETACCESS 0x4 122 #define ILDI_QUERYACCESS 0x8 123 124 #if NTDDI_VERSION >= 0x06000000 125 WINCOMMCTRLAPI HRESULT WINAPI ImageList_CoCreateInstance (REFCLSID rclsid, const IUnknown *punkOuter, REFIID riid, void **ppv); 126 #endif 127 typedef struct tagIMAGELISTSTATS { 128 DWORD cbSize; 129 int cAlloc; 130 int cUsed; 131 int cStandby; 132 } IMAGELISTSTATS; 133 /***************************************************************************** 134 * IImageList interface 135 */ 136 #ifndef __IImageList_INTERFACE_DEFINED__ 137 #define __IImageList_INTERFACE_DEFINED__ 138 139 DEFINE_GUID(IID_IImageList, 0x46eb5926, 0x582e, 0x4017, 0x9f,0xdf, 0xe8,0x99,0x8d,0xaa,0x09,0x50); 140 #if defined(__cplusplus) && !defined(CINTERFACE) 141 MIDL_INTERFACE("46eb5926-582e-4017-9fdf-e8998daa0950") 142 IImageList : public IUnknown 143 { 144 virtual HRESULT STDMETHODCALLTYPE Add( 145 HBITMAP hbmImage, 146 HBITMAP hbmMask, 147 int *pi) = 0; 148 149 virtual HRESULT STDMETHODCALLTYPE ReplaceIcon( 150 int i, 151 HICON hicon, 152 int *pi) = 0; 153 154 virtual HRESULT STDMETHODCALLTYPE SetOverlayImage( 155 int iImage, 156 int iOverlay) = 0; 157 158 virtual HRESULT STDMETHODCALLTYPE Replace( 159 int i, 160 HBITMAP hbmImage, 161 HBITMAP hbmMask) = 0; 162 163 virtual HRESULT STDMETHODCALLTYPE AddMasked( 164 HBITMAP hbmImage, 165 COLORREF crMask, 166 int *pi) = 0; 167 168 virtual HRESULT STDMETHODCALLTYPE Draw( 169 IMAGELISTDRAWPARAMS *pimldp) = 0; 170 171 virtual HRESULT STDMETHODCALLTYPE Remove( 172 int i) = 0; 173 174 virtual HRESULT STDMETHODCALLTYPE GetIcon( 175 int i, 176 UINT flags, 177 HICON *picon) = 0; 178 179 virtual HRESULT STDMETHODCALLTYPE GetImageInfo( 180 int i, 181 IMAGEINFO *pImageInfo) = 0; 182 183 virtual HRESULT STDMETHODCALLTYPE Copy( 184 int iDst, 185 IUnknown *punkSrc, 186 int iSrc, 187 UINT uFlags) = 0; 188 189 virtual HRESULT STDMETHODCALLTYPE Merge( 190 int i1, 191 IUnknown *punk2, 192 int i2, 193 int dx, 194 int dy, 195 REFIID riid, 196 void **ppv) = 0; 197 198 virtual HRESULT STDMETHODCALLTYPE Clone( 199 REFIID riid, 200 void **ppv) = 0; 201 202 virtual HRESULT STDMETHODCALLTYPE GetImageRect( 203 int i, 204 RECT *prc) = 0; 205 206 virtual HRESULT STDMETHODCALLTYPE GetIconSize( 207 int *cx, 208 int *cy) = 0; 209 210 virtual HRESULT STDMETHODCALLTYPE SetIconSize( 211 int cx, 212 int cy) = 0; 213 214 virtual HRESULT STDMETHODCALLTYPE GetImageCount( 215 int *pi) = 0; 216 217 virtual HRESULT STDMETHODCALLTYPE SetImageCount( 218 UINT uNewCount) = 0; 219 220 virtual HRESULT STDMETHODCALLTYPE SetBkColor( 221 COLORREF clrBk, 222 COLORREF *pclr) = 0; 223 224 virtual HRESULT STDMETHODCALLTYPE GetBkColor( 225 COLORREF *pclr) = 0; 226 227 virtual HRESULT STDMETHODCALLTYPE BeginDrag( 228 int iTrack, 229 int dxHotspot, 230 int dyHotspot) = 0; 231 232 virtual HRESULT STDMETHODCALLTYPE EndDrag( 233 ) = 0; 234 235 virtual HRESULT STDMETHODCALLTYPE DragEnter( 236 HWND hwndLock, 237 int x, 238 int y) = 0; 239 240 virtual HRESULT STDMETHODCALLTYPE DragLeave( 241 HWND hwndLock) = 0; 242 243 virtual HRESULT STDMETHODCALLTYPE DragMove( 244 int x, 245 int y) = 0; 246 247 virtual HRESULT STDMETHODCALLTYPE SetDragCursorImage( 248 IUnknown *punk, 249 int iDrag, 250 int dxHotspot, 251 int dyHotspot) = 0; 252 253 virtual HRESULT STDMETHODCALLTYPE DragShowNolock( 254 WINBOOL fShow) = 0; 255 256 virtual HRESULT STDMETHODCALLTYPE GetDragImage( 257 POINT *ppt, 258 POINT *pptHotspot, 259 REFIID riid, 260 void **ppv) = 0; 261 262 virtual HRESULT STDMETHODCALLTYPE GetItemFlags( 263 int i, 264 DWORD *dwFlags) = 0; 265 266 virtual HRESULT STDMETHODCALLTYPE GetOverlayImage( 267 int iOverlay, 268 int *piIndex) = 0; 269 270 }; 271 #ifdef __CRT_UUID_DECL 272 __CRT_UUID_DECL(IImageList, 0x46eb5926, 0x582e, 0x4017, 0x9f,0xdf, 0xe8,0x99,0x8d,0xaa,0x09,0x50) 273 #endif 274 #else 275 typedef struct IImageListVtbl { 276 BEGIN_INTERFACE 277 278 /*** IUnknown methods ***/ 279 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 280 IImageList* This, 281 REFIID riid, 282 void **ppvObject); 283 284 ULONG (STDMETHODCALLTYPE *AddRef)( 285 IImageList* This); 286 287 ULONG (STDMETHODCALLTYPE *Release)( 288 IImageList* This); 289 290 /*** IImageList methods ***/ 291 HRESULT (STDMETHODCALLTYPE *Add)( 292 IImageList* This, 293 HBITMAP hbmImage, 294 HBITMAP hbmMask, 295 int *pi); 296 297 HRESULT (STDMETHODCALLTYPE *ReplaceIcon)( 298 IImageList* This, 299 int i, 300 HICON hicon, 301 int *pi); 302 303 HRESULT (STDMETHODCALLTYPE *SetOverlayImage)( 304 IImageList* This, 305 int iImage, 306 int iOverlay); 307 308 HRESULT (STDMETHODCALLTYPE *Replace)( 309 IImageList* This, 310 int i, 311 HBITMAP hbmImage, 312 HBITMAP hbmMask); 313 314 HRESULT (STDMETHODCALLTYPE *AddMasked)( 315 IImageList* This, 316 HBITMAP hbmImage, 317 COLORREF crMask, 318 int *pi); 319 320 HRESULT (STDMETHODCALLTYPE *Draw)( 321 IImageList* This, 322 IMAGELISTDRAWPARAMS *pimldp); 323 324 HRESULT (STDMETHODCALLTYPE *Remove)( 325 IImageList* This, 326 int i); 327 328 HRESULT (STDMETHODCALLTYPE *GetIcon)( 329 IImageList* This, 330 int i, 331 UINT flags, 332 HICON *picon); 333 334 HRESULT (STDMETHODCALLTYPE *GetImageInfo)( 335 IImageList* This, 336 int i, 337 IMAGEINFO *pImageInfo); 338 339 HRESULT (STDMETHODCALLTYPE *Copy)( 340 IImageList* This, 341 int iDst, 342 IUnknown *punkSrc, 343 int iSrc, 344 UINT uFlags); 345 346 HRESULT (STDMETHODCALLTYPE *Merge)( 347 IImageList* This, 348 int i1, 349 IUnknown *punk2, 350 int i2, 351 int dx, 352 int dy, 353 REFIID riid, 354 void **ppv); 355 356 HRESULT (STDMETHODCALLTYPE *Clone)( 357 IImageList* This, 358 REFIID riid, 359 void **ppv); 360 361 HRESULT (STDMETHODCALLTYPE *GetImageRect)( 362 IImageList* This, 363 int i, 364 RECT *prc); 365 366 HRESULT (STDMETHODCALLTYPE *GetIconSize)( 367 IImageList* This, 368 int *cx, 369 int *cy); 370 371 HRESULT (STDMETHODCALLTYPE *SetIconSize)( 372 IImageList* This, 373 int cx, 374 int cy); 375 376 HRESULT (STDMETHODCALLTYPE *GetImageCount)( 377 IImageList* This, 378 int *pi); 379 380 HRESULT (STDMETHODCALLTYPE *SetImageCount)( 381 IImageList* This, 382 UINT uNewCount); 383 384 HRESULT (STDMETHODCALLTYPE *SetBkColor)( 385 IImageList* This, 386 COLORREF clrBk, 387 COLORREF *pclr); 388 389 HRESULT (STDMETHODCALLTYPE *GetBkColor)( 390 IImageList* This, 391 COLORREF *pclr); 392 393 HRESULT (STDMETHODCALLTYPE *BeginDrag)( 394 IImageList* This, 395 int iTrack, 396 int dxHotspot, 397 int dyHotspot); 398 399 HRESULT (STDMETHODCALLTYPE *EndDrag)( 400 IImageList* This); 401 402 HRESULT (STDMETHODCALLTYPE *DragEnter)( 403 IImageList* This, 404 HWND hwndLock, 405 int x, 406 int y); 407 408 HRESULT (STDMETHODCALLTYPE *DragLeave)( 409 IImageList* This, 410 HWND hwndLock); 411 412 HRESULT (STDMETHODCALLTYPE *DragMove)( 413 IImageList* This, 414 int x, 415 int y); 416 417 HRESULT (STDMETHODCALLTYPE *SetDragCursorImage)( 418 IImageList* This, 419 IUnknown *punk, 420 int iDrag, 421 int dxHotspot, 422 int dyHotspot); 423 424 HRESULT (STDMETHODCALLTYPE *DragShowNolock)( 425 IImageList* This, 426 WINBOOL fShow); 427 428 HRESULT (STDMETHODCALLTYPE *GetDragImage)( 429 IImageList* This, 430 POINT *ppt, 431 POINT *pptHotspot, 432 REFIID riid, 433 void **ppv); 434 435 HRESULT (STDMETHODCALLTYPE *GetItemFlags)( 436 IImageList* This, 437 int i, 438 DWORD *dwFlags); 439 440 HRESULT (STDMETHODCALLTYPE *GetOverlayImage)( 441 IImageList* This, 442 int iOverlay, 443 int *piIndex); 444 445 END_INTERFACE 446 } IImageListVtbl; 447 interface IImageList { 448 CONST_VTBL IImageListVtbl* lpVtbl; 449 }; 450 451 #ifdef COBJMACROS 452 #ifndef WIDL_C_INLINE_WRAPPERS 453 /*** IUnknown methods ***/ 454 #define IImageList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 455 #define IImageList_AddRef(This) (This)->lpVtbl->AddRef(This) 456 #define IImageList_Release(This) (This)->lpVtbl->Release(This) 457 /*** IImageList methods ***/ 458 #define IImageList_Add(This,hbmImage,hbmMask,pi) (This)->lpVtbl->Add(This,hbmImage,hbmMask,pi) 459 #define IImageList_ReplaceIcon(This,i,hicon,pi) (This)->lpVtbl->ReplaceIcon(This,i,hicon,pi) 460 #define IImageList_SetOverlayImage(This,iImage,iOverlay) (This)->lpVtbl->SetOverlayImage(This,iImage,iOverlay) 461 #define IImageList_Replace(This,i,hbmImage,hbmMask) (This)->lpVtbl->Replace(This,i,hbmImage,hbmMask) 462 #define IImageList_AddMasked(This,hbmImage,crMask,pi) (This)->lpVtbl->AddMasked(This,hbmImage,crMask,pi) 463 #define IImageList_Draw(This,pimldp) (This)->lpVtbl->Draw(This,pimldp) 464 #define IImageList_Remove(This,i) (This)->lpVtbl->Remove(This,i) 465 #define IImageList_GetIcon(This,i,flags,picon) (This)->lpVtbl->GetIcon(This,i,flags,picon) 466 #define IImageList_GetImageInfo(This,i,pImageInfo) (This)->lpVtbl->GetImageInfo(This,i,pImageInfo) 467 #define IImageList_Copy(This,iDst,punkSrc,iSrc,uFlags) (This)->lpVtbl->Copy(This,iDst,punkSrc,iSrc,uFlags) 468 #define IImageList_Merge(This,i1,punk2,i2,dx,dy,riid,ppv) (This)->lpVtbl->Merge(This,i1,punk2,i2,dx,dy,riid,ppv) 469 #define IImageList_Clone(This,riid,ppv) (This)->lpVtbl->Clone(This,riid,ppv) 470 #define IImageList_GetImageRect(This,i,prc) (This)->lpVtbl->GetImageRect(This,i,prc) 471 #define IImageList_GetIconSize(This,cx,cy) (This)->lpVtbl->GetIconSize(This,cx,cy) 472 #define IImageList_SetIconSize(This,cx,cy) (This)->lpVtbl->SetIconSize(This,cx,cy) 473 #define IImageList_GetImageCount(This,pi) (This)->lpVtbl->GetImageCount(This,pi) 474 #define IImageList_SetImageCount(This,uNewCount) (This)->lpVtbl->SetImageCount(This,uNewCount) 475 #define IImageList_SetBkColor(This,clrBk,pclr) (This)->lpVtbl->SetBkColor(This,clrBk,pclr) 476 #define IImageList_GetBkColor(This,pclr) (This)->lpVtbl->GetBkColor(This,pclr) 477 #define IImageList_BeginDrag(This,iTrack,dxHotspot,dyHotspot) (This)->lpVtbl->BeginDrag(This,iTrack,dxHotspot,dyHotspot) 478 #define IImageList_EndDrag(This) (This)->lpVtbl->EndDrag(This) 479 #define IImageList_DragEnter(This,hwndLock,x,y) (This)->lpVtbl->DragEnter(This,hwndLock,x,y) 480 #define IImageList_DragLeave(This,hwndLock) (This)->lpVtbl->DragLeave(This,hwndLock) 481 #define IImageList_DragMove(This,x,y) (This)->lpVtbl->DragMove(This,x,y) 482 #define IImageList_SetDragCursorImage(This,punk,iDrag,dxHotspot,dyHotspot) (This)->lpVtbl->SetDragCursorImage(This,punk,iDrag,dxHotspot,dyHotspot) 483 #define IImageList_DragShowNolock(This,fShow) (This)->lpVtbl->DragShowNolock(This,fShow) 484 #define IImageList_GetDragImage(This,ppt,pptHotspot,riid,ppv) (This)->lpVtbl->GetDragImage(This,ppt,pptHotspot,riid,ppv) 485 #define IImageList_GetItemFlags(This,i,dwFlags) (This)->lpVtbl->GetItemFlags(This,i,dwFlags) 486 #define IImageList_GetOverlayImage(This,iOverlay,piIndex) (This)->lpVtbl->GetOverlayImage(This,iOverlay,piIndex) 487 #else 488 /*** IUnknown methods ***/ 489 static FORCEINLINE HRESULT IImageList_QueryInterface(IImageList* This,REFIID riid,void **ppvObject) { 490 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 491 } 492 static FORCEINLINE ULONG IImageList_AddRef(IImageList* This) { 493 return This->lpVtbl->AddRef(This); 494 } 495 static FORCEINLINE ULONG IImageList_Release(IImageList* This) { 496 return This->lpVtbl->Release(This); 497 } 498 /*** IImageList methods ***/ 499 static FORCEINLINE HRESULT IImageList_Add(IImageList* This,HBITMAP hbmImage,HBITMAP hbmMask,int *pi) { 500 return This->lpVtbl->Add(This,hbmImage,hbmMask,pi); 501 } 502 static FORCEINLINE HRESULT IImageList_ReplaceIcon(IImageList* This,int i,HICON hicon,int *pi) { 503 return This->lpVtbl->ReplaceIcon(This,i,hicon,pi); 504 } 505 static FORCEINLINE HRESULT IImageList_SetOverlayImage(IImageList* This,int iImage,int iOverlay) { 506 return This->lpVtbl->SetOverlayImage(This,iImage,iOverlay); 507 } 508 static FORCEINLINE HRESULT IImageList_Replace(IImageList* This,int i,HBITMAP hbmImage,HBITMAP hbmMask) { 509 return This->lpVtbl->Replace(This,i,hbmImage,hbmMask); 510 } 511 static FORCEINLINE HRESULT IImageList_AddMasked(IImageList* This,HBITMAP hbmImage,COLORREF crMask,int *pi) { 512 return This->lpVtbl->AddMasked(This,hbmImage,crMask,pi); 513 } 514 static FORCEINLINE HRESULT IImageList_Draw(IImageList* This,IMAGELISTDRAWPARAMS *pimldp) { 515 return This->lpVtbl->Draw(This,pimldp); 516 } 517 static FORCEINLINE HRESULT IImageList_Remove(IImageList* This,int i) { 518 return This->lpVtbl->Remove(This,i); 519 } 520 static FORCEINLINE HRESULT IImageList_GetIcon(IImageList* This,int i,UINT flags,HICON *picon) { 521 return This->lpVtbl->GetIcon(This,i,flags,picon); 522 } 523 static FORCEINLINE HRESULT IImageList_GetImageInfo(IImageList* This,int i,IMAGEINFO *pImageInfo) { 524 return This->lpVtbl->GetImageInfo(This,i,pImageInfo); 525 } 526 static FORCEINLINE HRESULT IImageList_Copy(IImageList* This,int iDst,IUnknown *punkSrc,int iSrc,UINT uFlags) { 527 return This->lpVtbl->Copy(This,iDst,punkSrc,iSrc,uFlags); 528 } 529 static FORCEINLINE HRESULT IImageList_Merge(IImageList* This,int i1,IUnknown *punk2,int i2,int dx,int dy,REFIID riid,void **ppv) { 530 return This->lpVtbl->Merge(This,i1,punk2,i2,dx,dy,riid,ppv); 531 } 532 static FORCEINLINE HRESULT IImageList_Clone(IImageList* This,REFIID riid,void **ppv) { 533 return This->lpVtbl->Clone(This,riid,ppv); 534 } 535 static FORCEINLINE HRESULT IImageList_GetImageRect(IImageList* This,int i,RECT *prc) { 536 return This->lpVtbl->GetImageRect(This,i,prc); 537 } 538 static FORCEINLINE HRESULT IImageList_GetIconSize(IImageList* This,int *cx,int *cy) { 539 return This->lpVtbl->GetIconSize(This,cx,cy); 540 } 541 static FORCEINLINE HRESULT IImageList_SetIconSize(IImageList* This,int cx,int cy) { 542 return This->lpVtbl->SetIconSize(This,cx,cy); 543 } 544 static FORCEINLINE HRESULT IImageList_GetImageCount(IImageList* This,int *pi) { 545 return This->lpVtbl->GetImageCount(This,pi); 546 } 547 static FORCEINLINE HRESULT IImageList_SetImageCount(IImageList* This,UINT uNewCount) { 548 return This->lpVtbl->SetImageCount(This,uNewCount); 549 } 550 static FORCEINLINE HRESULT IImageList_SetBkColor(IImageList* This,COLORREF clrBk,COLORREF *pclr) { 551 return This->lpVtbl->SetBkColor(This,clrBk,pclr); 552 } 553 static FORCEINLINE HRESULT IImageList_GetBkColor(IImageList* This,COLORREF *pclr) { 554 return This->lpVtbl->GetBkColor(This,pclr); 555 } 556 static FORCEINLINE HRESULT IImageList_BeginDrag(IImageList* This,int iTrack,int dxHotspot,int dyHotspot) { 557 return This->lpVtbl->BeginDrag(This,iTrack,dxHotspot,dyHotspot); 558 } 559 static FORCEINLINE HRESULT IImageList_EndDrag(IImageList* This) { 560 return This->lpVtbl->EndDrag(This); 561 } 562 static FORCEINLINE HRESULT IImageList_DragEnter(IImageList* This,HWND hwndLock,int x,int y) { 563 return This->lpVtbl->DragEnter(This,hwndLock,x,y); 564 } 565 static FORCEINLINE HRESULT IImageList_DragLeave(IImageList* This,HWND hwndLock) { 566 return This->lpVtbl->DragLeave(This,hwndLock); 567 } 568 static FORCEINLINE HRESULT IImageList_DragMove(IImageList* This,int x,int y) { 569 return This->lpVtbl->DragMove(This,x,y); 570 } 571 static FORCEINLINE HRESULT IImageList_SetDragCursorImage(IImageList* This,IUnknown *punk,int iDrag,int dxHotspot,int dyHotspot) { 572 return This->lpVtbl->SetDragCursorImage(This,punk,iDrag,dxHotspot,dyHotspot); 573 } 574 static FORCEINLINE HRESULT IImageList_DragShowNolock(IImageList* This,WINBOOL fShow) { 575 return This->lpVtbl->DragShowNolock(This,fShow); 576 } 577 static FORCEINLINE HRESULT IImageList_GetDragImage(IImageList* This,POINT *ppt,POINT *pptHotspot,REFIID riid,void **ppv) { 578 return This->lpVtbl->GetDragImage(This,ppt,pptHotspot,riid,ppv); 579 } 580 static FORCEINLINE HRESULT IImageList_GetItemFlags(IImageList* This,int i,DWORD *dwFlags) { 581 return This->lpVtbl->GetItemFlags(This,i,dwFlags); 582 } 583 static FORCEINLINE HRESULT IImageList_GetOverlayImage(IImageList* This,int iOverlay,int *piIndex) { 584 return This->lpVtbl->GetOverlayImage(This,iOverlay,piIndex); 585 } 586 #endif 587 #endif 588 589 #endif 590 591 HRESULT STDMETHODCALLTYPE IImageList_Add_Proxy( 592 IImageList* This, 593 HBITMAP hbmImage, 594 HBITMAP hbmMask, 595 int *pi); 596 void __RPC_STUB IImageList_Add_Stub( 597 IRpcStubBuffer* This, 598 IRpcChannelBuffer* pRpcChannelBuffer, 599 PRPC_MESSAGE pRpcMessage, 600 DWORD* pdwStubPhase); 601 HRESULT STDMETHODCALLTYPE IImageList_ReplaceIcon_Proxy( 602 IImageList* This, 603 int i, 604 HICON hicon, 605 int *pi); 606 void __RPC_STUB IImageList_ReplaceIcon_Stub( 607 IRpcStubBuffer* This, 608 IRpcChannelBuffer* pRpcChannelBuffer, 609 PRPC_MESSAGE pRpcMessage, 610 DWORD* pdwStubPhase); 611 HRESULT STDMETHODCALLTYPE IImageList_SetOverlayImage_Proxy( 612 IImageList* This, 613 int iImage, 614 int iOverlay); 615 void __RPC_STUB IImageList_SetOverlayImage_Stub( 616 IRpcStubBuffer* This, 617 IRpcChannelBuffer* pRpcChannelBuffer, 618 PRPC_MESSAGE pRpcMessage, 619 DWORD* pdwStubPhase); 620 HRESULT STDMETHODCALLTYPE IImageList_Replace_Proxy( 621 IImageList* This, 622 int i, 623 HBITMAP hbmImage, 624 HBITMAP hbmMask); 625 void __RPC_STUB IImageList_Replace_Stub( 626 IRpcStubBuffer* This, 627 IRpcChannelBuffer* pRpcChannelBuffer, 628 PRPC_MESSAGE pRpcMessage, 629 DWORD* pdwStubPhase); 630 HRESULT STDMETHODCALLTYPE IImageList_AddMasked_Proxy( 631 IImageList* This, 632 HBITMAP hbmImage, 633 COLORREF crMask, 634 int *pi); 635 void __RPC_STUB IImageList_AddMasked_Stub( 636 IRpcStubBuffer* This, 637 IRpcChannelBuffer* pRpcChannelBuffer, 638 PRPC_MESSAGE pRpcMessage, 639 DWORD* pdwStubPhase); 640 HRESULT STDMETHODCALLTYPE IImageList_Draw_Proxy( 641 IImageList* This, 642 IMAGELISTDRAWPARAMS *pimldp); 643 void __RPC_STUB IImageList_Draw_Stub( 644 IRpcStubBuffer* This, 645 IRpcChannelBuffer* pRpcChannelBuffer, 646 PRPC_MESSAGE pRpcMessage, 647 DWORD* pdwStubPhase); 648 HRESULT STDMETHODCALLTYPE IImageList_Remove_Proxy( 649 IImageList* This, 650 int i); 651 void __RPC_STUB IImageList_Remove_Stub( 652 IRpcStubBuffer* This, 653 IRpcChannelBuffer* pRpcChannelBuffer, 654 PRPC_MESSAGE pRpcMessage, 655 DWORD* pdwStubPhase); 656 HRESULT STDMETHODCALLTYPE IImageList_GetIcon_Proxy( 657 IImageList* This, 658 int i, 659 UINT flags, 660 HICON *picon); 661 void __RPC_STUB IImageList_GetIcon_Stub( 662 IRpcStubBuffer* This, 663 IRpcChannelBuffer* pRpcChannelBuffer, 664 PRPC_MESSAGE pRpcMessage, 665 DWORD* pdwStubPhase); 666 HRESULT STDMETHODCALLTYPE IImageList_GetImageInfo_Proxy( 667 IImageList* This, 668 int i, 669 IMAGEINFO *pImageInfo); 670 void __RPC_STUB IImageList_GetImageInfo_Stub( 671 IRpcStubBuffer* This, 672 IRpcChannelBuffer* pRpcChannelBuffer, 673 PRPC_MESSAGE pRpcMessage, 674 DWORD* pdwStubPhase); 675 HRESULT STDMETHODCALLTYPE IImageList_Copy_Proxy( 676 IImageList* This, 677 int iDst, 678 IUnknown *punkSrc, 679 int iSrc, 680 UINT uFlags); 681 void __RPC_STUB IImageList_Copy_Stub( 682 IRpcStubBuffer* This, 683 IRpcChannelBuffer* pRpcChannelBuffer, 684 PRPC_MESSAGE pRpcMessage, 685 DWORD* pdwStubPhase); 686 HRESULT STDMETHODCALLTYPE IImageList_Merge_Proxy( 687 IImageList* This, 688 int i1, 689 IUnknown *punk2, 690 int i2, 691 int dx, 692 int dy, 693 REFIID riid, 694 void **ppv); 695 void __RPC_STUB IImageList_Merge_Stub( 696 IRpcStubBuffer* This, 697 IRpcChannelBuffer* pRpcChannelBuffer, 698 PRPC_MESSAGE pRpcMessage, 699 DWORD* pdwStubPhase); 700 HRESULT STDMETHODCALLTYPE IImageList_Clone_Proxy( 701 IImageList* This, 702 REFIID riid, 703 void **ppv); 704 void __RPC_STUB IImageList_Clone_Stub( 705 IRpcStubBuffer* This, 706 IRpcChannelBuffer* pRpcChannelBuffer, 707 PRPC_MESSAGE pRpcMessage, 708 DWORD* pdwStubPhase); 709 HRESULT STDMETHODCALLTYPE IImageList_GetImageRect_Proxy( 710 IImageList* This, 711 int i, 712 RECT *prc); 713 void __RPC_STUB IImageList_GetImageRect_Stub( 714 IRpcStubBuffer* This, 715 IRpcChannelBuffer* pRpcChannelBuffer, 716 PRPC_MESSAGE pRpcMessage, 717 DWORD* pdwStubPhase); 718 HRESULT STDMETHODCALLTYPE IImageList_GetIconSize_Proxy( 719 IImageList* This, 720 int *cx, 721 int *cy); 722 void __RPC_STUB IImageList_GetIconSize_Stub( 723 IRpcStubBuffer* This, 724 IRpcChannelBuffer* pRpcChannelBuffer, 725 PRPC_MESSAGE pRpcMessage, 726 DWORD* pdwStubPhase); 727 HRESULT STDMETHODCALLTYPE IImageList_SetIconSize_Proxy( 728 IImageList* This, 729 int cx, 730 int cy); 731 void __RPC_STUB IImageList_SetIconSize_Stub( 732 IRpcStubBuffer* This, 733 IRpcChannelBuffer* pRpcChannelBuffer, 734 PRPC_MESSAGE pRpcMessage, 735 DWORD* pdwStubPhase); 736 HRESULT STDMETHODCALLTYPE IImageList_GetImageCount_Proxy( 737 IImageList* This, 738 int *pi); 739 void __RPC_STUB IImageList_GetImageCount_Stub( 740 IRpcStubBuffer* This, 741 IRpcChannelBuffer* pRpcChannelBuffer, 742 PRPC_MESSAGE pRpcMessage, 743 DWORD* pdwStubPhase); 744 HRESULT STDMETHODCALLTYPE IImageList_SetImageCount_Proxy( 745 IImageList* This, 746 UINT uNewCount); 747 void __RPC_STUB IImageList_SetImageCount_Stub( 748 IRpcStubBuffer* This, 749 IRpcChannelBuffer* pRpcChannelBuffer, 750 PRPC_MESSAGE pRpcMessage, 751 DWORD* pdwStubPhase); 752 HRESULT STDMETHODCALLTYPE IImageList_SetBkColor_Proxy( 753 IImageList* This, 754 COLORREF clrBk, 755 COLORREF *pclr); 756 void __RPC_STUB IImageList_SetBkColor_Stub( 757 IRpcStubBuffer* This, 758 IRpcChannelBuffer* pRpcChannelBuffer, 759 PRPC_MESSAGE pRpcMessage, 760 DWORD* pdwStubPhase); 761 HRESULT STDMETHODCALLTYPE IImageList_GetBkColor_Proxy( 762 IImageList* This, 763 COLORREF *pclr); 764 void __RPC_STUB IImageList_GetBkColor_Stub( 765 IRpcStubBuffer* This, 766 IRpcChannelBuffer* pRpcChannelBuffer, 767 PRPC_MESSAGE pRpcMessage, 768 DWORD* pdwStubPhase); 769 HRESULT STDMETHODCALLTYPE IImageList_BeginDrag_Proxy( 770 IImageList* This, 771 int iTrack, 772 int dxHotspot, 773 int dyHotspot); 774 void __RPC_STUB IImageList_BeginDrag_Stub( 775 IRpcStubBuffer* This, 776 IRpcChannelBuffer* pRpcChannelBuffer, 777 PRPC_MESSAGE pRpcMessage, 778 DWORD* pdwStubPhase); 779 HRESULT STDMETHODCALLTYPE IImageList_EndDrag_Proxy( 780 IImageList* This); 781 void __RPC_STUB IImageList_EndDrag_Stub( 782 IRpcStubBuffer* This, 783 IRpcChannelBuffer* pRpcChannelBuffer, 784 PRPC_MESSAGE pRpcMessage, 785 DWORD* pdwStubPhase); 786 HRESULT STDMETHODCALLTYPE IImageList_DragEnter_Proxy( 787 IImageList* This, 788 HWND hwndLock, 789 int x, 790 int y); 791 void __RPC_STUB IImageList_DragEnter_Stub( 792 IRpcStubBuffer* This, 793 IRpcChannelBuffer* pRpcChannelBuffer, 794 PRPC_MESSAGE pRpcMessage, 795 DWORD* pdwStubPhase); 796 HRESULT STDMETHODCALLTYPE IImageList_DragLeave_Proxy( 797 IImageList* This, 798 HWND hwndLock); 799 void __RPC_STUB IImageList_DragLeave_Stub( 800 IRpcStubBuffer* This, 801 IRpcChannelBuffer* pRpcChannelBuffer, 802 PRPC_MESSAGE pRpcMessage, 803 DWORD* pdwStubPhase); 804 HRESULT STDMETHODCALLTYPE IImageList_DragMove_Proxy( 805 IImageList* This, 806 int x, 807 int y); 808 void __RPC_STUB IImageList_DragMove_Stub( 809 IRpcStubBuffer* This, 810 IRpcChannelBuffer* pRpcChannelBuffer, 811 PRPC_MESSAGE pRpcMessage, 812 DWORD* pdwStubPhase); 813 HRESULT STDMETHODCALLTYPE IImageList_SetDragCursorImage_Proxy( 814 IImageList* This, 815 IUnknown *punk, 816 int iDrag, 817 int dxHotspot, 818 int dyHotspot); 819 void __RPC_STUB IImageList_SetDragCursorImage_Stub( 820 IRpcStubBuffer* This, 821 IRpcChannelBuffer* pRpcChannelBuffer, 822 PRPC_MESSAGE pRpcMessage, 823 DWORD* pdwStubPhase); 824 HRESULT STDMETHODCALLTYPE IImageList_DragShowNolock_Proxy( 825 IImageList* This, 826 WINBOOL fShow); 827 void __RPC_STUB IImageList_DragShowNolock_Stub( 828 IRpcStubBuffer* This, 829 IRpcChannelBuffer* pRpcChannelBuffer, 830 PRPC_MESSAGE pRpcMessage, 831 DWORD* pdwStubPhase); 832 HRESULT STDMETHODCALLTYPE IImageList_GetDragImage_Proxy( 833 IImageList* This, 834 POINT *ppt, 835 POINT *pptHotspot, 836 REFIID riid, 837 void **ppv); 838 void __RPC_STUB IImageList_GetDragImage_Stub( 839 IRpcStubBuffer* This, 840 IRpcChannelBuffer* pRpcChannelBuffer, 841 PRPC_MESSAGE pRpcMessage, 842 DWORD* pdwStubPhase); 843 HRESULT STDMETHODCALLTYPE IImageList_GetItemFlags_Proxy( 844 IImageList* This, 845 int i, 846 DWORD *dwFlags); 847 void __RPC_STUB IImageList_GetItemFlags_Stub( 848 IRpcStubBuffer* This, 849 IRpcChannelBuffer* pRpcChannelBuffer, 850 PRPC_MESSAGE pRpcMessage, 851 DWORD* pdwStubPhase); 852 HRESULT STDMETHODCALLTYPE IImageList_GetOverlayImage_Proxy( 853 IImageList* This, 854 int iOverlay, 855 int *piIndex); 856 void __RPC_STUB IImageList_GetOverlayImage_Stub( 857 IRpcStubBuffer* This, 858 IRpcChannelBuffer* pRpcChannelBuffer, 859 PRPC_MESSAGE pRpcMessage, 860 DWORD* pdwStubPhase); 861 862 #endif /* __IImageList_INTERFACE_DEFINED__ */ 863 864 /***************************************************************************** 865 * IImageList2 interface 866 */ 867 #ifndef __IImageList2_INTERFACE_DEFINED__ 868 #define __IImageList2_INTERFACE_DEFINED__ 869 870 DEFINE_GUID(IID_IImageList2, 0x192b9d83, 0x50fc, 0x457b, 0x90,0xa0, 0x2b,0x82,0xa8,0xb5,0xda,0xe1); 871 #if defined(__cplusplus) && !defined(CINTERFACE) 872 MIDL_INTERFACE("192b9d83-50fc-457b-90a0-2b82a8b5dae1") 873 IImageList2 : public IImageList 874 { 875 virtual HRESULT STDMETHODCALLTYPE Resize( 876 int cxNewIconSize, 877 int cyNewIconSize) = 0; 878 879 virtual HRESULT STDMETHODCALLTYPE GetOriginalSize( 880 int iImage, 881 DWORD dwFlags, 882 int *pcx, 883 int *pcy) = 0; 884 885 virtual HRESULT STDMETHODCALLTYPE SetOriginalSize( 886 int iImage, 887 int cx, 888 int cy) = 0; 889 890 virtual HRESULT STDMETHODCALLTYPE SetCallback( 891 IUnknown *punk) = 0; 892 893 virtual HRESULT STDMETHODCALLTYPE GetCallback( 894 REFIID riid, 895 void **ppv) = 0; 896 897 virtual HRESULT STDMETHODCALLTYPE ForceImagePresent( 898 int iImage, 899 DWORD dwFlags) = 0; 900 901 virtual HRESULT STDMETHODCALLTYPE DiscardImages( 902 int iFirstImage, 903 int iLastImage, 904 DWORD dwFlags) = 0; 905 906 virtual HRESULT STDMETHODCALLTYPE PreloadImages( 907 IMAGELISTDRAWPARAMS *pimldp) = 0; 908 909 virtual HRESULT STDMETHODCALLTYPE GetStatistics( 910 IMAGELISTSTATS *pils) = 0; 911 912 virtual HRESULT STDMETHODCALLTYPE Initialize( 913 int cx, 914 int cy, 915 UINT flags, 916 int cInitial, 917 int cGrow) = 0; 918 919 virtual HRESULT STDMETHODCALLTYPE Replace2( 920 int i, 921 HBITMAP hbmImage, 922 HBITMAP hbmMask, 923 IUnknown *punk, 924 DWORD dwFlags) = 0; 925 926 virtual HRESULT STDMETHODCALLTYPE ReplaceFromImageList( 927 int i, 928 IImageList *pil, 929 int iSrc, 930 IUnknown *punk, 931 DWORD dwFlags) = 0; 932 933 }; 934 #ifdef __CRT_UUID_DECL 935 __CRT_UUID_DECL(IImageList2, 0x192b9d83, 0x50fc, 0x457b, 0x90,0xa0, 0x2b,0x82,0xa8,0xb5,0xda,0xe1) 936 #endif 937 #else 938 typedef struct IImageList2Vtbl { 939 BEGIN_INTERFACE 940 941 /*** IUnknown methods ***/ 942 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 943 IImageList2* This, 944 REFIID riid, 945 void **ppvObject); 946 947 ULONG (STDMETHODCALLTYPE *AddRef)( 948 IImageList2* This); 949 950 ULONG (STDMETHODCALLTYPE *Release)( 951 IImageList2* This); 952 953 /*** IImageList methods ***/ 954 HRESULT (STDMETHODCALLTYPE *Add)( 955 IImageList2* This, 956 HBITMAP hbmImage, 957 HBITMAP hbmMask, 958 int *pi); 959 960 HRESULT (STDMETHODCALLTYPE *ReplaceIcon)( 961 IImageList2* This, 962 int i, 963 HICON hicon, 964 int *pi); 965 966 HRESULT (STDMETHODCALLTYPE *SetOverlayImage)( 967 IImageList2* This, 968 int iImage, 969 int iOverlay); 970 971 HRESULT (STDMETHODCALLTYPE *Replace)( 972 IImageList2* This, 973 int i, 974 HBITMAP hbmImage, 975 HBITMAP hbmMask); 976 977 HRESULT (STDMETHODCALLTYPE *AddMasked)( 978 IImageList2* This, 979 HBITMAP hbmImage, 980 COLORREF crMask, 981 int *pi); 982 983 HRESULT (STDMETHODCALLTYPE *Draw)( 984 IImageList2* This, 985 IMAGELISTDRAWPARAMS *pimldp); 986 987 HRESULT (STDMETHODCALLTYPE *Remove)( 988 IImageList2* This, 989 int i); 990 991 HRESULT (STDMETHODCALLTYPE *GetIcon)( 992 IImageList2* This, 993 int i, 994 UINT flags, 995 HICON *picon); 996 997 HRESULT (STDMETHODCALLTYPE *GetImageInfo)( 998 IImageList2* This, 999 int i, 1000 IMAGEINFO *pImageInfo); 1001 1002 HRESULT (STDMETHODCALLTYPE *Copy)( 1003 IImageList2* This, 1004 int iDst, 1005 IUnknown *punkSrc, 1006 int iSrc, 1007 UINT uFlags); 1008 1009 HRESULT (STDMETHODCALLTYPE *Merge)( 1010 IImageList2* This, 1011 int i1, 1012 IUnknown *punk2, 1013 int i2, 1014 int dx, 1015 int dy, 1016 REFIID riid, 1017 void **ppv); 1018 1019 HRESULT (STDMETHODCALLTYPE *Clone)( 1020 IImageList2* This, 1021 REFIID riid, 1022 void **ppv); 1023 1024 HRESULT (STDMETHODCALLTYPE *GetImageRect)( 1025 IImageList2* This, 1026 int i, 1027 RECT *prc); 1028 1029 HRESULT (STDMETHODCALLTYPE *GetIconSize)( 1030 IImageList2* This, 1031 int *cx, 1032 int *cy); 1033 1034 HRESULT (STDMETHODCALLTYPE *SetIconSize)( 1035 IImageList2* This, 1036 int cx, 1037 int cy); 1038 1039 HRESULT (STDMETHODCALLTYPE *GetImageCount)( 1040 IImageList2* This, 1041 int *pi); 1042 1043 HRESULT (STDMETHODCALLTYPE *SetImageCount)( 1044 IImageList2* This, 1045 UINT uNewCount); 1046 1047 HRESULT (STDMETHODCALLTYPE *SetBkColor)( 1048 IImageList2* This, 1049 COLORREF clrBk, 1050 COLORREF *pclr); 1051 1052 HRESULT (STDMETHODCALLTYPE *GetBkColor)( 1053 IImageList2* This, 1054 COLORREF *pclr); 1055 1056 HRESULT (STDMETHODCALLTYPE *BeginDrag)( 1057 IImageList2* This, 1058 int iTrack, 1059 int dxHotspot, 1060 int dyHotspot); 1061 1062 HRESULT (STDMETHODCALLTYPE *EndDrag)( 1063 IImageList2* This); 1064 1065 HRESULT (STDMETHODCALLTYPE *DragEnter)( 1066 IImageList2* This, 1067 HWND hwndLock, 1068 int x, 1069 int y); 1070 1071 HRESULT (STDMETHODCALLTYPE *DragLeave)( 1072 IImageList2* This, 1073 HWND hwndLock); 1074 1075 HRESULT (STDMETHODCALLTYPE *DragMove)( 1076 IImageList2* This, 1077 int x, 1078 int y); 1079 1080 HRESULT (STDMETHODCALLTYPE *SetDragCursorImage)( 1081 IImageList2* This, 1082 IUnknown *punk, 1083 int iDrag, 1084 int dxHotspot, 1085 int dyHotspot); 1086 1087 HRESULT (STDMETHODCALLTYPE *DragShowNolock)( 1088 IImageList2* This, 1089 WINBOOL fShow); 1090 1091 HRESULT (STDMETHODCALLTYPE *GetDragImage)( 1092 IImageList2* This, 1093 POINT *ppt, 1094 POINT *pptHotspot, 1095 REFIID riid, 1096 void **ppv); 1097 1098 HRESULT (STDMETHODCALLTYPE *GetItemFlags)( 1099 IImageList2* This, 1100 int i, 1101 DWORD *dwFlags); 1102 1103 HRESULT (STDMETHODCALLTYPE *GetOverlayImage)( 1104 IImageList2* This, 1105 int iOverlay, 1106 int *piIndex); 1107 1108 /*** IImageList2 methods ***/ 1109 HRESULT (STDMETHODCALLTYPE *Resize)( 1110 IImageList2* This, 1111 int cxNewIconSize, 1112 int cyNewIconSize); 1113 1114 HRESULT (STDMETHODCALLTYPE *GetOriginalSize)( 1115 IImageList2* This, 1116 int iImage, 1117 DWORD dwFlags, 1118 int *pcx, 1119 int *pcy); 1120 1121 HRESULT (STDMETHODCALLTYPE *SetOriginalSize)( 1122 IImageList2* This, 1123 int iImage, 1124 int cx, 1125 int cy); 1126 1127 HRESULT (STDMETHODCALLTYPE *SetCallback)( 1128 IImageList2* This, 1129 IUnknown *punk); 1130 1131 HRESULT (STDMETHODCALLTYPE *GetCallback)( 1132 IImageList2* This, 1133 REFIID riid, 1134 void **ppv); 1135 1136 HRESULT (STDMETHODCALLTYPE *ForceImagePresent)( 1137 IImageList2* This, 1138 int iImage, 1139 DWORD dwFlags); 1140 1141 HRESULT (STDMETHODCALLTYPE *DiscardImages)( 1142 IImageList2* This, 1143 int iFirstImage, 1144 int iLastImage, 1145 DWORD dwFlags); 1146 1147 HRESULT (STDMETHODCALLTYPE *PreloadImages)( 1148 IImageList2* This, 1149 IMAGELISTDRAWPARAMS *pimldp); 1150 1151 HRESULT (STDMETHODCALLTYPE *GetStatistics)( 1152 IImageList2* This, 1153 IMAGELISTSTATS *pils); 1154 1155 HRESULT (STDMETHODCALLTYPE *Initialize)( 1156 IImageList2* This, 1157 int cx, 1158 int cy, 1159 UINT flags, 1160 int cInitial, 1161 int cGrow); 1162 1163 HRESULT (STDMETHODCALLTYPE *Replace2)( 1164 IImageList2* This, 1165 int i, 1166 HBITMAP hbmImage, 1167 HBITMAP hbmMask, 1168 IUnknown *punk, 1169 DWORD dwFlags); 1170 1171 HRESULT (STDMETHODCALLTYPE *ReplaceFromImageList)( 1172 IImageList2* This, 1173 int i, 1174 IImageList *pil, 1175 int iSrc, 1176 IUnknown *punk, 1177 DWORD dwFlags); 1178 1179 END_INTERFACE 1180 } IImageList2Vtbl; 1181 interface IImageList2 { 1182 CONST_VTBL IImageList2Vtbl* lpVtbl; 1183 }; 1184 1185 #ifdef COBJMACROS 1186 #ifndef WIDL_C_INLINE_WRAPPERS 1187 /*** IUnknown methods ***/ 1188 #define IImageList2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1189 #define IImageList2_AddRef(This) (This)->lpVtbl->AddRef(This) 1190 #define IImageList2_Release(This) (This)->lpVtbl->Release(This) 1191 /*** IImageList methods ***/ 1192 #define IImageList2_Add(This,hbmImage,hbmMask,pi) (This)->lpVtbl->Add(This,hbmImage,hbmMask,pi) 1193 #define IImageList2_ReplaceIcon(This,i,hicon,pi) (This)->lpVtbl->ReplaceIcon(This,i,hicon,pi) 1194 #define IImageList2_SetOverlayImage(This,iImage,iOverlay) (This)->lpVtbl->SetOverlayImage(This,iImage,iOverlay) 1195 #define IImageList2_Replace(This,i,hbmImage,hbmMask) (This)->lpVtbl->Replace(This,i,hbmImage,hbmMask) 1196 #define IImageList2_AddMasked(This,hbmImage,crMask,pi) (This)->lpVtbl->AddMasked(This,hbmImage,crMask,pi) 1197 #define IImageList2_Draw(This,pimldp) (This)->lpVtbl->Draw(This,pimldp) 1198 #define IImageList2_Remove(This,i) (This)->lpVtbl->Remove(This,i) 1199 #define IImageList2_GetIcon(This,i,flags,picon) (This)->lpVtbl->GetIcon(This,i,flags,picon) 1200 #define IImageList2_GetImageInfo(This,i,pImageInfo) (This)->lpVtbl->GetImageInfo(This,i,pImageInfo) 1201 #define IImageList2_Copy(This,iDst,punkSrc,iSrc,uFlags) (This)->lpVtbl->Copy(This,iDst,punkSrc,iSrc,uFlags) 1202 #define IImageList2_Merge(This,i1,punk2,i2,dx,dy,riid,ppv) (This)->lpVtbl->Merge(This,i1,punk2,i2,dx,dy,riid,ppv) 1203 #define IImageList2_Clone(This,riid,ppv) (This)->lpVtbl->Clone(This,riid,ppv) 1204 #define IImageList2_GetImageRect(This,i,prc) (This)->lpVtbl->GetImageRect(This,i,prc) 1205 #define IImageList2_GetIconSize(This,cx,cy) (This)->lpVtbl->GetIconSize(This,cx,cy) 1206 #define IImageList2_SetIconSize(This,cx,cy) (This)->lpVtbl->SetIconSize(This,cx,cy) 1207 #define IImageList2_GetImageCount(This,pi) (This)->lpVtbl->GetImageCount(This,pi) 1208 #define IImageList2_SetImageCount(This,uNewCount) (This)->lpVtbl->SetImageCount(This,uNewCount) 1209 #define IImageList2_SetBkColor(This,clrBk,pclr) (This)->lpVtbl->SetBkColor(This,clrBk,pclr) 1210 #define IImageList2_GetBkColor(This,pclr) (This)->lpVtbl->GetBkColor(This,pclr) 1211 #define IImageList2_BeginDrag(This,iTrack,dxHotspot,dyHotspot) (This)->lpVtbl->BeginDrag(This,iTrack,dxHotspot,dyHotspot) 1212 #define IImageList2_EndDrag(This) (This)->lpVtbl->EndDrag(This) 1213 #define IImageList2_DragEnter(This,hwndLock,x,y) (This)->lpVtbl->DragEnter(This,hwndLock,x,y) 1214 #define IImageList2_DragLeave(This,hwndLock) (This)->lpVtbl->DragLeave(This,hwndLock) 1215 #define IImageList2_DragMove(This,x,y) (This)->lpVtbl->DragMove(This,x,y) 1216 #define IImageList2_SetDragCursorImage(This,punk,iDrag,dxHotspot,dyHotspot) (This)->lpVtbl->SetDragCursorImage(This,punk,iDrag,dxHotspot,dyHotspot) 1217 #define IImageList2_DragShowNolock(This,fShow) (This)->lpVtbl->DragShowNolock(This,fShow) 1218 #define IImageList2_GetDragImage(This,ppt,pptHotspot,riid,ppv) (This)->lpVtbl->GetDragImage(This,ppt,pptHotspot,riid,ppv) 1219 #define IImageList2_GetItemFlags(This,i,dwFlags) (This)->lpVtbl->GetItemFlags(This,i,dwFlags) 1220 #define IImageList2_GetOverlayImage(This,iOverlay,piIndex) (This)->lpVtbl->GetOverlayImage(This,iOverlay,piIndex) 1221 /*** IImageList2 methods ***/ 1222 #define IImageList2_Resize(This,cxNewIconSize,cyNewIconSize) (This)->lpVtbl->Resize(This,cxNewIconSize,cyNewIconSize) 1223 #define IImageList2_GetOriginalSize(This,iImage,dwFlags,pcx,pcy) (This)->lpVtbl->GetOriginalSize(This,iImage,dwFlags,pcx,pcy) 1224 #define IImageList2_SetOriginalSize(This,iImage,cx,cy) (This)->lpVtbl->SetOriginalSize(This,iImage,cx,cy) 1225 #define IImageList2_SetCallback(This,punk) (This)->lpVtbl->SetCallback(This,punk) 1226 #define IImageList2_GetCallback(This,riid,ppv) (This)->lpVtbl->GetCallback(This,riid,ppv) 1227 #define IImageList2_ForceImagePresent(This,iImage,dwFlags) (This)->lpVtbl->ForceImagePresent(This,iImage,dwFlags) 1228 #define IImageList2_DiscardImages(This,iFirstImage,iLastImage,dwFlags) (This)->lpVtbl->DiscardImages(This,iFirstImage,iLastImage,dwFlags) 1229 #define IImageList2_PreloadImages(This,pimldp) (This)->lpVtbl->PreloadImages(This,pimldp) 1230 #define IImageList2_GetStatistics(This,pils) (This)->lpVtbl->GetStatistics(This,pils) 1231 #define IImageList2_Initialize(This,cx,cy,flags,cInitial,cGrow) (This)->lpVtbl->Initialize(This,cx,cy,flags,cInitial,cGrow) 1232 #define IImageList2_Replace2(This,i,hbmImage,hbmMask,punk,dwFlags) (This)->lpVtbl->Replace2(This,i,hbmImage,hbmMask,punk,dwFlags) 1233 #define IImageList2_ReplaceFromImageList(This,i,pil,iSrc,punk,dwFlags) (This)->lpVtbl->ReplaceFromImageList(This,i,pil,iSrc,punk,dwFlags) 1234 #else 1235 /*** IUnknown methods ***/ 1236 static FORCEINLINE HRESULT IImageList2_QueryInterface(IImageList2* This,REFIID riid,void **ppvObject) { 1237 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1238 } 1239 static FORCEINLINE ULONG IImageList2_AddRef(IImageList2* This) { 1240 return This->lpVtbl->AddRef(This); 1241 } 1242 static FORCEINLINE ULONG IImageList2_Release(IImageList2* This) { 1243 return This->lpVtbl->Release(This); 1244 } 1245 /*** IImageList methods ***/ 1246 static FORCEINLINE HRESULT IImageList2_Add(IImageList2* This,HBITMAP hbmImage,HBITMAP hbmMask,int *pi) { 1247 return This->lpVtbl->Add(This,hbmImage,hbmMask,pi); 1248 } 1249 static FORCEINLINE HRESULT IImageList2_ReplaceIcon(IImageList2* This,int i,HICON hicon,int *pi) { 1250 return This->lpVtbl->ReplaceIcon(This,i,hicon,pi); 1251 } 1252 static FORCEINLINE HRESULT IImageList2_SetOverlayImage(IImageList2* This,int iImage,int iOverlay) { 1253 return This->lpVtbl->SetOverlayImage(This,iImage,iOverlay); 1254 } 1255 static FORCEINLINE HRESULT IImageList2_Replace(IImageList2* This,int i,HBITMAP hbmImage,HBITMAP hbmMask) { 1256 return This->lpVtbl->Replace(This,i,hbmImage,hbmMask); 1257 } 1258 static FORCEINLINE HRESULT IImageList2_AddMasked(IImageList2* This,HBITMAP hbmImage,COLORREF crMask,int *pi) { 1259 return This->lpVtbl->AddMasked(This,hbmImage,crMask,pi); 1260 } 1261 static FORCEINLINE HRESULT IImageList2_Draw(IImageList2* This,IMAGELISTDRAWPARAMS *pimldp) { 1262 return This->lpVtbl->Draw(This,pimldp); 1263 } 1264 static FORCEINLINE HRESULT IImageList2_Remove(IImageList2* This,int i) { 1265 return This->lpVtbl->Remove(This,i); 1266 } 1267 static FORCEINLINE HRESULT IImageList2_GetIcon(IImageList2* This,int i,UINT flags,HICON *picon) { 1268 return This->lpVtbl->GetIcon(This,i,flags,picon); 1269 } 1270 static FORCEINLINE HRESULT IImageList2_GetImageInfo(IImageList2* This,int i,IMAGEINFO *pImageInfo) { 1271 return This->lpVtbl->GetImageInfo(This,i,pImageInfo); 1272 } 1273 static FORCEINLINE HRESULT IImageList2_Copy(IImageList2* This,int iDst,IUnknown *punkSrc,int iSrc,UINT uFlags) { 1274 return This->lpVtbl->Copy(This,iDst,punkSrc,iSrc,uFlags); 1275 } 1276 static FORCEINLINE HRESULT IImageList2_Merge(IImageList2* This,int i1,IUnknown *punk2,int i2,int dx,int dy,REFIID riid,void **ppv) { 1277 return This->lpVtbl->Merge(This,i1,punk2,i2,dx,dy,riid,ppv); 1278 } 1279 static FORCEINLINE HRESULT IImageList2_Clone(IImageList2* This,REFIID riid,void **ppv) { 1280 return This->lpVtbl->Clone(This,riid,ppv); 1281 } 1282 static FORCEINLINE HRESULT IImageList2_GetImageRect(IImageList2* This,int i,RECT *prc) { 1283 return This->lpVtbl->GetImageRect(This,i,prc); 1284 } 1285 static FORCEINLINE HRESULT IImageList2_GetIconSize(IImageList2* This,int *cx,int *cy) { 1286 return This->lpVtbl->GetIconSize(This,cx,cy); 1287 } 1288 static FORCEINLINE HRESULT IImageList2_SetIconSize(IImageList2* This,int cx,int cy) { 1289 return This->lpVtbl->SetIconSize(This,cx,cy); 1290 } 1291 static FORCEINLINE HRESULT IImageList2_GetImageCount(IImageList2* This,int *pi) { 1292 return This->lpVtbl->GetImageCount(This,pi); 1293 } 1294 static FORCEINLINE HRESULT IImageList2_SetImageCount(IImageList2* This,UINT uNewCount) { 1295 return This->lpVtbl->SetImageCount(This,uNewCount); 1296 } 1297 static FORCEINLINE HRESULT IImageList2_SetBkColor(IImageList2* This,COLORREF clrBk,COLORREF *pclr) { 1298 return This->lpVtbl->SetBkColor(This,clrBk,pclr); 1299 } 1300 static FORCEINLINE HRESULT IImageList2_GetBkColor(IImageList2* This,COLORREF *pclr) { 1301 return This->lpVtbl->GetBkColor(This,pclr); 1302 } 1303 static FORCEINLINE HRESULT IImageList2_BeginDrag(IImageList2* This,int iTrack,int dxHotspot,int dyHotspot) { 1304 return This->lpVtbl->BeginDrag(This,iTrack,dxHotspot,dyHotspot); 1305 } 1306 static FORCEINLINE HRESULT IImageList2_EndDrag(IImageList2* This) { 1307 return This->lpVtbl->EndDrag(This); 1308 } 1309 static FORCEINLINE HRESULT IImageList2_DragEnter(IImageList2* This,HWND hwndLock,int x,int y) { 1310 return This->lpVtbl->DragEnter(This,hwndLock,x,y); 1311 } 1312 static FORCEINLINE HRESULT IImageList2_DragLeave(IImageList2* This,HWND hwndLock) { 1313 return This->lpVtbl->DragLeave(This,hwndLock); 1314 } 1315 static FORCEINLINE HRESULT IImageList2_DragMove(IImageList2* This,int x,int y) { 1316 return This->lpVtbl->DragMove(This,x,y); 1317 } 1318 static FORCEINLINE HRESULT IImageList2_SetDragCursorImage(IImageList2* This,IUnknown *punk,int iDrag,int dxHotspot,int dyHotspot) { 1319 return This->lpVtbl->SetDragCursorImage(This,punk,iDrag,dxHotspot,dyHotspot); 1320 } 1321 static FORCEINLINE HRESULT IImageList2_DragShowNolock(IImageList2* This,WINBOOL fShow) { 1322 return This->lpVtbl->DragShowNolock(This,fShow); 1323 } 1324 static FORCEINLINE HRESULT IImageList2_GetDragImage(IImageList2* This,POINT *ppt,POINT *pptHotspot,REFIID riid,void **ppv) { 1325 return This->lpVtbl->GetDragImage(This,ppt,pptHotspot,riid,ppv); 1326 } 1327 static FORCEINLINE HRESULT IImageList2_GetItemFlags(IImageList2* This,int i,DWORD *dwFlags) { 1328 return This->lpVtbl->GetItemFlags(This,i,dwFlags); 1329 } 1330 static FORCEINLINE HRESULT IImageList2_GetOverlayImage(IImageList2* This,int iOverlay,int *piIndex) { 1331 return This->lpVtbl->GetOverlayImage(This,iOverlay,piIndex); 1332 } 1333 /*** IImageList2 methods ***/ 1334 static FORCEINLINE HRESULT IImageList2_Resize(IImageList2* This,int cxNewIconSize,int cyNewIconSize) { 1335 return This->lpVtbl->Resize(This,cxNewIconSize,cyNewIconSize); 1336 } 1337 static FORCEINLINE HRESULT IImageList2_GetOriginalSize(IImageList2* This,int iImage,DWORD dwFlags,int *pcx,int *pcy) { 1338 return This->lpVtbl->GetOriginalSize(This,iImage,dwFlags,pcx,pcy); 1339 } 1340 static FORCEINLINE HRESULT IImageList2_SetOriginalSize(IImageList2* This,int iImage,int cx,int cy) { 1341 return This->lpVtbl->SetOriginalSize(This,iImage,cx,cy); 1342 } 1343 static FORCEINLINE HRESULT IImageList2_SetCallback(IImageList2* This,IUnknown *punk) { 1344 return This->lpVtbl->SetCallback(This,punk); 1345 } 1346 static FORCEINLINE HRESULT IImageList2_GetCallback(IImageList2* This,REFIID riid,void **ppv) { 1347 return This->lpVtbl->GetCallback(This,riid,ppv); 1348 } 1349 static FORCEINLINE HRESULT IImageList2_ForceImagePresent(IImageList2* This,int iImage,DWORD dwFlags) { 1350 return This->lpVtbl->ForceImagePresent(This,iImage,dwFlags); 1351 } 1352 static FORCEINLINE HRESULT IImageList2_DiscardImages(IImageList2* This,int iFirstImage,int iLastImage,DWORD dwFlags) { 1353 return This->lpVtbl->DiscardImages(This,iFirstImage,iLastImage,dwFlags); 1354 } 1355 static FORCEINLINE HRESULT IImageList2_PreloadImages(IImageList2* This,IMAGELISTDRAWPARAMS *pimldp) { 1356 return This->lpVtbl->PreloadImages(This,pimldp); 1357 } 1358 static FORCEINLINE HRESULT IImageList2_GetStatistics(IImageList2* This,IMAGELISTSTATS *pils) { 1359 return This->lpVtbl->GetStatistics(This,pils); 1360 } 1361 static FORCEINLINE HRESULT IImageList2_Initialize(IImageList2* This,int cx,int cy,UINT flags,int cInitial,int cGrow) { 1362 return This->lpVtbl->Initialize(This,cx,cy,flags,cInitial,cGrow); 1363 } 1364 static FORCEINLINE HRESULT IImageList2_Replace2(IImageList2* This,int i,HBITMAP hbmImage,HBITMAP hbmMask,IUnknown *punk,DWORD dwFlags) { 1365 return This->lpVtbl->Replace2(This,i,hbmImage,hbmMask,punk,dwFlags); 1366 } 1367 static FORCEINLINE HRESULT IImageList2_ReplaceFromImageList(IImageList2* This,int i,IImageList *pil,int iSrc,IUnknown *punk,DWORD dwFlags) { 1368 return This->lpVtbl->ReplaceFromImageList(This,i,pil,iSrc,punk,dwFlags); 1369 } 1370 #endif 1371 #endif 1372 1373 #endif 1374 1375 HRESULT STDMETHODCALLTYPE IImageList2_Resize_Proxy( 1376 IImageList2* This, 1377 int cxNewIconSize, 1378 int cyNewIconSize); 1379 void __RPC_STUB IImageList2_Resize_Stub( 1380 IRpcStubBuffer* This, 1381 IRpcChannelBuffer* pRpcChannelBuffer, 1382 PRPC_MESSAGE pRpcMessage, 1383 DWORD* pdwStubPhase); 1384 HRESULT STDMETHODCALLTYPE IImageList2_GetOriginalSize_Proxy( 1385 IImageList2* This, 1386 int iImage, 1387 DWORD dwFlags, 1388 int *pcx, 1389 int *pcy); 1390 void __RPC_STUB IImageList2_GetOriginalSize_Stub( 1391 IRpcStubBuffer* This, 1392 IRpcChannelBuffer* pRpcChannelBuffer, 1393 PRPC_MESSAGE pRpcMessage, 1394 DWORD* pdwStubPhase); 1395 HRESULT STDMETHODCALLTYPE IImageList2_SetOriginalSize_Proxy( 1396 IImageList2* This, 1397 int iImage, 1398 int cx, 1399 int cy); 1400 void __RPC_STUB IImageList2_SetOriginalSize_Stub( 1401 IRpcStubBuffer* This, 1402 IRpcChannelBuffer* pRpcChannelBuffer, 1403 PRPC_MESSAGE pRpcMessage, 1404 DWORD* pdwStubPhase); 1405 HRESULT STDMETHODCALLTYPE IImageList2_SetCallback_Proxy( 1406 IImageList2* This, 1407 IUnknown *punk); 1408 void __RPC_STUB IImageList2_SetCallback_Stub( 1409 IRpcStubBuffer* This, 1410 IRpcChannelBuffer* pRpcChannelBuffer, 1411 PRPC_MESSAGE pRpcMessage, 1412 DWORD* pdwStubPhase); 1413 HRESULT STDMETHODCALLTYPE IImageList2_GetCallback_Proxy( 1414 IImageList2* This, 1415 REFIID riid, 1416 void **ppv); 1417 void __RPC_STUB IImageList2_GetCallback_Stub( 1418 IRpcStubBuffer* This, 1419 IRpcChannelBuffer* pRpcChannelBuffer, 1420 PRPC_MESSAGE pRpcMessage, 1421 DWORD* pdwStubPhase); 1422 HRESULT STDMETHODCALLTYPE IImageList2_ForceImagePresent_Proxy( 1423 IImageList2* This, 1424 int iImage, 1425 DWORD dwFlags); 1426 void __RPC_STUB IImageList2_ForceImagePresent_Stub( 1427 IRpcStubBuffer* This, 1428 IRpcChannelBuffer* pRpcChannelBuffer, 1429 PRPC_MESSAGE pRpcMessage, 1430 DWORD* pdwStubPhase); 1431 HRESULT STDMETHODCALLTYPE IImageList2_DiscardImages_Proxy( 1432 IImageList2* This, 1433 int iFirstImage, 1434 int iLastImage, 1435 DWORD dwFlags); 1436 void __RPC_STUB IImageList2_DiscardImages_Stub( 1437 IRpcStubBuffer* This, 1438 IRpcChannelBuffer* pRpcChannelBuffer, 1439 PRPC_MESSAGE pRpcMessage, 1440 DWORD* pdwStubPhase); 1441 HRESULT STDMETHODCALLTYPE IImageList2_PreloadImages_Proxy( 1442 IImageList2* This, 1443 IMAGELISTDRAWPARAMS *pimldp); 1444 void __RPC_STUB IImageList2_PreloadImages_Stub( 1445 IRpcStubBuffer* This, 1446 IRpcChannelBuffer* pRpcChannelBuffer, 1447 PRPC_MESSAGE pRpcMessage, 1448 DWORD* pdwStubPhase); 1449 HRESULT STDMETHODCALLTYPE IImageList2_GetStatistics_Proxy( 1450 IImageList2* This, 1451 IMAGELISTSTATS *pils); 1452 void __RPC_STUB IImageList2_GetStatistics_Stub( 1453 IRpcStubBuffer* This, 1454 IRpcChannelBuffer* pRpcChannelBuffer, 1455 PRPC_MESSAGE pRpcMessage, 1456 DWORD* pdwStubPhase); 1457 HRESULT STDMETHODCALLTYPE IImageList2_Initialize_Proxy( 1458 IImageList2* This, 1459 int cx, 1460 int cy, 1461 UINT flags, 1462 int cInitial, 1463 int cGrow); 1464 void __RPC_STUB IImageList2_Initialize_Stub( 1465 IRpcStubBuffer* This, 1466 IRpcChannelBuffer* pRpcChannelBuffer, 1467 PRPC_MESSAGE pRpcMessage, 1468 DWORD* pdwStubPhase); 1469 HRESULT STDMETHODCALLTYPE IImageList2_Replace2_Proxy( 1470 IImageList2* This, 1471 int i, 1472 HBITMAP hbmImage, 1473 HBITMAP hbmMask, 1474 IUnknown *punk, 1475 DWORD dwFlags); 1476 void __RPC_STUB IImageList2_Replace2_Stub( 1477 IRpcStubBuffer* This, 1478 IRpcChannelBuffer* pRpcChannelBuffer, 1479 PRPC_MESSAGE pRpcMessage, 1480 DWORD* pdwStubPhase); 1481 HRESULT STDMETHODCALLTYPE IImageList2_ReplaceFromImageList_Proxy( 1482 IImageList2* This, 1483 int i, 1484 IImageList *pil, 1485 int iSrc, 1486 IUnknown *punk, 1487 DWORD dwFlags); 1488 void __RPC_STUB IImageList2_ReplaceFromImageList_Stub( 1489 IRpcStubBuffer* This, 1490 IRpcChannelBuffer* pRpcChannelBuffer, 1491 PRPC_MESSAGE pRpcMessage, 1492 DWORD* pdwStubPhase); 1493 1494 #endif /* __IImageList2_INTERFACE_DEFINED__ */ 1495 1496 1497 DEFINE_GUID(LIBID_CommonControlObjects, 0xbcada15b, 0xb428, 0x420c, 0x8d,0x28, 0x02,0x35,0x90,0x92,0x4c,0x9f); 1498 1499 /***************************************************************************** 1500 * ImageList coclass 1501 */ 1502 1503 DEFINE_GUID(CLSID_ImageList, 0x7c476ba2, 0x02b1, 0x48f4, 0x80,0x48, 0xb2,0x46,0x19,0xdd,0xc0,0x58); 1504 1505 #ifdef __cplusplus 1506 class DECLSPEC_UUID("7c476ba2-02b1-48f4-8048-b24619ddc058") ImageList; 1507 #ifdef __CRT_UUID_DECL 1508 __CRT_UUID_DECL(ImageList, 0x7c476ba2, 0x02b1, 0x48f4, 0x80,0x48, 0xb2,0x46,0x19,0xdd,0xc0,0x58) 1509 #endif 1510 #endif 1511 1512 #endif 1513 /* Begin additional prototypes for all interfaces */ 1514 1515 1516 /* End additional prototypes */ 1517 1518 #ifdef __cplusplus 1519 } 1520 #endif 1521 1522 #endif /* __commoncontrols_h__ */ 1523