Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added Colour struct
[xestiacalendar/.git] / source / common / colour.h
1 // colour.h - Colour Structures
2 //
3 // (c) 2016 Xestia Software Development.
4 //
5 // This file is part of Xestia Calendar.
6 //
7 // Xestia Address Book is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by the
9 // Free Software Foundation, version 3 of the license.
10 //
11 // Xestia Address Book is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 //
16 // You should have received a copy of the GNU General Public License along
17 // with Xestia Calendar. If not, see <http://www.gnu.org/licenses/>
19 #include <string>
20 #include "text.h"
22 using namespace std;
24 struct Colour{
25         
26         int red;
27         int blue;
28         int green;
29         int alpha;
31         operator string() {
32                 
33                 string ColourOut;
34                 string ColourOutHex;
35         
36                 ColourOut = "#";
37                 
38                 // Convert the red value.
39                 
40                 if (red > 255){
41                         ColourOut += "FF";
42                 } else if (red < 0) {
43                         ColourOut += "00";                      
44                 } else {
45                         IntToHex(&red, &ColourOutHex, 2);
46                         ColourOut += ColourOutHex;
47                 }
48                 
49                 // Convert the green value.
51                 if (green > 255){
52                         ColourOut += "FF";
53                 } else if (green < 0){
54                         ColourOut += "00";                      
55                 } else {
56                         IntToHex(&green, &ColourOutHex, 2);
57                         ColourOut += ColourOutHex;                      
58                 }
59                 
60                 // Convert the blue value.
62                 if (blue > 255){
63                         ColourOut += "FF";
64                 } else if (blue < 0) {
65                         ColourOut += "00";                      
66                 } else {
67                         IntToHex(&blue, &ColourOutHex, 2);
68                         ColourOut += ColourOutHex;
69                 }
70                 
71                 // Convert the alpha value.
72                 
73                 if (alpha > 255){
74                         ColourOut += "FF";
75                 } else if (alpha < 0){
76                         ColourOut += "00";
77                 } else {
78                         IntToHex(&alpha, &ColourOutHex, 2);
79                         ColourOut += ColourOutHex;
80                 }
81                 
82                 return ColourOut;
83                 
84         }
85         
86 };
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy