]> git.lyx.org Git - features.git/blobdiff - src/frontends/xforms/Color.h
Replace LString.h with support/std_string.h,
[features.git] / src / frontends / xforms / Color.h
index 98965b454a4f0ca29a13a7601b0706d6edb3e0db..86a8de28813ae3dee25b420fc52efb8e521ab274 100644 (file)
@@ -1,13 +1,12 @@
 // -*- C++ -*-
 /**
  * \file Color.h
- * Copyright 1995 Matthias Ettrich
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author Angus Leeming 
+ * \author Angus Leeming
  *
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
  */
 
 /* structs RGBColor and HSVColor to enable simple conversion between
 #ifndef COLOR_H
 #define COLOR_H
 
-#ifdef __GNUG__
-#pragma interface
-#endif
 
-#include "LString.h"
+#include "support/std_string.h"
+#include "LColor.h"
+
+/** Given col, fills r, g, b in the range 0-255.
+    The function returns true if successful.
+    It returns false on failure and sets r, g, b to 0. */
+bool getRGBColor(LColor::color col,
+                unsigned int & r, unsigned int & g, unsigned int & b);
 
 struct RGBColor;
+/// returns a string of form #rrggbb, given an RGBColor struct
+string const X11hexname(RGBColor const & col);
 
 struct HSVColor {
        double h;
@@ -36,13 +41,15 @@ struct HSVColor {
 };
 
 struct RGBColor {
-       int r;
-       int g;
-       int b;
+       unsigned int r;
+       unsigned int g;
+       unsigned int b;
        RGBColor() : r(0), g(0), b(0) {}
-       RGBColor(int red, int green, int blue)
+       RGBColor(unsigned int red, unsigned int green, unsigned int blue)
                : r(red), g(green), b(blue) {}
        RGBColor(HSVColor const &);
+       /// \param x11hexname is of the form "#ffa071"
+       RGBColor(string const & x11hexname);
 };
 
 struct NamedColor : public RGBColor {