Make wxBitmap::ConvertToDisabled() available in all ports.
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
This commit is contained in:
@@ -19,11 +19,11 @@
|
|||||||
#include "wx/string.h"
|
#include "wx/string.h"
|
||||||
#include "wx/gdicmn.h" // for wxBitmapType
|
#include "wx/gdicmn.h" // for wxBitmapType
|
||||||
#include "wx/colour.h"
|
#include "wx/colour.h"
|
||||||
|
#include "wx/image.h"
|
||||||
|
|
||||||
class WXDLLIMPEXP_FWD_CORE wxBitmap;
|
class WXDLLIMPEXP_FWD_CORE wxBitmap;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxBitmapHandler;
|
class WXDLLIMPEXP_FWD_CORE wxBitmapHandler;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxIcon;
|
class WXDLLIMPEXP_FWD_CORE wxIcon;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxImage;
|
|
||||||
class WXDLLIMPEXP_FWD_CORE wxMask;
|
class WXDLLIMPEXP_FWD_CORE wxMask;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxPalette;
|
class WXDLLIMPEXP_FWD_CORE wxPalette;
|
||||||
|
|
||||||
@@ -168,6 +168,9 @@ public:
|
|||||||
|
|
||||||
#if wxUSE_IMAGE
|
#if wxUSE_IMAGE
|
||||||
virtual wxImage ConvertToImage() const = 0;
|
virtual wxImage ConvertToImage() const = 0;
|
||||||
|
|
||||||
|
// Convert to disabled (dimmed) bitmap.
|
||||||
|
wxBitmap ConvertToDisabled(unsigned char brightness = 255) const;
|
||||||
#endif // wxUSE_IMAGE
|
#endif // wxUSE_IMAGE
|
||||||
|
|
||||||
virtual wxMask *GetMask() const = 0;
|
virtual wxMask *GetMask() const = 0;
|
||||||
@@ -175,9 +178,6 @@ public:
|
|||||||
|
|
||||||
virtual wxBitmap GetSubBitmap(const wxRect& rect) const = 0;
|
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,
|
virtual bool SaveFile(const wxString &name, wxBitmapType type,
|
||||||
const wxPalette *palette = NULL) const = 0;
|
const wxPalette *palette = NULL) const = 0;
|
||||||
virtual bool LoadFile(const wxString &name, wxBitmapType type) = 0;
|
virtual bool LoadFile(const wxString &name, wxBitmapType type) = 0;
|
||||||
@@ -272,6 +272,20 @@ protected:
|
|||||||
#include "wx/os2/bitmap.h"
|
#include "wx/os2/bitmap.h"
|
||||||
#endif
|
#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
|
// we must include generic mask.h after wxBitmap definition
|
||||||
#if defined(__WXMGL__) || defined(__WXDFB__)
|
#if defined(__WXMGL__) || defined(__WXDFB__)
|
||||||
#define wxUSE_GENERIC_MASK 1
|
#define wxUSE_GENERIC_MASK 1
|
||||||
|
@@ -25,7 +25,6 @@ class WXDLLIMPEXP_FWD_CORE wxDC;
|
|||||||
class WXDLLIMPEXP_FWD_CORE wxDIB;
|
class WXDLLIMPEXP_FWD_CORE wxDIB;
|
||||||
#endif
|
#endif
|
||||||
class WXDLLIMPEXP_FWD_CORE wxIcon;
|
class WXDLLIMPEXP_FWD_CORE wxIcon;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxImage;
|
|
||||||
class WXDLLIMPEXP_FWD_CORE wxMask;
|
class WXDLLIMPEXP_FWD_CORE wxMask;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxPalette;
|
class WXDLLIMPEXP_FWD_CORE wxPalette;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxPixelDataBase;
|
class WXDLLIMPEXP_FWD_CORE wxPixelDataBase;
|
||||||
@@ -115,6 +114,7 @@ public:
|
|||||||
|
|
||||||
#if wxUSE_IMAGE
|
#if wxUSE_IMAGE
|
||||||
wxImage ConvertToImage() const;
|
wxImage ConvertToImage() const;
|
||||||
|
wxBitmap ConvertToDisabled(unsigned char brightness = 255) const;
|
||||||
#endif // wxUSE_IMAGE
|
#endif // wxUSE_IMAGE
|
||||||
|
|
||||||
// get the given part of bitmap
|
// get the given part of bitmap
|
||||||
|
@@ -25,7 +25,6 @@ class WXDLLIMPEXP_FWD_CORE wxIcon;
|
|||||||
class WXDLLIMPEXP_FWD_CORE wxMask;
|
class WXDLLIMPEXP_FWD_CORE wxMask;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxCursor;
|
class WXDLLIMPEXP_FWD_CORE wxCursor;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxControl;
|
class WXDLLIMPEXP_FWD_CORE wxControl;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxImage;
|
|
||||||
class WXDLLIMPEXP_FWD_CORE wxPixelDataBase;
|
class WXDLLIMPEXP_FWD_CORE wxPixelDataBase;
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -149,6 +148,7 @@ public:
|
|||||||
virtual ~wxBitmap();
|
virtual ~wxBitmap();
|
||||||
|
|
||||||
wxImage ConvertToImage() const;
|
wxImage ConvertToImage() const;
|
||||||
|
wxBitmap ConvertToDisabled(unsigned char brightness = 255) const;
|
||||||
|
|
||||||
// get the given part of bitmap
|
// get the given part of bitmap
|
||||||
wxBitmap GetSubBitmap(const wxRect& rRect) const;
|
wxBitmap GetSubBitmap(const wxRect& rRect) const;
|
||||||
|
@@ -96,6 +96,7 @@ public:
|
|||||||
|
|
||||||
#if wxUSE_IMAGE && wxUSE_WXDIB
|
#if wxUSE_IMAGE && wxUSE_WXDIB
|
||||||
wxImage ConvertToImage() const;
|
wxImage ConvertToImage() const;
|
||||||
|
wxBitmap ConvertToDisabled(unsigned char brightness = 255) const;
|
||||||
#endif // wxUSE_IMAGE
|
#endif // wxUSE_IMAGE
|
||||||
|
|
||||||
// get the given part of bitmap
|
// get the given part of bitmap
|
||||||
|
@@ -508,6 +508,9 @@ public:
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
Returns disabled (dimmed) version of the bitmap.
|
Returns disabled (dimmed) version of the bitmap.
|
||||||
|
|
||||||
|
This method is not available when <code>wxUSE_IMAGE == 0</code>.
|
||||||
|
|
||||||
@since 2.9.0
|
@since 2.9.0
|
||||||
*/
|
*/
|
||||||
wxBitmap ConvertToDisabled(unsigned char brightness = 255) const;
|
wxBitmap ConvertToDisabled(unsigned char brightness = 255) const;
|
||||||
|
@@ -135,16 +135,6 @@ public:
|
|||||||
void OnExit() { wxBitmap::CleanUpHandlers(); }
|
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)
|
IMPLEMENT_DYNAMIC_CLASS(wxBitmapBaseModule, wxModule)
|
||||||
|
|
||||||
#endif // wxUSE_BITMAP_BASE
|
#endif // wxUSE_BITMAP_BASE
|
||||||
|
Reference in New Issue
Block a user