summaryrefslogtreecommitdiff
path: root/src/main/Color.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/Color.h')
-rw-r--r--src/main/Color.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/main/Color.h b/src/main/Color.h
new file mode 100644
index 0000000..fa0f05e
--- /dev/null
+++ b/src/main/Color.h
@@ -0,0 +1,56 @@
+/*
+ * Color.h
+ *
+ * Created on: 27 mai 2011
+ * Author: christian
+ */
+
+#ifndef COLOR_H_
+#define COLOR_H_
+#include <string>
+#include <vector>
+#include "exceptions.h"
+
+namespace vhc {
+
+/** Représente un objet coloré de couleurs suivantes :
+ * rouge, vert, bleu, turquoise, violet, jaune, blanc, noir et gris.
+ * <b>ATTENTION<\b> : la méthode <code>setColor(string color = "white")<\code> lance une exception si la couleur n'est pas reconnue.
+ **/
+
+class Color {
+public:
+ Color() {}
+ virtual ~Color() {}
+
+ /** Retourne (sous forme de vector<double>) la couleur de cet objet. **/
+ vector<double> getColor() const;
+
+ /** Retourne (sous forme de string) la couleur de cet objet. **/
+ string getStringColor() const;
+
+ /** Affecte la couleur de l'objet selon l'argument de la fonction.(Ici un string) **/
+ void setColor(string color = "white");
+
+ /** Affecte la couleur de l'objet selon l'argument de la fonction
+ * (Ici un vector, donc à appeler si on souhaite utiliser d'autres couleurs que celles de la classe Color.) **/
+ void setColor(vector<double> const& co);
+
+protected:
+ vector<double> color;
+private:
+ vector<double> convertTabToVector(double const& tab[4]);
+ static double red[4];
+ static double green[4];
+ static double blue[4];
+ static double turquoise[4];
+ static double purple[4];
+ static double yellow[4];
+ static double white[4];
+ static double black[4];
+ static double grey[4];
+};
+
+}
+
+#endif /* COLOR_H_ */