use new volume meter for other users

This commit is contained in:
ouwou
2022-10-20 02:17:50 -04:00
parent e2110c22ee
commit 848e75f577
3 changed files with 16 additions and 6 deletions

View File

@@ -17,6 +17,10 @@ void VolumeMeter::SetTick(double fraction) {
queue_draw();
}
void VolumeMeter::SetShowTick(bool show) {
m_show_tick = show;
}
Gtk::SizeRequestMode VolumeMeter::get_request_mode_vfunc() const {
return Gtk::Widget::get_request_mode_vfunc();
}
@@ -109,11 +113,13 @@ bool VolumeMeter::on_draw(const Cairo::RefPtr<Cairo::Context> &cr) {
cr->rectangle(0.0, 0.0, draw_low, height);
cr->fill();
const double tick_base = width * m_tick;
if (m_show_tick) {
const double tick_base = width * m_tick;
cr->set_source_rgb(0.8, 0.8, 0.8);
cr->rectangle(tick_base, 0, 4, height);
cr->fill();
cr->set_source_rgb(0.8, 0.8, 0.8);
cr->rectangle(tick_base, 0, 4, height);
cr->fill();
}
return true;
}

View File

@@ -7,6 +7,7 @@ public:
void SetVolume(double fraction);
void SetTick(double fraction);
void SetShowTick(bool show);
protected:
Gtk::SizeRequestMode get_request_mode_vfunc() const override;
@@ -26,4 +27,5 @@ private:
double m_fraction = 0.0;
double m_tick = 0.0;
bool m_show_tick = false;
};