]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/motif/colour.h
   1 ///////////////////////////////////////////////////////////////////////////// 
   3 // Purpose:     wxColour class 
   4 // Author:      Julian Smart 
   8 // Copyright:   (c) Julian Smart 
   9 // Licence:     wxWindows licence 
  10 ///////////////////////////////////////////////////////////////////////////// 
  15 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) 
  16 #pragma interface "colour.h" 
  19 #include "wx/object.h" 
  20 #include "wx/string.h" 
  23 class WXDLLEXPORT wxColour 
: public wxObject
 
  25     DECLARE_DYNAMIC_CLASS(wxColour
) 
  31     wxColour( unsigned char red
, unsigned char green
, unsigned char blue 
); 
  32     wxColour( unsigned long colRGB 
) { Set(colRGB
); } 
  34     // implicit conversion from the colour name 
  35     wxColour( const wxString 
&colourName 
) { InitFromName(colourName
); } 
  36     wxColour( const char *colourName 
) { InitFromName(colourName
); } 
  38     // copy ctors and assignment operators 
  39     wxColour( const wxColour
& col 
); 
  40     wxColour
& operator = ( const wxColour
& col 
); 
  46     void Set( unsigned char red
, unsigned char green
, unsigned char blue 
); 
  47     void Set( unsigned long colRGB 
) 
  49         // we don't need to know sizeof(long) here because we assume that the three 
  50         // least significant bytes contain the R, G and B values 
  51         Set((unsigned char)colRGB
, 
  52             (unsigned char)(colRGB 
>> 8), 
  53             (unsigned char)(colRGB 
>> 16)); 
  57     bool Ok() const {return m_isInit
; } 
  58     unsigned char Red() const { return m_red
; } 
  59     unsigned char Green() const { return m_green
; } 
  60     unsigned char Blue() const { return m_blue
; } 
  62     int GetPixel() const { return m_pixel
; }; 
  63     void SetPixel(int pixel
) { m_pixel 
= pixel
; m_isInit 
= TRUE
; }; 
  65     inline bool operator == (const wxColour
& colour
) const { return (m_red 
== colour
.m_red 
&& m_green 
== colour
.m_green 
&& m_blue 
== colour
.m_blue
); } 
  67     inline bool operator != (const wxColour
& colour
) const { return (!(m_red 
== colour
.m_red 
&& m_green 
== colour
.m_green 
&& m_blue 
== colour
.m_blue
)); } 
  69     // Allocate a colour, or nearest colour, using the given display. 
  70     // If realloc is TRUE, ignore the existing pixel, otherwise just return 
  72     // Returns the allocated pixel. 
  74     // TODO: can this handle mono displays? If not, we should have an extra 
  75     // flag to specify whether this should be black or white by default. 
  77     int AllocColour(WXDisplay
* display
, bool realloc 
= FALSE
); 
  79     void InitFromName(const wxString
& col
); 
  85     unsigned char m_green
;