2 /* This file is part of
3 * ======================================================
5 * LyX, The Document Processor
7 * Copyright 1998-2001 The LyX Team
9 *======================================================*/
19 This is a stateless class.
21 It has one basic purposes:
22 To serve as a color-namespace container (the Color enum).
29 * A class holding color definitions and associated names for
30 * LaTeX, X11, the GUI, and LyX internally.
32 * A color can be one of the following kinds:
34 * - A real, predefined color, such as black, white, red or green.
35 * - A logical color, such as no color, inherit, math
38 class LColor // : public boost::noncopyable {
39 // made copyable for same reasons as LyXRC was made copyable. See there for
43 /// Names of colors, including all logical colors
45 /// No particular color---clear or default
47 /// The different text colors
64 // Needed interface colors
72 /// Background color of selected text
74 /// Text color in LaTeX mode
76 /// The color used for previews
79 /// Text color for notes
81 /// Background color of notes
85 /// Color for the depth bars in the margin
87 /// Color for marking foreign language words
90 /// Text color for command insets
92 /// Background color for command insets
94 /// Frame color for command insets
97 /// Special chars text color
100 /// Graphics inset background color
102 /// Math inset text color
104 /// Math inset background color
106 /// Macro math inset background color
108 /// Math inset frame color
110 /// Math cursor color
115 /// caption frame color
118 /// collapsable insets text
120 /// collapsable insets frame
123 /// Inset marker background color
125 /// Inset marker frame color
128 /// Error box text color
132 /// Added space colour
134 /// Appendix line color
142 /// Top and bottom line color
148 /// Bottom area color
153 // FIXME: why are the next four separate ??
154 /// Color used for top of boxes
156 /// Color used for bottom of boxes
158 /// Color used for left side of boxes
160 /// Color used for right side of boxes
162 /// Color used for bottom background
165 // Logical attributes
167 /// Color is inherited
169 /// For ignoring updates of a color
175 /// set the given LyX color to the color defined by the X11 name given
176 void setColor(LColor::color col, string const & x11name);
177 /// set the given LyX color to the color defined by the X11 name given
178 bool setColor(string const & lyxname, string const & x11name);
180 /// Get GUI name of color
181 string const getGUIName(LColor::color c) const;
183 /// Get X11 name of color
184 string const getX11Name(LColor::color c) const;
186 /// Get LaTeX name of color
187 string const getLaTeXName(LColor::color c) const;
189 /// Get LyX name of color
190 string const getLyXName(LColor::color c) const;
192 /// get the color from the GUI name
193 LColor::color getFromGUIName(string const & guiname) const;
194 /// get the color from the LyX name
195 LColor::color getFromLyXName(string const & lyxname) const;
199 /// the name as it appears in the GUI
201 /// the name used in LaTeX
209 /// initialise a color entry
210 void fill(LColor::color col, string const & gui,
211 string const & latex, string const & x11,
215 typedef std::map<LColor::color, information> InfoTab;
216 /// the table of color information
220 /// the current color definitions
221 extern LColor lcolor;
222 /// the system color definitions
223 extern LColor system_lcolor;