// with Xestia Calendar. If not, see <http://www.gnu.org/licenses/>
#include <string>
+#include <sstream>
#include "text.h"
#ifndef __COMMON_COLOUR_H__
int green = 0;
int alpha = 255;
+ Colour& operator= (string const &arg){
+
+ // Check if the size of the string is 9.
+ // Return if not.
+
+ if (arg.size() != 9){
+
+ return *this;
+
+ }
+
+ // Check if the first character has a hash in.
+ // Return if not.
+
+ if (arg.substr(0,1) != "#"){
+
+ return *this;
+
+ }
+
+ // Check each character (1-8) and make sure
+ // it is a number or a letter between A and F.
+
+ for (int characterSeek = 1; characterSeek < 9; characterSeek++){
+
+ int characterASCII = 0;
+
+ characterASCII = arg[characterSeek];
+
+ if ((characterASCII < 48 && characterASCII > 57) || (characterASCII < 65 && characterASCII > 70)){
+ return *this;
+ }
+
+ }
+
+ istringstream hexNumber;
+
+ // Set the red value.
+
+ hexNumber.str(arg.substr(1,2));
+ hexNumber >> hex >> this->red;
+
+ // Set the green value.
+
+ hexNumber.clear();
+ hexNumber.str(arg.substr(3,2));
+ hexNumber >> hex >> this->green;
+
+ // Set the blue value.
+
+ hexNumber.clear();
+ hexNumber.str(arg.substr(5,2));
+ hexNumber >> hex >> this->blue;
+
+ // Set the alpha value.
+
+ hexNumber.clear();
+ hexNumber.str(arg.substr(7,2));
+ hexNumber >> hex >> this->alpha;
+
+ return *this;
+
+ }
+
operator string() {
string ColourOut;