Owen Rudge : comctl32: Implement GetImageRect, Get/SetIconSize, Get/ SetBkColor.

Alexandre Julliard julliard at winehq.org
Tue Nov 17 09:28:17 CST 2009


Module: wine
Branch: master
Commit: 2e9a6e96e3058749d3beaae5b276555a36d5f56c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=2e9a6e96e3058749d3beaae5b276555a36d5f56c

Author: Owen Rudge <orudge at codeweavers.com>
Date:   Mon Nov 16 13:27:21 2009 -0600

comctl32: Implement GetImageRect, Get/SetIconSize, Get/SetBkColor.

---

 dlls/comctl32/imagelist.c |   34 ++++++++++++++++++++++++----------
 1 files changed, 24 insertions(+), 10 deletions(-)

diff --git a/dlls/comctl32/imagelist.c b/dlls/comctl32/imagelist.c
index cc92486..ff2eff8 100644
--- a/dlls/comctl32/imagelist.c
+++ b/dlls/comctl32/imagelist.c
@@ -3162,22 +3162,30 @@ static HRESULT WINAPI ImageListImpl_Clone(IImageList *iface, REFIID riid,
 static HRESULT WINAPI ImageListImpl_GetImageRect(IImageList *iface, int i,
     RECT *prc)
 {
-    FIXME("STUB: %p %d %p\n", iface, i, prc);
-    return E_NOTIMPL;
+    HIMAGELIST This = (HIMAGELIST) iface;
+    IMAGEINFO info;
+
+    if (!prc)
+        return E_FAIL;
+
+    if (!ImageList_GetImageInfo(This, i, &info))
+        return E_FAIL;
+
+    return CopyRect(prc, &info.rcImage) ? S_OK : E_FAIL;
 }
 
 static HRESULT WINAPI ImageListImpl_GetIconSize(IImageList *iface, int *cx,
     int *cy)
 {
-    FIXME("STUB: %p %p %p\n", iface, cx, cy);
-    return E_NOTIMPL;
+    HIMAGELIST This = (HIMAGELIST) iface;
+
+    return ImageList_GetIconSize(This, cx, cy) ? S_OK : E_FAIL;
 }
 
 static HRESULT WINAPI ImageListImpl_SetIconSize(IImageList *iface, int cx,
     int cy)
 {
-    FIXME("STUB: %p %d %d\n", iface, cx, cy);
-    return E_NOTIMPL;
+    return ImageList_SetIconSize((HIMAGELIST) iface, cx, cy) ? S_OK : E_FAIL;
 }
 
 static HRESULT WINAPI ImageListImpl_GetImageCount(IImageList *iface, int *pi)
@@ -3198,14 +3206,20 @@ static HRESULT WINAPI ImageListImpl_SetImageCount(IImageList *iface,
 static HRESULT WINAPI ImageListImpl_SetBkColor(IImageList *iface, COLORREF clrBk,
     COLORREF *pclr)
 {
-    FIXME("STUB: %p %x %p\n", iface, clrBk, pclr);
-    return E_NOTIMPL;
+    if (!pclr)
+        return E_FAIL;
+
+    *pclr = ImageList_SetBkColor((HIMAGELIST) iface, clrBk);
+    return *pclr == CLR_NONE ? E_FAIL : S_OK;
 }
 
 static HRESULT WINAPI ImageListImpl_GetBkColor(IImageList *iface, COLORREF *pclr)
 {
-    FIXME("STUB: %p %p\n", iface, pclr);
-    return E_NOTIMPL;
+    if (!pclr)
+        return E_FAIL;
+
+    *pclr = ImageList_GetBkColor((HIMAGELIST) iface);
+    return S_OK;
 }
 
 static HRESULT WINAPI ImageListImpl_BeginDrag(IImageList *iface, int iTrack,




More information about the wine-cvs mailing list