diff options
author | David Robillard <d@drobilla.net> | 2014-12-16 20:37:16 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2014-12-18 20:23:34 -0500 |
commit | 60313085209a6213a7388e0b1070c10e83fe2a10 (patch) | |
tree | 8838eac295e2079cc1c2b28defb0819a6271e3ca /gtk2_ardour/midi_region_view.cc | |
parent | a12a065457a10d9be2582f3ad2fcee7178405981 (diff) |
Use color modifiers for dynamic region styles.
Diffstat (limited to 'gtk2_ardour/midi_region_view.cc')
-rw-r--r-- | gtk2_ardour/midi_region_view.cc | 39 |
1 files changed, 7 insertions, 32 deletions
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index 787a997e7e..330a2204bf 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -426,8 +426,6 @@ MidiRegionView::enter_notify (GdkEventCrossing* ev) bool MidiRegionView::leave_notify (GdkEventCrossing*) { - _mouse_mode_connection.disconnect (); - leave_internal(); _entered = false; @@ -3242,40 +3240,17 @@ MidiRegionView::note_mouse_position (float x_fraction, float /*y_fraction*/, boo } uint32_t -MidiRegionView::fill_opacity() const +MidiRegionView::get_fill_color() const { - uint32_t a = RegionView::fill_opacity(); - if (trackview.editor().current_mouse_mode() == MouseDraw || - trackview.editor().current_mouse_mode() == MouseContent) { - /* Make rect more transparent when in an internal mode. This should - probably be configurable somehow. */ - a /= 2; - } - return a; -} - -void -MidiRegionView::set_frame_color() -{ - uint32_t f; - - TimeAxisViewItem::set_frame_color (); - - if (!frame) { - return; - } - + const std::string mod_name = (_dragging ? "dragging region" : + trackview.editor().internal_editing() ? "editable region" : + "midi frame base"); if (_selected) { - f = ARDOUR_UI::config()->color ("selected region base"); + return ARDOUR_UI::config()->color_mod ("selected region base", mod_name); } else if (high_enough_for_name || !ARDOUR_UI::config()->get_color_regions_using_track_color()) { - f = ARDOUR_UI::config()->color_mod ("midi frame base", "midi frame base"); - } else { - f = fill_color; + return ARDOUR_UI::config()->color_mod ("midi frame base", mod_name); } - - f = UINT_RGBA_CHANGE_A (f, fill_opacity()); - - frame->set_fill_color (f); + return ARDOUR_UI::config()->color_mod (fill_color, mod_name); } void |