diff options
author | Robin Gareus <robin@gareus.org> | 2013-07-05 22:18:04 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-07-10 15:27:11 +0200 |
commit | 62d5585e34d410c9c5feb7cf7b4742360c2187b0 (patch) | |
tree | 3ca7125166d46d2205187867a8f499aa009fcda8 /gtk2_ardour/gain_meter.cc | |
parent | 09be35c5cbfc218f9a83842e10f41db14ba4abea (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.cc | 17 |
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 } |