#include "wx/defs.h"
#include "wx/gdiobj.h"
-
class WXDLLIMPEXP_FWD_CORE wxColour;
// A macro to define the standard wxColour constructors:
// flags for wxColour -> wxString conversion (see wxColour::GetAsString)
-#define wxC2S_NAME 1 // return colour name, when possible
-#define wxC2S_CSS_SYNTAX 2 // return colour in rgb(r,g,b) syntax
-#define wxC2S_HTML_SYNTAX 4 // return colour in #rrggbb syntax
-
+enum {
+ wxC2S_NAME = 1, // return colour name, when possible
+ wxC2S_CSS_SYNTAX = 2, // return colour in rgb(r,g,b) syntax
+ wxC2S_HTML_SYNTAX = 4 // return colour in #rrggbb syntax
+};
const unsigned char wxALPHA_TRANSPARENT = 0;
const unsigned char wxALPHA_OPAQUE = 0xff;
+// a valid but fully transparent colour
+#define wxTransparentColour wxColour(0, 0, 0, wxALPHA_TRANSPARENT)
+#define wxTransparentColor wxTransparentColour
+
// ----------------------------------------------------------------------------
// wxVariant support
// ----------------------------------------------------------------------------
bool Ok() const { return IsOk(); }
#endif
+ // manipulation
+ // ------------
+
+ // These methods are static because they are mostly used
+ // within tight loops (where we don't want to instantiate wxColour's)
+
+ static void MakeMono (unsigned char* r, unsigned char* g, unsigned char* b, bool on);
+ static void MakeDisabled(unsigned char* r, unsigned char* g, unsigned char* b, unsigned char brightness = 255);
+ static void MakeGrey (unsigned char* r, unsigned char* g, unsigned char* b); // integer version
+ static void MakeGrey (unsigned char* r, unsigned char* g, unsigned char* b,
+ double weight_r, double weight_g, double weight_b); // floating point version
+ static unsigned char AlphaBlend (unsigned char fg, unsigned char bg, double alpha);
+ 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
// ---------------
#if WXWIN_COMPATIBILITY_2_6
- wxDEPRECATED( static wxColour CreateByName(const wxString& name) );
+ static wxDEPRECATED( wxColour CreateByName(const wxString& name) );
wxDEPRECATED( void InitFromName(const wxString& col) );
#endif
-#if defined(__WXPALMOS__)
- #include "wx/generic/colour.h"
-#elif defined(__WXMSW__)
+#if defined(__WXMSW__)
#include "wx/msw/colour.h"
#elif defined(__WXMOTIF__)
#include "wx/motif/colour.h"
#include "wx/gtk/colour.h"
#elif defined(__WXGTK__)
#include "wx/gtk1/colour.h"
-#elif defined(__WXMGL__)
- #include "wx/generic/colour.h"
#elif defined(__WXDFB__)
#include "wx/generic/colour.h"
#elif defined(__WXX11__)