From 9eb2347dc3527c32e6a041cba51431bf47c4eac4 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 27 Oct 2008 18:15:19 +0000 Subject: [PATCH] disable workaround for lack of alpha support in native static bitmap control for WinCE, apparently it breaks the display (#10093) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/msw/statbmp.h | 2 ++ src/msw/statbmp.cpp | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/include/wx/msw/statbmp.h b/include/wx/msw/statbmp.h index 39f6202e3c..7989fce4bc 100644 --- a/include/wx/msw/statbmp.h +++ b/include/wx/msw/statbmp.h @@ -70,9 +70,11 @@ protected: void SetImage(const wxGDIImage* image); void SetImageNoCopy( wxGDIImage* image ); +#ifndef __WXWINCE__ // draw the bitmap ourselves here if the OS can't do it correctly (if it // can we leave it to it) void DoPaintManually(wxPaintEvent& event); +#endif // !__WXWINCE__ // we can have either an icon or a bitmap diff --git a/src/msw/statbmp.cpp b/src/msw/statbmp.cpp index 17d3ea364e..418541bfd9 100644 --- a/src/msw/statbmp.cpp +++ b/src/msw/statbmp.cpp @@ -170,6 +170,10 @@ bool wxStaticBitmap::Create(wxWindow *parent, // GetBestSize will work properly now, so set the best size if needed SetInitialSize(size); + // painting manually is reported not to work under Windows CE (see #10093), + // so don't do it there even if this probably means that alpha is not + // supported there -- but at least bitmaps without alpha appear correctly +#ifndef __WXWINCE__ // Windows versions before XP (and even XP if the application has no // manifest and so the old comctl32.dll is used) don't draw correctly the // images with alpha channel so we need to draw them ourselves and it's @@ -179,6 +183,7 @@ bool wxStaticBitmap::Create(wxWindow *parent, { Connect(wxEVT_PAINT, wxPaintEventHandler(wxStaticBitmap::DoPaintManually)); } +#endif // !__WXWINCE__ return true; } @@ -252,6 +257,8 @@ wxSize wxStaticBitmap::DoGetBestSize() const return wxSize(16, 16); } +#ifndef __WXWINCE__ + void wxStaticBitmap::DoPaintManually(wxPaintEvent& WXUNUSED(event)) { wxPaintDC dc(this); @@ -274,6 +281,8 @@ void wxStaticBitmap::DoPaintManually(wxPaintEvent& WXUNUSED(event)) true /* use mask */); } +#endif // !__WXWINCE__ + void wxStaticBitmap::SetImage( const wxGDIImage* image ) { wxGDIImage* convertedImage = ConvertImage( *image ); -- 2.45.2