From 2e9a6e96e3058749d3beaae5b276555a36d5f56c Mon Sep 17 00:00:00 2001 From: Owen Rudge Date: Mon, 16 Nov 2009 13:27:21 -0600 Subject: [PATCH] comctl32: Implement GetImageRect, Get/SetIconSize, Get/SetBkColor. --- dlls/comctl32/imagelist.c | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/dlls/comctl32/imagelist.c b/dlls/comctl32/imagelist.c index cc9248671d4..ff2eff86bcf 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, -- 2.11.4.GIT