]> git.saurik.com Git - wxWidgets.git/commitdiff
Add a more convenient wxColour::MakeDisabled() overload.
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 4 Oct 2012 23:23:18 +0000 (23:23 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 4 Oct 2012 23:23:18 +0000 (23:23 +0000)
Allow creating a disabled version of the colour without having to manually
break it into RGB components and then recreating it from them.

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

include/wx/colour.h
interface/wx/colour.h
src/common/colourcmn.cpp

index eac59a6bd77f675a95370605abfc98bbf428d440..e421e19613cec9bfa96caa6d602b340dd5611cd2 100644 (file)
@@ -167,6 +167,7 @@ public:
     static void          ChangeLightness(unsigned char* r, unsigned char* g, unsigned char* b, int ialpha);
 
     wxColour ChangeLightness(int ialpha) const;
     static void          ChangeLightness(unsigned char* r, unsigned char* g, unsigned char* b, int ialpha);
 
     wxColour ChangeLightness(int ialpha) const;
+    wxColour& MakeDisabled(unsigned char brightness = 255);
 
     // old, deprecated
     // ---------------
 
     // old, deprecated
     // ---------------
index bf051c3ff1fc9e85f1d5a3f617a980074b57becc..886b65adc6533ec336542dc4f58355cb8e9c257f 100644 (file)
@@ -235,7 +235,16 @@ public:
         @since 2.9.0
     */
     static void MakeDisabled(unsigned char* r, unsigned char* g, unsigned char* b, unsigned char brightness = 255);
         @since 2.9.0
     */
     static void MakeDisabled(unsigned char* r, unsigned char* g, unsigned char* b, unsigned char brightness = 255);
-    
+
+    /**
+        Make a disabled version of this colour.
+
+        This method modifies the object in place and returns the object itself.
+
+        @since 2.9.5
+     */
+    wxColour& MakeDisabled(unsigned char brightness = 255);
+
     /**
         Create a grey colour from (in/out) rgb parameters using integer arithmetic.
         @since 2.9.0
     /**
         Create a grey colour from (in/out) rgb parameters using integer arithmetic.
         @since 2.9.0
index 013b17cee3150d38101b654763dc08bdd17b8229..70e4a1d9caeb53103d03062a05822ab92b547333 100644 (file)
@@ -273,6 +273,16 @@ void wxColourBase::MakeDisabled(unsigned char* r, unsigned char* g, unsigned cha
     *b = AlphaBlend(*b, brightness, 0.4);
 }
 
     *b = AlphaBlend(*b, brightness, 0.4);
 }
 
+wxColour& wxColourBase::MakeDisabled(unsigned char brightness)
+{
+    unsigned char r = Red(),
+                  g = Green(),
+                  b = Blue();
+    MakeDisabled(&r, &g, &b, brightness);
+    Set(r, g, b, Alpha());
+    return static_cast<wxColour&>(*this);
+}
+
 // AlphaBlend is used by ChangeLightness and MakeDisabled
 
 // static
 // AlphaBlend is used by ChangeLightness and MakeDisabled
 
 // static