diff --git a/src/gradient.cc b/src/gradient.cc index 1050356d..1781f430 100644 --- a/src/gradient.cc +++ b/src/gradient.cc @@ -57,6 +57,7 @@ Colour gradient_factory::convert_to_rgb(long *const array) { c.red = scaled_rgb[0] / SCALE; c.green = scaled_rgb[1] / SCALE; c.blue = scaled_rgb[2] / SCALE; + c.alpha = 255; return c; } diff --git a/tests/test-gradient.cc b/tests/test-gradient.cc index 7b9950f9..f4d5399d 100644 --- a/tests/test-gradient.cc +++ b/tests/test-gradient.cc @@ -32,8 +32,11 @@ #include #include +#include +#include + const int width = 4; -const Colour colour = Colour::from_argb32(0x996633); // brown +const Colour colour = Colour::from_argb32(0xff996633); // brown const long expected_hue = 256; const long expected_value = 0x99; // max(0x99, 0x66, 0x33) const long expected_chroma = 0x66; // (0x99 - 0x33) @@ -45,6 +48,15 @@ const long expected_blue = 0x33; const long full_scale = conky::gradient_factory::SCALE360; +std::ostream& operator<<(std::ostream& s, const Colour& c) { + s << '#'; + s << std::setfill('0'); + s << std::setw(2); + s << std::setbase(16); + s << (int)c.alpha << (int)c.red << (int)c.green << (int)c.blue; + return s; +} + TEST_CASE("gradient_factory::convert_from_rgb returns correct value") { #ifdef BUILD_X11 state = nullptr;