1 /////////////////////////////////////////////////////////////////////////////
4 // Author: Robert Roebling
6 // Copyright: (c) 1998 Robert Roebling
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
10 #ifndef __GTKCOLOURH__
11 #define __GTKCOLOURH__
14 #include "wx/object.h"
15 #include "wx/string.h"
16 #include "wx/gdiobj.h"
17 #include "wx/palette.h"
19 //-----------------------------------------------------------------------------
21 //-----------------------------------------------------------------------------
23 class WXDLLIMPEXP_CORE wxDC
;
24 class WXDLLIMPEXP_CORE wxPaintDC
;
25 class WXDLLIMPEXP_CORE wxBitmap
;
26 class WXDLLIMPEXP_CORE wxWindow
;
28 class WXDLLIMPEXP_CORE wxColour
;
30 //-----------------------------------------------------------------------------
32 //-----------------------------------------------------------------------------
34 class WXDLLIMPEXP_CORE wxColour
: public wxGDIObject
40 wxColour( unsigned char red
, unsigned char green
, unsigned char blue
);
41 wxColour( unsigned long colRGB
) { Set(colRGB
); }
43 // Implicit conversion from the colour name
44 wxColour( const wxString
&colourName
) { InitFromName(colourName
); }
45 wxColour( const char *colourName
) { InitFromName( wxString::FromAscii(colourName
) ); }
47 wxColour( const wxChar
*colourName
) { InitFromName( wxString(colourName
) ); }
51 wxColour( const wxColour
& col
)
54 wxColour
& operator = ( const wxColour
& col
) { Ref(col
); return *this; }
58 bool Ok() const { return m_refData
!= NULL
; }
60 bool operator == ( const wxColour
& col
) const;
61 bool operator != ( const wxColour
& col
) const { return !(*this == col
); }
63 void Set( unsigned char red
, unsigned char green
, unsigned char blue
);
64 void Set( unsigned long colRGB
)
66 // We don't need to know sizeof(long) here because we assume that the three
67 // least significant bytes contain the R, G and B values
68 Set((unsigned char)colRGB
,
69 (unsigned char)(colRGB
>> 8),
70 (unsigned char)(colRGB
>> 16));
73 unsigned char Red() const;
74 unsigned char Green() const;
75 unsigned char Blue() const;
78 // Get colour from name or wxNullColour
79 static wxColour
CreateByName(const wxString
& name
);
81 // Implementation part
82 void CalcPixel( GdkColormap
*cmap
);
84 GdkColor
*GetColor() const;
86 void InitFromName(const wxString
& colourName
);
90 virtual wxObjectRefData
*CreateRefData() const;
91 virtual wxObjectRefData
*CloneRefData(const wxObjectRefData
*data
) const;
95 DECLARE_DYNAMIC_CLASS(wxColour
)
98 #endif // __GTKCOLOURH__