From 69a93593b0ece59fe287874728d05605fd8534e2 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Tue, 23 Nov 1999 23:40:01 +0000 Subject: [PATCH] - first 'dummy' implementation of ImageList_Read --- dlls/comctl32/imagelist.c | 24 +++++++++++++++++++----- include/imagelist.h | 15 +++++++++++++++ 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/dlls/comctl32/imagelist.c b/dlls/comctl32/imagelist.c index 70995bea900..c76431fba84 100644 --- a/dlls/comctl32/imagelist.c +++ b/dlls/comctl32/imagelist.c @@ -35,6 +35,7 @@ #include "imagelist.h" #include "commctrl.h" #include "debugtools.h" +#include "winerror.h" DEFAULT_DEBUG_CHANNEL(imagelist) @@ -1904,10 +1905,23 @@ ImageList_Merge (HIMAGELIST himl1, INT i1, HIMAGELIST himl2, INT i2, HIMAGELIST WINAPI ImageList_Read (LPSTREAM pstm) { - FIXME("empty stub!\n"); + HRESULT errCode; + ULONG ulRead; + ILHEAD ilHead; + HIMAGELIST himl; + + FIXME("empty stub!\n"); + errCode = IStream_Read (pstm, &ilHead, sizeof(ILHEAD), &ulRead); + if (errCode != S_OK) return NULL; + + FIXME("Magic: 0x%x\n", ilHead.usMagic); + + himl = ImageList_Create (32, 32, ILD_NORMAL, 2, 2); + + return himl; } @@ -2390,13 +2404,13 @@ ImageList_SetImageCount (HIMAGELIST himl, INT iImageCount) /* copy images */ BitBlt (hdcBitmap, 0, 0, nCopyCount * himl->cx, himl->cy, hdcImageList, 0, 0, SRCCOPY); - +#if 0 /* delete 'empty' image space */ SetBkColor (hdcBitmap, RGB(255, 255, 255)); SetTextColor (hdcBitmap, RGB(0, 0, 0)); PatBlt (hdcBitmap, nCopyCount * himl->cx, 0, (nNewCount - nCopyCount) * himl->cx, himl->cy, BLACKNESS); - +#endif DeleteObject (himl->hbmImage); himl->hbmImage = hbmNewBitmap; } @@ -2415,13 +2429,13 @@ ImageList_SetImageCount (HIMAGELIST himl, INT iImageCount) /* copy images */ BitBlt (hdcBitmap, 0, 0, nCopyCount * himl->cx, himl->cy, hdcImageList, 0, 0, SRCCOPY); - +#if 0 /* delete 'empty' image space */ SetBkColor (hdcBitmap, RGB(255, 255, 255)); SetTextColor (hdcBitmap, RGB(0, 0, 0)); PatBlt (hdcBitmap, nCopyCount * himl->cx, 0, (nNewCount - nCopyCount) * himl->cx, himl->cy, BLACKNESS); - +#endif DeleteObject (himl->hbmMask); himl->hbmMask = hbmNewBitmap; } diff --git a/include/imagelist.h b/include/imagelist.h index 9bc4cd034a2..44bdbbe88ad 100644 --- a/include/imagelist.h +++ b/include/imagelist.h @@ -30,5 +30,20 @@ struct _IMAGELIST typedef struct _IMAGELIST *HIMAGELIST; + +/* header used by ImageList_Read() and ImageList_Write() */ + +typedef struct _ILHEAD +{ + USHORT usMagic; + USHORT usParam1; + INT Param2; + INT Param3; + INT Param4; + INT Param5; + INT Param6; + INT Param7; +} ILHEAD; + #endif /* __WINE_IMAGELIST_H */ -- 2.11.4.GIT