lyx_mirror/src/Color.h
Juergen Spitzmueller 7b762ee950 Branch: Implement separate static colors in dark mode
Set colors now apply to the active mode only. Matching reversed colors
are produced for the other mode if no color is assigned yet.

File format change.
2021-01-19 17:04:04 +01:00

73 lines
1.7 KiB
C++

// -*- C++ -*-
/**
* \file Color.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Asger Alstrup
* \author Lars Gullik Bjønnes
* \author Matthias Ettrich
* \author Jean-Marc Lasgouttes
* \author Angus Leeming
* \author John Levon
* \author André Pönitz
* \author Martin Vermeer
*
* Full author contact details are available in file CREDITS.
*/
#ifndef COLOR_H
#define COLOR_H
#include "ColorCode.h"
#include "support/strfwd.h"
namespace lyx {
/**
* \class Color
*
* A class holding a definition of a certain color.
*
* A color can be one of the following kinds:
*
* - a single color, then mergeColor = Color_ignore
* - a merged color, i.e. the average of the base and merge colors.
*/
class Color
{
public:
///
Color(ColorCode base_color = Color_none);
/// \name Comparison operators
//@{
bool operator==(Color const & color) const;
bool operator!=(Color const & color) const;
bool operator<(Color const & color) const;
bool operator<=(Color const & color) const;
//@}
/// the base color
ColorCode baseColor;
/// The color that is merged with the base color. Set
/// mergeColor to Color_ignore if no merging is wanted.
ColorCode mergeColor;
};
std::ostream & operator<<(std::ostream & os, Color color);
std::string const X11hexname(RGBColor const & col);
RGBColor rgbFromHexName(std::string const & x11hexname);
std::string const outputLaTeXColor(RGBColor const & color);
/// Inverse of outputLaTeXColor
RGBColor const RGBColorFromLaTeX(std::string const & color);
/// Inverted color
RGBColor const inverseRGBColor(RGBColor color);
} // namespace lyx
#endif // COLOR_H