X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/debe6624c1e9d4bf3243381153d1e173c849bcd8..926076161327c12d8535c72235f91cee6d316281:/src/msw/imaglist.cpp diff --git a/src/msw/imaglist.cpp b/src/msw/imaglist.cpp index e6ca103540..a4e2fe629d 100644 --- a/src/msw/imaglist.cpp +++ b/src/msw/imaglist.cpp @@ -26,13 +26,18 @@ #include #include "wx/setup.h" #include "wx/window.h" -#include "wx/dcclient.h" +#include "wx/icon.h" +#include "wx/dc.h" +#include "wx/string.h" #endif +#include "wx/log.h" +#include "wx/intl.h" + #include "wx/msw/imaglist.h" #include "wx/msw/private.h" -#ifndef __GNUWIN32__ +#if (defined(__WIN95__) && !defined(__GNUWIN32__)) || defined(__TWIN32__) #include #endif @@ -86,7 +91,14 @@ int wxImageList::Add(const wxBitmap& bitmap, const wxBitmap& mask) HBITMAP hBitmap2 = 0; if ( mask.Ok() ) hBitmap2 = (HBITMAP) mask.GetHBITMAP(); - return ImageList_Add((HIMAGELIST) GetHIMAGELIST(), hBitmap1, hBitmap2); + + int index = ImageList_Add((HIMAGELIST) GetHIMAGELIST(), hBitmap1, hBitmap2); + if ( index == -1 ) + { + wxLogError(_("Couldn't add an image to the image list.")); + } + + return index; } // Adds a bitmap, using the specified colour to create the mask bitmap @@ -94,9 +106,14 @@ int wxImageList::Add(const wxBitmap& bitmap, const wxBitmap& mask) // 'bitmap'. int wxImageList::Add(const wxBitmap& bitmap, const wxColour& maskColour) { +#ifdef __TWIN32__ + wxFAIL_MSG("ImageList_AddMasked not implemented in TWIN32"); + return -1; +#else HBITMAP hBitmap1 = (HBITMAP) bitmap.GetHBITMAP(); COLORREF colorRef = PALETTERGB(maskColour.Red(), maskColour.Green(), maskColour.Blue()); return ImageList_AddMasked((HIMAGELIST) GetHIMAGELIST(), hBitmap1, colorRef); +#endif } // Adds a bitmap and mask from an icon. @@ -111,11 +128,16 @@ int wxImageList::Add(const wxIcon& icon) // 'bitmap' and 'mask'. bool wxImageList::Replace(int index, const wxBitmap& bitmap, const wxBitmap& mask) { +#ifdef __TWIN32__ + wxFAIL_MSG("ImageList_Replace not implemented in TWIN32"); + return FALSE; +#else HBITMAP hBitmap1 = (HBITMAP) bitmap.GetHBITMAP(); HBITMAP hBitmap2 = 0; if ( mask.Ok() ) hBitmap2 = (HBITMAP) mask.GetHBITMAP(); return (ImageList_Replace((HIMAGELIST) GetHIMAGELIST(), index, hBitmap1, hBitmap2) != 0); +#endif } /* Not supported by Win95 @@ -140,7 +162,12 @@ bool wxImageList::Replace(int index, const wxIcon& icon) // Removes the image at the given index. bool wxImageList::Remove(int index) { +#ifdef __TWIN32__ + wxFAIL_MSG("ImageList_Replace not implemented in TWIN32"); + return FALSE; +#else return (ImageList_Remove((HIMAGELIST) GetHIMAGELIST(), index) != 0); +#endif } // Remove all images @@ -161,13 +188,17 @@ bool wxImageList::RemoveAll(void) bool wxImageList::Draw(int index, wxDC& dc, int x, int y, int flags, bool solidBackground) { +#ifdef __TWIN32__ + wxFAIL_MSG("ImageList_Replace not implemented in TWIN32"); + return FALSE; +#else HDC hDC = (HDC) dc.GetHDC(); if ( !hDC ) return FALSE; if ( solidBackground ) { - wxBrush *brush = dc.GetBackground(); + wxBrush *brush = & dc.GetBackground(); if ( brush && brush->Ok()) { wxColour col(brush->GetColour()); @@ -194,6 +225,7 @@ bool wxImageList::Draw(int index, wxDC& dc, int x, int y, return (ImageList_Draw((HIMAGELIST) GetHIMAGELIST(), index, hDC, x, y, style) != 0); +#endif } #endif