From e239336903d4625067eb7afda590fa5496cebbf4 Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Wed, 20 Apr 2016 22:29:37 +0100 Subject: [PATCH] Added Colour struct --- source/common/colour.h | 86 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 source/common/colour.h diff --git a/source/common/colour.h b/source/common/colour.h new file mode 100644 index 0000000..dc3dedf --- /dev/null +++ b/source/common/colour.h @@ -0,0 +1,86 @@ +// colour.h - Colour Structures +// +// (c) 2016 Xestia Software Development. +// +// This file is part of Xestia Calendar. +// +// Xestia Address Book 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 Address Book 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" + +using namespace std; + +struct Colour{ + + int red; + int blue; + int green; + int alpha; + + 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; + + } + +}; \ No newline at end of file -- 2.39.2