refactor(color): Better channel function names
(alpha|red|green|blue)_(d|i) are used for the four channels using doubles or integers, respectively.
This commit is contained in:
parent
477189e443
commit
53c6f3b042
@ -70,7 +70,7 @@ namespace cairo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
context& operator<<(const rgba& f) {
|
context& operator<<(const rgba& f) {
|
||||||
cairo_set_source_rgba(m_c, f.r(), f.g(), f.b(), f.a());
|
cairo_set_source_rgba(m_c, f.red_d(), f.green_d(), f.blue_d(), f.alpha_d());
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -105,7 +105,7 @@ namespace cairo {
|
|||||||
auto offset = 0.0;
|
auto offset = 0.0;
|
||||||
for (auto&& color : l.steps) {
|
for (auto&& color : l.steps) {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
cairo_pattern_add_color_stop_rgba(pattern, offset, color.r(), color.g(), color.b(), color.a());
|
cairo_pattern_add_color_stop_rgba(pattern, offset, color.red_d(), color.green_d(), color.blue_d(), color.alpha_d());
|
||||||
// clang-format on
|
// clang-format on
|
||||||
offset += step;
|
offset += step;
|
||||||
}
|
}
|
||||||
|
@ -24,15 +24,15 @@ class rgba {
|
|||||||
uint32_t value() const;
|
uint32_t value() const;
|
||||||
color_type type() const;
|
color_type type() const;
|
||||||
|
|
||||||
double a() const;
|
double alpha_d() const;
|
||||||
double r() const;
|
double red_d() const;
|
||||||
double g() const;
|
double green_d() const;
|
||||||
double b() const;
|
double blue_d() const;
|
||||||
|
|
||||||
uint8_t a_int() const;
|
uint8_t alpha_i() const;
|
||||||
uint8_t r_int() const;
|
uint8_t red_i() const;
|
||||||
uint8_t g_int() const;
|
uint8_t green_i() const;
|
||||||
uint8_t b_int() const;
|
uint8_t blue_i() const;
|
||||||
|
|
||||||
bool has_color() const;
|
bool has_color() const;
|
||||||
rgba apply_alpha(rgba other) const;
|
rgba apply_alpha(rgba other) const;
|
||||||
|
@ -85,7 +85,7 @@ bool rgba::operator==(const rgba& other) const {
|
|||||||
case ARGB:
|
case ARGB:
|
||||||
return m_value == other.m_value;
|
return m_value == other.m_value;
|
||||||
case ALPHA_ONLY:
|
case ALPHA_ONLY:
|
||||||
return a_int() == other.a_int();
|
return alpha_i() == other.alpha_i();
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -103,35 +103,35 @@ rgba::color_type rgba::type() const {
|
|||||||
return m_type;
|
return m_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
double rgba::a() const {
|
double rgba::alpha_d() const {
|
||||||
return a_int() / 255.0;
|
return alpha_i() / 255.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
double rgba::r() const {
|
double rgba::red_d() const {
|
||||||
return r_int() / 255.0;
|
return red_i() / 255.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
double rgba::g() const {
|
double rgba::green_d() const {
|
||||||
return g_int() / 255.0;
|
return green_i() / 255.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
double rgba::b() const {
|
double rgba::blue_d() const {
|
||||||
return b_int() / 255.0;
|
return blue_i() / 255.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t rgba::a_int() const {
|
uint8_t rgba::alpha_i() const {
|
||||||
return (m_value >> 24) & 0xFF;
|
return (m_value >> 24) & 0xFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t rgba::r_int() const {
|
uint8_t rgba::red_i() const {
|
||||||
return (m_value >> 16) & 0xFF;
|
return (m_value >> 16) & 0xFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t rgba::g_int() const {
|
uint8_t rgba::green_i() const {
|
||||||
return (m_value >> 8) & 0xFF;
|
return (m_value >> 8) & 0xFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t rgba::b_int() const {
|
uint8_t rgba::blue_i() const {
|
||||||
return m_value & 0xFF;
|
return m_value & 0xFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -145,7 +145,7 @@ bool rgba::has_color() const {
|
|||||||
* Useful for ALPHA_ONLY colors
|
* Useful for ALPHA_ONLY colors
|
||||||
*/
|
*/
|
||||||
rgba rgba::apply_alpha(rgba other) const {
|
rgba rgba::apply_alpha(rgba other) const {
|
||||||
uint32_t val = (m_value & 0x00FFFFFF) | (((uint32_t)other.a_int()) << 24);
|
uint32_t val = (m_value & 0x00FFFFFF) | (((uint32_t)other.alpha_i()) << 24);
|
||||||
return rgba(val, m_type);
|
return rgba(val, m_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,7 +130,7 @@ void tray_manager::setup(const bar_settings& bar_opts) {
|
|||||||
// Set user-defined background color
|
// Set user-defined background color
|
||||||
m_opts.background = conf.get(bs, "tray-background", bar_opts.background);
|
m_opts.background = conf.get(bs, "tray-background", bar_opts.background);
|
||||||
|
|
||||||
if (m_opts.background.a_int() != 255) {
|
if (m_opts.background.alpha_i() != 255) {
|
||||||
m_log.trace("tray: enable transparency");
|
m_log.trace("tray: enable transparency");
|
||||||
m_opts.transparent = true;
|
m_opts.transparent = true;
|
||||||
}
|
}
|
||||||
@ -638,9 +638,9 @@ void tray_manager::set_wm_hints() {
|
|||||||
void tray_manager::set_tray_colors() {
|
void tray_manager::set_tray_colors() {
|
||||||
m_log.trace("tray: Set _NET_SYSTEM_TRAY_COLORS to %x", m_opts.background);
|
m_log.trace("tray: Set _NET_SYSTEM_TRAY_COLORS to %x", m_opts.background);
|
||||||
|
|
||||||
auto r = m_opts.background.r_int();
|
auto r = m_opts.background.red_i();
|
||||||
auto g = m_opts.background.g_int();
|
auto g = m_opts.background.green_i();
|
||||||
auto b = m_opts.background.b_int();
|
auto b = m_opts.background.blue_i();
|
||||||
|
|
||||||
const unsigned int colors[12] = {
|
const unsigned int colors[12] = {
|
||||||
r, g, b, // normal
|
r, g, b, // normal
|
||||||
|
@ -87,13 +87,13 @@ TEST(Rgba, hasColor) {
|
|||||||
|
|
||||||
TEST(Rgba, channel) {
|
TEST(Rgba, channel) {
|
||||||
rgba v{0xCC123456};
|
rgba v{0xCC123456};
|
||||||
EXPECT_EQ(0xCC, v.a_int());
|
EXPECT_EQ(0xCC, v.alpha_i());
|
||||||
EXPECT_EQ(0x12, v.r_int());
|
EXPECT_EQ(0x12, v.red_i());
|
||||||
EXPECT_EQ(0x34, v.g_int());
|
EXPECT_EQ(0x34, v.green_i());
|
||||||
EXPECT_EQ(0x56, v.b_int());
|
EXPECT_EQ(0x56, v.blue_i());
|
||||||
|
|
||||||
EXPECT_EQ(0xCC / 255.0, rgba{0xCC112233}.a());
|
EXPECT_EQ(0xCC / 255.0, rgba{0xCC112233}.alpha_d());
|
||||||
EXPECT_EQ(0x99 / 255.0, rgba{0x88449933}.g());
|
EXPECT_EQ(0x99 / 255.0, rgba{0x88449933}.green_d());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(Rgba, applyAlpha) {
|
TEST(Rgba, applyAlpha) {
|
||||||
|
Loading…
Reference in New Issue
Block a user