lyx_mirror/src/ColorCode.h

207 lines
4.2 KiB
C
Raw Normal View History

// -*- C++ -*-
/**
* \file ColorCode.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* Full author contact details are available in file CREDITS.
*/
#ifndef COLOR_CODE_H
#define COLOR_CODE_H
namespace lyx {
/// Names of colors, including all logical colors
enum ColorCode
{
/// No particular color---clear or default
Color_none,
/// The different text colors
Color_black,
///
Color_white,
///
Color_red,
///
Color_green,
///
Color_blue,
///
Color_cyan,
///
Color_magenta,
///
Color_yellow,
// Needed interface colors
/// Cursor color
Color_cursor,
/// Background color
Color_background,
/// Foreground color
Color_foreground,
/// Background color of selected text
Color_selection,
/// Text color in LaTeX mode
Color_latex,
/// The color used for previews
Color_preview,
/// Inline completion color
Color_inlinecompletion,
/// Inline completion color for the non-unique part
Color_nonunique_inlinecompletion,
/// Label color for notes
Color_notelabel,
/// Background color of notes
Color_notebg,
/// Label color for comments
Color_commentlabel,
/// Background color of comments
Color_commentbg,
/// Label color for greyedout insets
Color_greyedoutlabel,
/// Background color of greyedout inset
Color_greyedoutbg,
/// Shaded box background
Color_shadedbg,
/// Label color for branches
Color_branchlabel,
/// Label color for footnotes
Color_footlabel,
/// Label color for index insets
Color_indexlabel,
/// Label color for margin notes
Color_marginlabel,
/// Label color for URL insets
Color_urllabel,
/// Color for URL inset text
Color_urltext,
/// Color for the depth bars in the margin
Color_depthbar,
/// Color for marking foreign language words
Color_language,
/// Text color for command insets
Color_command,
/// Background color for command insets
Color_commandbg,
/// Frame color for command insets
Color_commandframe,
/// Special chars text color
Color_special,
/// Graphics inset background color
Color_graphicsbg,
/// Math inset text color
Color_math,
/// Math inset background color
Color_mathbg,
/// Macro math inset background color
Color_mathmacrobg,
/// Macro math inset background color hovered
Color_mathmacrohoverbg,
/// Macro math label color
Color_mathmacrolabel,
/// Macro math frame color
Color_mathmacroframe,
/// Macro math blended color
Color_mathmacroblend,
/// Macro template color for old parameters
Color_mathmacrooldarg,
/// Macro template color for new parameters
Color_mathmacronewarg,
/// Math inset frame color under focus
Color_mathframe,
/// Math inset frame color not under focus
Color_mathcorners,
/// Math line color
Color_mathline,
/// caption frame color
Color_captionframe,
/// collapsable insets text
Color_collapsable,
/// collapsable insets frame
Color_collapsableframe,
/// Inset marker background color
Color_insetbg,
/// Inset marker frame color
Color_insetframe,
/// Error box text color
Color_error,
/// EOL marker color
Color_eolmarker,
/// Added space colour
Color_added_space,
/// Appendix marker color
Color_appendix,
/// changebar color
Color_changebar,
/// deleted text color
Color_deletedtext,
/// added text color
Color_addedtext,
/// Top and bottom line color
Color_topline,
/// Table line color
Color_tabularline,
/// Table line color
Color_tabularonoffline,
/// Bottom area color
Color_bottomarea,
/// New page color
Color_newpage,
/// Page break color
Color_pagebreak,
// FIXME: why are the next four separate ??
/// Color used for button frame
Color_buttonframe,
/// Color used for bottom background
Color_buttonbg,
/// Color used for buttom under focus
Color_buttonhoverbg,
// Logical attributes
/// Color is inherited
Color_inherit,
/// For ignoring updates of a color
Color_ignore
};
struct RGBColor {
unsigned int r;
unsigned int g;
unsigned int b;
RGBColor() : r(0), g(0), b(0) {}
RGBColor(unsigned int red, unsigned int green, unsigned int blue)
: r(red), g(green), b(blue) {}
};
inline bool operator==(RGBColor const & c1, RGBColor const & c2)
{
return (c1.r == c2.r && c1.g == c2.g && c1.b == c2.b);
}
inline bool operator!=(RGBColor const & c1, RGBColor const & c2)
{
return !(c1 == c2);
}
} // namespace lyx
#endif