]> git.lyx.org Git - lyx.git/blobdiff - src/Color.cpp
* GuiDocument.cpp:
[lyx.git] / src / Color.cpp
index 79953e3339f78006ea986100873d31cd0b8704cc..45181294dcf11cc4adca81a7ef1ec46d3190dd0d 100644 (file)
@@ -19,6 +19,7 @@
 #include "Color.h"
 #include "ColorSet.h"
 
+#include "support/convert.h"
 #include "support/debug.h"
 #include "support/gettext.h"
 #include "support/lstrings.h"
@@ -84,6 +85,28 @@ RGBColor rgbFromHexName(string const & x11hexname)
        return c;
 }
 
+string const outputLaTeXColor(RGBColor const & color)
+{
+       // this routine returns a LaTeX readable color string in the form
+       // "red, green, blue" where the colors are a number in the range 0-1 
+       int red = color.r;
+       int green = color.g;
+       int blue = color.b;
+       // the color values are given in the range of 0-255, so to get
+       // an output of "0.5" for the value 127 we need to do the following
+       if (red != 0)
+               ++red;
+       if (green != 0)
+               ++green;
+       if (blue != 0)
+               ++blue;
+       string output;
+       output = convert<string>(float(red) / 256) + ", "
+                        + convert<string>(float(green) / 256) + ", "
+                        + convert<string>(float(blue) / 256);
+       return output;
+}
+
 
 Color::Color(ColorCode base_color) : baseColor(base_color), 
        mergeColor(Color_ignore)