Color.hpp
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2014 Laurent Gomila (laurent.gom@gmail.com)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef CPP3DS_COLOR_HPP
26 #define CPP3DS_COLOR_HPP
27 
28 #include <cpp3ds/Config.hpp>
29 
30 namespace cpp3ds
31 {
36 class Color
37 {
38 public :
39 
47  Color();
48 
58  Color(Uint8 red, Uint8 green, Uint8 blue, Uint8 alpha = 255);
59 
61  // Static member data
63  static const Color Black;
64  static const Color White;
65  static const Color Red;
66  static const Color Green;
67  static const Color Blue;
68  static const Color Yellow;
69  static const Color Magenta;
70  static const Color Cyan;
71  static const Color Transparent;
72 
74  // Member data
76  Uint8 r;
77  Uint8 g;
78  Uint8 b;
79  Uint8 a;
80 };
81 
94 bool operator ==(const Color& left, const Color& right);
95 
108 bool operator !=(const Color& left, const Color& right);
109 
123 Color operator +(const Color& left, const Color& right);
124 
138 Color operator -(const Color& left, const Color& right);
139 
155 Color operator *(const Color& left, const Color& right);
156 
171 Color& operator +=(Color& left, const Color& right);
172 
187 Color& operator -=(Color& left, const Color& right);
188 
205 Color& operator *=(Color& left, const Color& right);
206 
207 }
208 
209 
210 #endif
211 
212 
static const Color Transparent
Transparent (black) predefined color.
Definition: Color.hpp:71
static const Color Green
Green predefined color.
Definition: Color.hpp:66
static const Color Black
Black predefined color.
Definition: Color.hpp:63
Utility class for manpulating RGBA colors.
Definition: Color.hpp:36
static const Color Cyan
Cyan predefined color.
Definition: Color.hpp:70
static const Color Magenta
Magenta predefined color.
Definition: Color.hpp:69
Uint8 r
Red component.
Definition: Color.hpp:76
static const Color Blue
Blue predefined color.
Definition: Color.hpp:67
Uint8 b
Blue component.
Definition: Color.hpp:78
static const Color White
White predefined color.
Definition: Color.hpp:64
Color()
Default constructor.
Uint8 g
Green component.
Definition: Color.hpp:77
Uint8 a
Alpha (opacity) component.
Definition: Color.hpp:79
static const Color Yellow
Yellow predefined color.
Definition: Color.hpp:68
static const Color Red
Red predefined color.
Definition: Color.hpp:65