From c892ae145c52b98b41d191f8f208850010c1ae7a Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Fri, 3 Dec 2010 12:40:08 +0000 Subject: [PATCH] No changes, just clean up duplicate colour functions in wxSearchCtrl. Use wxColor::ChangeLightness() instead of private wxStepColour() that duplicates it. Close #12744. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66310 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/srchctlg.cpp | 55 +++------------------------------------- 1 file changed, 3 insertions(+), 52 deletions(-) diff --git a/src/generic/srchctlg.cpp b/src/generic/srchctlg.cpp index 65259a7227..328a11d54b 100644 --- a/src/generic/srchctlg.cpp +++ b/src/generic/srchctlg.cpp @@ -50,55 +50,6 @@ static const wxCoord ICON_MARGIN = 0; static const wxCoord ICON_OFFSET = 0; #endif -// ---------------------------------------------------------------------------- -// TODO: These functions or something like them should probably be made -// public. There are similar functions in src/aui/dockart.cpp... - -static double wxBlendColour(double fg, double bg, double alpha) -{ - double result = bg + (alpha * (fg - bg)); - if (result < 0.0) - result = 0.0; - if (result > 255) - result = 255; - return result; -} - -static wxColor wxStepColour(const wxColor& c, int ialpha) -{ - if (ialpha == 100) - return c; - - double r = c.Red(), g = c.Green(), b = c.Blue(); - double bg; - - // ialpha is 0..200 where 0 is completely black - // and 200 is completely white and 100 is the same - // convert that to normal alpha 0.0 - 1.0 - ialpha = wxMin(ialpha, 200); - ialpha = wxMax(ialpha, 0); - double alpha = ((double)(ialpha - 100.0))/100.0; - - if (ialpha > 100) - { - // blend with white - bg = 255.0; - alpha = 1.0 - alpha; // 0 = transparent fg; 1 = opaque fg - } - else - { - // blend with black - bg = 0.0; - alpha = 1.0 + alpha; // 0 = transparent fg; 1 = opaque fg - } - - r = wxBlendColour(r, bg, alpha); - g = wxBlendColour(g, bg, alpha); - b = wxBlendColour(b, bg, alpha); - - return wxColour((unsigned char)r, (unsigned char)g, (unsigned char)b); -} - #define LIGHT_STEP 160 // ---------------------------------------------------------------------------- @@ -183,7 +134,7 @@ protected: { ChangeValue(m_descriptiveText); SetInsertionPoint(0); - SetForegroundColour(wxStepColour(m_defaultFG, LIGHT_STEP)); + SetForegroundColour(m_defaultFG.ChangeLightness (LIGHT_STEP)); } } @@ -967,7 +918,7 @@ static int GetMultiplier() wxBitmap wxSearchCtrl::RenderSearchBitmap( int x, int y, bool renderDrop ) { wxColour bg = GetBackgroundColour(); - wxColour fg = wxStepColour(GetForegroundColour(), LIGHT_STEP-20); + wxColour fg = GetForegroundColour().ChangeLightness(LIGHT_STEP-20); //=============================================================================== // begin drawing code @@ -1072,7 +1023,7 @@ wxBitmap wxSearchCtrl::RenderSearchBitmap( int x, int y, bool renderDrop ) wxBitmap wxSearchCtrl::RenderCancelBitmap( int x, int y ) { wxColour bg = GetBackgroundColour(); - wxColour fg = wxStepColour(GetForegroundColour(), LIGHT_STEP); + wxColour fg = GetForegroundColour().ChangeLightness(LIGHT_STEP); //=============================================================================== // begin drawing code -- 2.45.2