]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/colour.h
1. new wxList code
[wxWidgets.git] / include / wx / msw / colour.h
CommitLineData
2bda0e17
KB
1/////////////////////////////////////////////////////////////////////////////
2// Name: colour.h
3// Purpose: wxColour class
4// Author: Julian Smart
5// Modified by:
6// Created: 01/02/97
7// RCS-ID: $Id$
bbcdf8bc 8// Copyright: (c) Julian Smart
2bda0e17
KB
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
bbcdf8bc
JS
12#ifndef _WX_COLOUR_H_
13#define _WX_COLOUR_H_
2bda0e17
KB
14
15#ifdef __GNUG__
16#pragma interface "colour.h"
17#endif
18
19// Colour
20class WXDLLEXPORT wxColour: public wxObject
21{
2bda0e17 22public:
e4a81a2e
VZ
23 // ctors
24 // default
68dda785 25 wxColour();
e4a81a2e 26 // from RGB
87832b70 27 wxColour( unsigned char red, unsigned char green, unsigned char blue );
e4a81a2e
VZ
28 // implicit conversion from the colour name
29 wxColour( const wxString &colourName ) { InitFromName(colourName); }
30 wxColour( const char *colourName ) { InitFromName(colourName); }
31
32 // copy ctors and assignment operators
33 wxColour( const wxColour& col );
4b5f3fe6 34// wxColour( const wxColour* col );
e4a81a2e
VZ
35 wxColour& operator = ( const wxColour& col );
36
37 // dtor
68dda785
VZ
38 ~wxColour();
39
e4a81a2e
VZ
40 // Set() functions
41 void Set( unsigned char red, unsigned char green, unsigned char blue );
e0a09ce4
RD
42 void Set(unsigned long colRGB)
43 {
ec845369
VZ
44 // we don't need to know sizeof(long) here because we assume that the three
45 // least significant bytes contain the R, G and B values
e0a09ce4 46 Set((unsigned char)colRGB,
ec845369 47 (unsigned char)(colRGB >> 8),
e0a09ce4 48 (unsigned char)(colRGB >> 16));
ec845369 49 }
2bda0e17 50
e4a81a2e
VZ
51 // accessors
52 bool Ok() const {return m_isInit; }
53
2bda0e17
KB
54 // Let's remove this inelegant function
55#if WXWIN_COMPATIBILITY
56 void Get(unsigned char *r, unsigned char *g, unsigned char *b) const;
57#endif
58
e4a81a2e
VZ
59 unsigned char Red() const { return m_red; }
60 unsigned char Green() const { return m_green; }
61 unsigned char Blue() const { return m_blue; }
2bda0e17 62
e4a81a2e
VZ
63 // comparison
64 bool operator == (const wxColour& colour)
65 {
66 return (m_red == colour.m_red &&
67 m_green == colour.m_green &&
68 m_blue == colour.m_blue);
69 }
70 bool operator != (const wxColour& colour) { return !(*this == colour); }
2bda0e17 71
68dda785 72 WXCOLORREF GetPixel() const { return m_pixel; };
2bda0e17 73
68dda785 74private:
e4a81a2e 75 bool m_isInit;
2bda0e17
KB
76 unsigned char m_red;
77 unsigned char m_blue;
78 unsigned char m_green;
68dda785
VZ
79
80 // helper func
81 void InitFromName(const wxString& colourName);
82
83public:
2bda0e17 84 WXCOLORREF m_pixel ;
68dda785
VZ
85
86private:
87 DECLARE_DYNAMIC_CLASS(wxColour)
2bda0e17
KB
88};
89
2bda0e17 90#endif
bbcdf8bc 91 // _WX_COLOUR_H_