Go to the documentation of this file.
15 #include <boost/operators.hpp>
28 inline double computeC(
double c) {
return c <= 0.03928 ? c / 12.92 : pow((c + 0.055) / 1.055, 2.4); }
35 :
public boost::addable<Color>
36 ,
public boost::multiplicative<Color, double>
49 Color(
double red_,
double green_,
double blue_,
double alpha_ = 1.0)
58 explicit Color(
double gray,
double alpha_ = 1.0)
93 [[nodiscard]] std::string
getHex()
const
97 ss << std::hex << std::setfill(
'0');
125 return Color(L > 0.179 ? 0 : 1);
Color setAlpha(double alpha_) const
Definition: color.hh:130
uint8_t byteFromDouble(double d)
Definition: color.hh:21
Color(double gray, double alpha_=1.0)
Definition: color.hh:58
void setColor(cairo_t *cr) const
Definition: color.hh:117
Color & operator+=(const Color &rhs)
Definition: color.hh:66
uint16_t shortFromDouble(double d)
Definition: color.hh:23
double alpha
Definition: color.hh:39
double blue
Definition: color.hh:42
Color mix(const Color &a, const Color &b, double alpha)
Definition: color.hh:133
uint32_t getARGB32() const
Definition: color.hh:112
double red
Definition: color.hh:40
GdkColor getGdkColor() const
Definition: color.hh:119
double doubleFromByte(uint8_t b)
Definition: color.hh:22
uint32_t getRGB24() const
Definition: color.hh:107
std::string getHex() const
Definition: color.hh:93
double computeC(double c)
Definition: color.hh:28
Color & operator*=(double d)
Definition: color.hh:84
static void b(const B::Ptr &)
Definition: gtkhelper-tests.cc:32
Definition: async-deleter.hh:12
Color(double red_, double green_, double blue_, double alpha_=1.0)
Definition: color.hh:49
Color getContrastingBlackOrWhite() const
Definition: color.hh:121
Color & setAlpha(double alpha_)
Definition: color.hh:128
double green
Definition: color.hh:41
Color & operator/=(double d)
Definition: color.hh:75