]> git.saurik.com Git - wxWidgets.git/commitdiff
Make wxBitmap::ConvertToDisabled() available in all ports.
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 10 Nov 2010 13:51:51 +0000 (13:51 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 10 Nov 2010 13:51:51 +0000 (13:51 +0000)
This method was defined in wxBitmapBase which is not used by wxMSW (and wxOS2)
so it wasn't available there. Move the definition of the method inline and
reuse it for all ports, making it part of either wxBitmapBase or wxBitmap as
appropriate.

This is clearly ugly but we still have no good solution for deriving wxBitmap
from wxBitmapBase in wxMSW as it already inherits from MSW-specific wxGDIImage
there.

Also document that ConvertToDisabled() is only available when wxUSE_IMAGE==1.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66086 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/bitmap.h
include/wx/msw/bitmap.h
include/wx/os2/bitmap.h
include/wx/palmos/bitmap.h
interface/wx/bitmap.h
src/common/bmpbase.cpp

index f861b3354a2744d3c90a3ce24eefc4de89a388d9..754eabc63199384a9174c4c8db99aff641d8f012 100644 (file)
 #include "wx/string.h"
 #include "wx/gdicmn.h"  // for wxBitmapType
 #include "wx/colour.h"
+#include "wx/image.h"
 
 class WXDLLIMPEXP_FWD_CORE wxBitmap;
 class WXDLLIMPEXP_FWD_CORE wxBitmapHandler;
 class WXDLLIMPEXP_FWD_CORE wxIcon;
-class WXDLLIMPEXP_FWD_CORE wxImage;
 class WXDLLIMPEXP_FWD_CORE wxMask;
 class WXDLLIMPEXP_FWD_CORE wxPalette;
 
@@ -168,6 +168,9 @@ public:
 
 #if wxUSE_IMAGE
     virtual wxImage ConvertToImage() const = 0;
+
+    // Convert to disabled (dimmed) bitmap.
+    wxBitmap ConvertToDisabled(unsigned char brightness = 255) const;
 #endif // wxUSE_IMAGE
 
     virtual wxMask *GetMask() const = 0;
@@ -175,9 +178,6 @@ public:
 
     virtual wxBitmap GetSubBitmap(const wxRect& rect) const = 0;
 
-    // Convert to disabled (dimmed) bitmap.
-    wxBitmap ConvertToDisabled(unsigned char brightness = 255) const;
-
     virtual bool SaveFile(const wxString &name, wxBitmapType type,
                           const wxPalette *palette = NULL) const = 0;
     virtual bool LoadFile(const wxString &name, wxBitmapType type) = 0;
@@ -272,6 +272,20 @@ protected:
     #include "wx/os2/bitmap.h"
 #endif
 
+#if wxUSE_IMAGE
+inline
+wxBitmap
+#if wxUSE_BITMAP_BASE
+wxBitmapBase::
+#else
+wxBitmap::
+#endif
+ConvertToDisabled(unsigned char brightness) const
+{
+    return ConvertToImage().ConvertToDisabled(brightness);
+}
+#endif // wxUSE_IMAGE
+
 // we must include generic mask.h after wxBitmap definition
 #if defined(__WXMGL__) || defined(__WXDFB__)
     #define wxUSE_GENERIC_MASK 1
index 205370f4593f4fa34bfa187b669ff160df72b782..ce3e841aee8b161e6a1d77af93db4561c39f5f5d 100644 (file)
@@ -25,7 +25,6 @@ class WXDLLIMPEXP_FWD_CORE wxDC;
 class WXDLLIMPEXP_FWD_CORE wxDIB;
 #endif
 class WXDLLIMPEXP_FWD_CORE wxIcon;
-class WXDLLIMPEXP_FWD_CORE wxImage;
 class WXDLLIMPEXP_FWD_CORE wxMask;
 class WXDLLIMPEXP_FWD_CORE wxPalette;
 class WXDLLIMPEXP_FWD_CORE wxPixelDataBase;
@@ -115,6 +114,7 @@ public:
 
 #if wxUSE_IMAGE
     wxImage ConvertToImage() const;
+    wxBitmap ConvertToDisabled(unsigned char brightness = 255) const;
 #endif // wxUSE_IMAGE
 
     // get the given part of bitmap
index 818bb4907139af9373f27338c7fe0a7627e6bb47..653dd9635a66aea007158ae92aa64d97f1b2d8b4 100644 (file)
@@ -25,7 +25,6 @@ class WXDLLIMPEXP_FWD_CORE wxIcon;
 class WXDLLIMPEXP_FWD_CORE wxMask;
 class WXDLLIMPEXP_FWD_CORE wxCursor;
 class WXDLLIMPEXP_FWD_CORE wxControl;
-class WXDLLIMPEXP_FWD_CORE wxImage;
 class WXDLLIMPEXP_FWD_CORE wxPixelDataBase;
 
 // ----------------------------------------------------------------------------
@@ -149,6 +148,7 @@ public:
     virtual ~wxBitmap();
 
     wxImage ConvertToImage() const;
+    wxBitmap ConvertToDisabled(unsigned char brightness = 255) const;
 
     // get the given part of bitmap
     wxBitmap GetSubBitmap(const wxRect& rRect) const;
index e31cf24ce012c9d3a242937e54d986d9292fe801..4ef6b5dd56f1fc716d36f8ec22293fe64d328393 100644 (file)
@@ -96,6 +96,7 @@ public:
 
 #if wxUSE_IMAGE && wxUSE_WXDIB
     wxImage ConvertToImage() const;
+    wxBitmap ConvertToDisabled(unsigned char brightness = 255) const;
 #endif // wxUSE_IMAGE
 
     // get the given part of bitmap
index 2a2d6b5cb80008d549588d10b42c734ba68f5969..94b88436682fb3db7d6e30b340b34e06ac7e2d62 100644 (file)
@@ -508,6 +508,9 @@ public:
 
     /**
         Returns disabled (dimmed) version of the bitmap.
+
+        This method is not available when <code>wxUSE_IMAGE == 0</code>.
+
         @since 2.9.0
     */
     wxBitmap ConvertToDisabled(unsigned char brightness = 255) const;
index eebf56e5f93bfac760cafd99f26033f82e7db3cb..e80091dada39aff4f0887733d31510d4c6c4774b 100644 (file)
@@ -135,16 +135,6 @@ public:
     void OnExit() { wxBitmap::CleanUpHandlers(); }
 };
 
-wxBitmap wxBitmapBase::ConvertToDisabled(unsigned char brightness) const
-{
-    wxBitmap bmp;
-#if wxUSE_IMAGE
-    wxImage image = ConvertToImage();
-    bmp = wxBitmap(image.ConvertToDisabled(brightness));
-#endif
-    return bmp;
-}
-
 IMPLEMENT_DYNAMIC_CLASS(wxBitmapBaseModule, wxModule)
 
 #endif // wxUSE_BITMAP_BASE