]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/colour.h
more warning fixes about empty if statement in helper classes in release build
[wxWidgets.git] / include / wx / colour.h
index 15833968a46d03d6d1698c33223f408d91618e8a..78204d1843c62c982d63fb3236f7e271ddceaabd 100644 (file)
 // this macro avoids to repeat these lines across all colour.h files, since
 // Set() is a virtual function and thus cannot be called by wxColourBase
 // constructors
-#define DEFINE_STD_WXCOLOUR_CONSTRUCTORS                                        \
-    wxColour( unsigned char red, unsigned char green, unsigned char blue )      \
-        { Set(red, green, blue); }                                              \
-    wxColour( unsigned long colRGB ) { Set(colRGB); }                           \
-    wxColour(const wxString &colourName) { Set(colourName); }                   \
+#define DEFINE_STD_WXCOLOUR_CONSTRUCTORS                                      \
+    wxColour( unsigned char red, unsigned char green, unsigned char blue,     \
+              unsigned char alpha = wxALPHA_OPAQUE )                          \
+        { Set(red, green, blue, alpha); }                                     \
+    wxColour( unsigned long colRGB ) { Set(colRGB); }                         \
+    wxColour(const wxString &colourName) { Set(colourName); }                 \
     wxColour(const wxChar *colourName) { Set(colourName); }
 
 
@@ -36,6 +37,8 @@
 
 class WXDLLEXPORT wxColour;
 
+const unsigned char wxALPHA_TRANSPARENT = 0;
+const unsigned char wxALPHA_OPAQUE = 0xff;
 
 //-----------------------------------------------------------------------------
 // wxColourBase: this class has no data members, just some functions to avoid
@@ -47,6 +50,13 @@ class WXDLLEXPORT wxColourBase : public wxGDIObject
 protected:
 
     virtual void InitWith(unsigned char red, unsigned char green, unsigned char blue) = 0;
+
+    // this will be overridden in alpha supporting classes
+    virtual void InitWith(unsigned char red, unsigned char green, unsigned char blue, unsigned char WXUNUSED(alpha)) 
+    {
+        InitWith( red, green, blue ) ;
+    }
+
     virtual bool FromString(const wxChar *);
 
 public:
@@ -57,8 +67,8 @@ public:
     // Set() functions
     // ---------------
 
-    void Set(unsigned char red, unsigned char green, unsigned char blue)
-        { InitWith(red,green,blue); }
+    void Set(unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha = wxALPHA_OPAQUE)
+        { InitWith(red,green,blue, alpha); }
 
     // implemented in colourcmn.cpp
     bool Set(const wxChar *str)
@@ -86,6 +96,8 @@ public:
     virtual unsigned char Red() const = 0;
     virtual unsigned char Green() const = 0;
     virtual unsigned char Blue() const = 0;
+    virtual unsigned char Alpha() const
+        { return wxALPHA_OPAQUE ; }
 
     // implemented in colourcmn.cpp
     virtual wxString GetAsString(long flags = wxC2S_NAME | wxC2S_CSS_SYNTAX) const;
@@ -104,7 +116,7 @@ public:
 
 
 #if defined(__WXPALMOS__)
-#include "wx/palmos/colour.h"
+#include "wx/generic/colour.h"
 #elif defined(__WXMSW__)
 #include "wx/msw/colour.h"
 #elif defined(__WXMOTIF__)
@@ -114,7 +126,9 @@ public:
 #elif defined(__WXGTK__)
 #include "wx/gtk1/colour.h"
 #elif defined(__WXMGL__)
-#include "wx/mgl/colour.h"
+#include "wx/generic/colour.h"
+#elif defined(__WXDFB__)
+#include "wx/generic/colour.h"
 #elif defined(__WXX11__)
 #include "wx/x11/colour.h"
 #elif defined(__WXMAC__)