summaryrefslogtreecommitdiff
path: root/gtk2_ardour/gain_meter.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-05 22:18:04 +0200
committerRobin Gareus <robin@gareus.org>2013-07-10 15:27:11 +0200
commit62d5585e34d410c9c5feb7cf7b4742360c2187b0 (patch)
tree3ca7125166d46d2205187867a8f499aa009fcda8 /gtk2_ardour/gain_meter.cc
parent09be35c5cbfc218f9a83842e10f41db14ba4abea (diff)
prepare meter configuration..
- rework metric/tick image cache invalidation - flush cache - send signal to queue redraws (TODO) selectively flush cache // cache per size, style - add four common line up levels
Diffstat (limited to 'gtk2_ardour/gain_meter.cc')
-rw-r--r--gtk2_ardour/gain_meter.cc17
1 files changed, 7 insertions, 10 deletions
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc
index 5ddfdc18f4..a398c7c833 100644
--- a/gtk2_ardour/gain_meter.cc
+++ b/gtk2_ardour/gain_meter.cc
@@ -130,6 +130,7 @@ GainMeterBase::GainMeterBase (Session* s, bool horizontal, int fader_length, int
ResetAllPeakDisplays.connect (sigc::mem_fun(*this, &GainMeterBase::reset_peak_display));
ResetRoutePeakDisplays.connect (sigc::mem_fun(*this, &GainMeterBase::reset_route_peak_display));
ResetGroupPeakDisplays.connect (sigc::mem_fun(*this, &GainMeterBase::reset_group_peak_display));
+ RedrawMetrics.connect (sigc::mem_fun(*this, &GainMeterBase::redraw_metrics));
UI::instance()->theme_changed.connect (sigc::mem_fun(*this, &GainMeterBase::on_theme_changed));
ColorsChanged.connect (sigc::bind(sigc::mem_fun (*this, &GainMeterBase::color_handler), false));
@@ -851,11 +852,7 @@ GainMeterBase::update_meters()
void GainMeterBase::color_handler(bool dpi)
{
- meter_clear_pattern_cache();
setup_meters();
- meter_metric_area.queue_draw ();
- meter_ticks1_area.queue_draw ();
- meter_ticks2_area.queue_draw ();
}
void
@@ -873,7 +870,11 @@ GainMeterBase::set_width (Width w, int len)
void
GainMeterBase::on_theme_changed()
{
- meter_clear_pattern_cache();
+}
+
+void
+GainMeterBase::redraw_metrics()
+{
meter_metric_area.queue_draw ();
meter_ticks1_area.queue_draw ();
meter_ticks2_area.queue_draw ();
@@ -1062,10 +1063,6 @@ GainMeter::meter_configuration_changed (ChanCount c)
set_meter_strip_name ("AudioMidiTrackMetricsInactive");
}
}
-
- meter_clear_pattern_cache();
- meter_metric_area.queue_draw ();
- meter_ticks1_area.queue_draw ();
- meter_ticks2_area.queue_draw ();
+ meter_clear_pattern_cache(); // XXX only once
}