]> git.saurik.com Git - wxWidgets.git/commitdiff
Changed greying out to very crude algorithm, just draining colour
authorJulian Smart <julian@anthemion.co.uk>
Mon, 25 Feb 2002 15:35:45 +0000 (15:35 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Mon, 25 Feb 2002 15:35:45 +0000 (15:35 +0000)
from the image.

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

src/common/tbarbase.cpp

index cbe5143e37d10df5874f0b8bb57d0dc46e48bfc3..25ca112c81bdc927b5081c5e7606fd3a30ec9b0b 100644 (file)
@@ -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
 }
 
 /*