// colour.h - Colour Structures // // (c) 2016 Xestia Software Development. // // This file is part of Xestia Calendar. // // Xestia Calendar is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by the // Free Software Foundation, version 3 of the license. // // Xestia Calendar is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with Xestia Calendar. If not, see #include #include "text.h" #ifndef __COMMON_COLOUR_H__ #define __COMMON_COLOUR_H__ using namespace std; struct Colour{ int red = 0; int blue = 0; int green = 0; int alpha = 255; operator string() { string ColourOut; string ColourOutHex; ColourOut = "#"; // Convert the red value. if (red > 255){ ColourOut += "FF"; } else if (red < 0) { ColourOut += "00"; } else { IntToHex(&red, &ColourOutHex, 2); ColourOut += ColourOutHex; } // Convert the green value. if (green > 255){ ColourOut += "FF"; } else if (green < 0){ ColourOut += "00"; } else { IntToHex(&green, &ColourOutHex, 2); ColourOut += ColourOutHex; } // Convert the blue value. if (blue > 255){ ColourOut += "FF"; } else if (blue < 0) { ColourOut += "00"; } else { IntToHex(&blue, &ColourOutHex, 2); ColourOut += ColourOutHex; } // Convert the alpha value. if (alpha > 255){ ColourOut += "FF"; } else if (alpha < 0){ ColourOut += "00"; } else { IntToHex(&alpha, &ColourOutHex, 2); ColourOut += ColourOutHex; } return ColourOut; } }; #endif