X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLColor.h;h=40c656db88c65fe42582df6c5fbf49f94a96facc;hb=78046794ccfce3a20751e00b35295c290853afd6;hp=99e8c90efd3aa8012fbd2565e50f738a40c8b237;hpb=0be0fcfd5907d448cd51addf83ed7032719a0692;p=lyx.git diff --git a/src/LColor.h b/src/LColor.h index 99e8c90efd..40c656db88 100644 --- a/src/LColor.h +++ b/src/LColor.h @@ -19,8 +19,8 @@ #ifndef LCOLOR_H #define LCOLOR_H -#include "LString.h" #include +#include /** This is a stateless class. @@ -42,7 +42,7 @@ * - A logical color, such as no color, inherit, math */ -class LColor +class LColor // made copyable for same reasons as LyXRC was made copyable. See there for // explanation. { @@ -183,7 +183,7 @@ public: ignore }; - + /// LColor(); /// @@ -194,43 +194,43 @@ public: void operator=(LColor const &); /// - void LColor::fill(LColor::color c, - string const & lyxname, - string const & x11name = string(), - string const & latexname = string(), - string const & guiname = string()); + void fill(LColor::color c, + std::string const & lyxname, + std::string const & x11name = std::string(), + std::string const & latexname = std::string(), + std::string const & guiname = std::string()); /// set the given LyX color to the color defined by the X11 name given - void setColor(LColor::color col, string const & x11name); + void setColor(LColor::color col, std::string const & x11name); /// set the given LyX color to the color defined by the X11 name given - bool setColor(string const & lyxname, string const & x11name); + bool setColor(std::string const & lyxname, std::string const & x11name); /// Get GUI name of color - string const getGUIName(LColor::color c) const; + std::string const getGUIName(LColor::color c) const; /// - string const getGUIName(string const & s) const; + std::string const getGUIName(std::string const & s) const; /// Get X11 name of color - string const getX11Name(LColor::color c) const; + std::string const getX11Name(LColor::color c) const; /// - string const getX11Name(string const & s) const; + std::string const getX11Name(std::string const & s) const; /// Get LaTeX name of color - string const getLaTeXName(LColor::color c) const; + std::string const getLaTeXName(LColor::color c) const; /// - string const getLaTeXName(string const & s) const; + std::string const getLaTeXName(std::string const & s) const; /// Get LyX name of color - string const getLyXName(LColor::color c) const; + std::string const getLyXName(LColor::color c) const; /// (string-to-string version not needed as it is identity) /// size_t size() const; /// get the color from the GUI name - LColor::color getFromGUIName(string const & guiname) const; + LColor::color getFromGUIName(std::string const & guiname) const; /// get the color from the LyX name - LColor::color getFromLyXName(string const & lyxname) const; + LColor::color getFromLyXName(std::string const & lyxname) const; private: /// struct Pimpl; @@ -238,6 +238,23 @@ private: boost::scoped_ptr pimpl_; }; + +/** \c LColor_color is a wrapper for LColor::color. It can be forward-declared and + * passed as a function argument without having to expose LColor.h. + */ +class LColor_color { + LColor::color val_; +public: + /** The default constructor is nasty, + * but allows us to use LColor_color in STL containers. + */ + LColor_color() : val_(static_cast(-1)) {} + + LColor_color(LColor::color val) : val_(val) {} + operator LColor::color() const{ return val_; } +}; + + /// the current color definitions extern LColor lcolor; /// the system color definitions