summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_region_view.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-12-16 20:37:16 -0500
committerDavid Robillard <d@drobilla.net>2014-12-18 20:23:34 -0500
commit60313085209a6213a7388e0b1070c10e83fe2a10 (patch)
tree8838eac295e2079cc1c2b28defb0819a6271e3ca /gtk2_ardour/midi_region_view.cc
parenta12a065457a10d9be2582f3ad2fcee7178405981 (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.cc39
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