From 9ac4391323232924d62bcb0a1095949e3eeaca84 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 4 Mar 2007 20:57:46 +0000 Subject: [PATCH] wxCreateGreyedImage() deprecated, use wxImage::ConvertToGreyscale() directly instead git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44604 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/changes.txt | 2 ++ include/wx/tbarbase.h | 10 ++++-- src/common/tbarbase.cpp | 76 +++++++---------------------------------- src/msw/tbar95.cpp | 4 +-- 4 files changed, 24 insertions(+), 68 deletions(-) diff --git a/docs/changes.txt b/docs/changes.txt index a3b8d3dc9e..b2581d0ab0 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -14,6 +14,8 @@ Changes in behaviour which may result in compilation errors Deprecated methods and their replacements ----------------------------------------- +- wxCreateGreyedImage() deprecated, use wxImage::ConvertToGreyscale() instead + Major new features in this release ---------------------------------- diff --git a/include/wx/tbarbase.h b/include/wx/tbarbase.h index b9febfbc3e..9f0f42fa4f 100644 --- a/include/wx/tbarbase.h +++ b/include/wx/tbarbase.h @@ -603,8 +603,14 @@ private: DECLARE_NO_COPY_CLASS(wxToolBarBase) }; -// Helper function for creating the image for disabled buttons -bool wxCreateGreyedImage(const wxImage& in, wxImage& out) ; +// deprecated function for creating the image for disabled buttons, use +// wxImage::ConvertToGreyscale() instead +#if WXWIN_COMPATIBILITY_2_8 + +wxDEPRECATED( bool wxCreateGreyedImage(const wxImage& in, wxImage& out) ); + +#endif // WXWIN_COMPATIBILITY_2_8 + #endif // wxUSE_TOOLBAR diff --git a/src/common/tbarbase.cpp b/src/common/tbarbase.cpp index f8957002e0..50c80846d5 100644 --- a/src/common/tbarbase.cpp +++ b/src/common/tbarbase.cpp @@ -32,7 +32,9 @@ #include "wx/control.h" #include "wx/frame.h" #include "wx/settings.h" - #include "wx/image.h" + #if WXWIN_COMPATIBILITY_2_8 + #include "wx/image.h" + #endif // WXWIN_COMPATIBILITY_2_8 #endif // ---------------------------------------------------------------------------- @@ -674,73 +676,19 @@ void wxToolBarBase::UpdateWindowUI(long flags) } } -#if wxUSE_IMAGE - -/* - * Make a greyed-out image suitable for disabled buttons. - * This code is adapted from wxNewBitmapButton in FL. - */ +#if WXWIN_COMPATIBILITY_2_8 -bool wxCreateGreyedImage(const wxImage& src, wxImage& dst) +bool wxCreateGreyedImage(const wxImage& in, wxImage& out) { - dst = src.Copy(); - - unsigned char rBg, gBg, bBg; - if ( src.HasMask() ) - { - src.GetOrFindMaskColour(&rBg, &gBg, &bBg); - dst.SetMaskColour(rBg, gBg, bBg); - } - else // assuming the pixels along the edges are of the background color - { - rBg = src.GetRed(0, 0); - gBg = src.GetGreen(0, 0); - bBg = src.GetBlue(0, 0); - } - - const wxColour colBg(rBg, gBg, bBg); - - const wxColour colDark = wxSystemSettings::GetColour(wxSYS_COLOUR_3DSHADOW); - const wxColour colLight = wxSystemSettings::GetColour(wxSYS_COLOUR_3DHIGHLIGHT); - - // Second attempt, just making things monochrome - const int width = src.GetWidth(); - const int height = src.GetHeight(); - - for ( int x = 0; x < width; x++ ) - { - for ( int y = 0; y < height; y++ ) - { - const int r = src.GetRed(x, y); - const int g = src.GetGreen(x, y); - const int b = src.GetBlue(x, y); - - if ( r == rBg && g == gBg && b == bBg ) - { - // Leave the background colour as-is - continue; - } - - // Change light things to the background colour - wxColour col; - if ( r >= (colLight.Red() - 50) && - g >= (colLight.Green() - 50) && - b >= (colLight.Blue() - 50) ) - { - col = colBg; - } - else // Change dark things to really dark - { - col = colDark; - } - - dst.SetRGB(x, y, col.Red(), col.Green(), col.Blue()); - } - } +#if wxUSE_IMAGE + out = in.ConvertToGreyscale(); + if ( out.Ok() ) + return true; +#endif // wxUSE_IMAGE - return true; + return false; } -#endif // wxUSE_IMAGE +#endif // WXWIN_COMPATIBILITY_2_8 #endif // wxUSE_TOOLBAR diff --git a/src/msw/tbar95.cpp b/src/msw/tbar95.cpp index 5e4d811bf0..39c865b8a0 100644 --- a/src/msw/tbar95.cpp +++ b/src/msw/tbar95.cpp @@ -680,8 +680,8 @@ bool wxToolBar::Realize() // no disabled bitmap specified but we still need to // fill the space in the image list with something, so // we grey out the normal bitmap - wxImage imgGreyed; - wxCreateGreyedImage(bmp.ConvertToImage(), imgGreyed); + wxImage + imgGreyed = bmp.ConvertToImage().ConvertToGreyscale(); #ifdef wxREMAP_BUTTON_COLOURS if ( remapValue == Remap_Buttons ) -- 2.45.2