From: Julian Smart Date: Mon, 25 Feb 2002 15:35:45 +0000 (+0000) Subject: Changed greying out to very crude algorithm, just draining colour X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/25a1459592a6770de301d320b1c9091e9b1077e4 Changed greying out to very crude algorithm, just draining colour from the image. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14406 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/common/tbarbase.cpp b/src/common/tbarbase.cpp index cbe5143e37..25ca112c81 100644 --- a/src/common/tbarbase.cpp +++ b/src/common/tbarbase.cpp @@ -586,6 +586,42 @@ void wxToolBarBase::DoToolbarUpdates() static void wxGreyOutImage( const wxImage& src, wxImage& dest, const wxColour& darkCol, const wxColour& lightCol, const wxColour& bgCol) { + // Second attempt, just making things monochrome + int width = src.GetWidth(); + int height = src.GetHeight(); + + unsigned int redCur, greenCur, blueCur; + + int x, y; + for (x = 0; x < width; x++) + { + for (y = 1; y < height; y++) + { + redCur = src.GetRed(x, y); + greenCur = src.GetGreen(x, y); + blueCur = src.GetBlue(x, y); + + // Change light things to the background colour + if ( redCur >= (lightCol.Red() - 50) && greenCur >= (lightCol.Green() - 50) && blueCur >= (lightCol.Blue() - 50) ) + { + dest.SetRGB(x,y, bgCol.Red(), bgCol.Green(), bgCol.Blue()); + } + else if ( redCur == bgCol.Red() && greenCur == bgCol.Green() && blueCur == bgCol.Blue() ) + { + // Leave the background colour as-is + // dest.SetRGB(x,y, bgCol.Red(), bgCol.Green(), bgCol.Blue()); + } + else // if ( redCur <= darkCol.Red() && greenCur <= darkCol.Green() && blueCur <= darkCol.Blue() ) + { + // Change dark things to really dark + dest.SetRGB(x,y, darkCol.Red(), darkCol.Green(), darkCol.Blue()); + } + } + } + + + // First attempt, causes problems with scissors icon +#if 0 int x = 0; int y = 1; @@ -663,6 +699,7 @@ static void wxGreyOutImage( const wxImage& src, wxImage& dest, } } while (1); +#endif } /*