TGUI  0.8-dev
Color.hpp
1 //
3 // TGUI - Texus' Graphical User Interface
4 // Copyright (C) 2012-2017 Bruno Van de Velde (vdv_b@tgui.eu)
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 
26 #ifndef TGUI_COLOR_HPP
27 #define TGUI_COLOR_HPP
28 
29 #include <TGUI/Config.hpp>
30 #include <SFML/Graphics/Color.hpp>
31 #include <string>
32 
34 
35 namespace tgui
36 {
46  class TGUI_API Color
47  {
48  public:
49 
54  static sf::Color calcColorOpacity(const sf::Color& color, float alpha)
55  {
56  return {color.r, color.g, color.b, static_cast<sf::Uint8>(color.a * alpha)};
57  }
58 
59 
60  public:
61 
68  Color();
69 
70 
77  Color(const sf::Color& color);
78 
79 
89  Color(sf::Uint8 red, sf::Uint8 green, sf::Uint8 blue, sf::Uint8 alpha = 255);
90 
91 
100  Color(const std::string& string);
101 
102 
111  Color(const char* string);
112 
113 
120  bool isSet() const;
121 
122 
129  operator sf::Color() const;
130 
131 
138  sf::Uint8 getRed() const;
139 
140 
147  sf::Uint8 getGreen() const;
148 
149 
156  sf::Uint8 getBlue() const;
157 
158 
165  sf::Uint8 getAlpha() const;
166 
167 
169  private:
170 
171  bool m_isSet;
172  sf::Color m_color;
173  };
174 
176 }
177 
179 
180 #endif // TGUI_COLOR_HPP
181 
Namespace that contains all TGUI functions and classes.
Definition: Animation.hpp:33
Wrapper for colors.
Definition: Color.hpp:46
static sf::Color calcColorOpacity(const sf::Color &color, float alpha)
Returns the color with its alpha channel multiplied with the alpha parameter.
Definition: Color.hpp:54