19 #ifndef GNASH_AGG_LINEAR_INTERPOLATOR_H 20 #define GNASH_AGG_LINEAR_INTERPOLATOR_H 32 const double a = 0.055;
33 if (s <= 0.0031308)
return 12.92 *
s;
34 return (1 + a) * std::pow(s, 1 / 2.4) -
a;
41 const int diff = b -
a;
42 const double d =
linearToSRGB((diff < 0) ? 1 - ratio : ratio);
54 template<
class ColorT>
74 const double ratio =
static_cast<double>(_count) / _len;
76 cdiff(_c1.r, _c2.r, ratio),
77 cdiff(_c1.g, _c2.g, ratio),
78 cdiff(_c1.b, _c2.b, ratio),
79 _c1.a + (_c2.a - _c1.a) * ratio);
Definition: GnashKey.h:147
Definition: GnashKey.h:150
void operator++()
Definition: LinearRGB.h:69
ColorT color_type
Definition: LinearRGB.h:58
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:40
Interpolate in the linear RGB colorspace.
Definition: LinearRGB.h:55
color_type color() const
Definition: LinearRGB.h:73
T cdiff(T a, T b, double ratio)
Definition: LinearRGB.h:39
Definition: GnashKey.h:148
linear_rgb_interpolator(color_type c1, color_type c2, size_t len)
Definition: LinearRGB.h:60
Definition: GnashKey.h:132
Definition: GnashKey.h:165
double linearToSRGB(double s)
Convert linear RGB colorspace to sRGB.
Definition: LinearRGB.h:30