rationalize color handling for fade in/out handles
authorPaul Davis <paul@linuxaudiosystems.com>
Tue, 10 Dec 2013 03:04:13 +0000 (22:04 -0500)
committerPaul Davis <paul@linuxaudiosystems.com>
Tue, 10 Dec 2013 03:04:13 +0000 (22:04 -0500)
gtk2_ardour/ardour3_ui_default.conf
gtk2_ardour/audio_region_view.cc
gtk2_ardour/canvas_vars.h
gtk2_ardour/editor_mouse.cc

index f60fa9502133a4e9adea26d6a39c2e2821cf6ec3..619874982d6d503594448835ce9b084073fd27da 100644 (file)
@@ -38,6 +38,7 @@
     <Option name="ghost track zero line" value="e500e566"/>
     <Option name="image track" value="ddddd8ff"/>
     <Option name="inactive crossfade" value="e8ed3d77"/>
+    <Option name="inactive fade handle" value="bbbbbbaa"/>
     <Option name="location cd marker" value="1ee8c4ff"/>
     <Option name="location loop" value="35964fff"/>
     <Option name="location marker" value="c4f411ff"/>
index dabc1788c7ca030fd359faaba6aa5374de5d4cc9..73fa167e2f84b58ba1b4cb3e47570ed388f20d0e 100644 (file)
@@ -173,14 +173,14 @@ AudioRegionView::init (Gdk::Color const & basic_color, bool wfd)
                fade_in_handle = new ArdourCanvas::Rectangle (group);
                CANVAS_DEBUG_NAME (fade_in_handle, string_compose ("fade in handle for %1", region()->name()));
                fade_in_handle->set_outline_color (RGBA_TO_UINT (0, 0, 0, 255));
-               fade_in_handle->set_fill_color (UINT_RGBA_CHANGE_A (fade_color, 255));
+               fade_in_handle->set_fill_color (ARDOUR_UI::config()->get_canvasvar_InactiveFadeHandle());
                fade_in_handle->set_data ("regionview", this);
                fade_in_handle->hide ();
 
                fade_out_handle = new ArdourCanvas::Rectangle (group);
                CANVAS_DEBUG_NAME (fade_out_handle, string_compose ("fade out handle for %1", region()->name()));
                fade_out_handle->set_outline_color (RGBA_TO_UINT (0, 0, 0, 255));
-               fade_out_handle->set_fill_color (UINT_RGBA_CHANGE_A (fade_color, 255)); 
+               fade_out_handle->set_fill_color (ARDOUR_UI::config()->get_canvasvar_InactiveFadeHandle());
                fade_out_handle->set_data ("regionview", this);
                fade_out_handle->hide ();
        }
index 34116c8736801720f226e460d9f5f0e74111b3a4..becb138e6245c35b05360d50cd5b0c13e508ee40 100644 (file)
@@ -51,6 +51,7 @@ CANVAS_VARIABLE(canvasvar_GhostTrackWaveClip, "ghost track wave clip")
 CANVAS_VARIABLE(canvasvar_GhostTrackZeroLine, "ghost track zero line")
 CANVAS_VARIABLE(canvasvar_ImageTrack, "image track")
 CANVAS_VARIABLE(canvasvar_InactiveCrossfade, "inactive crossfade")
+CANVAS_VARIABLE(canvasvar_InactiveFadeHandle, "inactive fade handle")
 CANVAS_VARIABLE(canvasvar_LocationCDMarker, "location cd marker")
 CANVAS_VARIABLE(canvasvar_LocationLoop, "location loop")
 CANVAS_VARIABLE(canvasvar_LocationMarker, "location marker")
index 7782f393ae5a31990889d3e92f87756fc1bcd5a2..0c2dfcbdcb5092cb0f82d490a96640b692d4f184 100644 (file)
@@ -1982,9 +1982,10 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
                if (mouse_mode == MouseObject && !internal_editing()) {
                        ArdourCanvas::Rectangle *rect = dynamic_cast<ArdourCanvas::Rectangle *> (item);
                        if (rect) {
-                               rect->set_fill_color (0xBBBBBBAA);
+                               RegionView* rv = static_cast<RegionView*>(item->get_data ("regionview"));
+                               rect->set_fill_color (rv->get_fill_color());
+                               set_canvas_cursor (_cursors->fade_in);
                        }
-                       set_canvas_cursor (_cursors->fade_in);
                }
                break;
 
@@ -1992,9 +1993,10 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
                if (mouse_mode == MouseObject && !internal_editing()) {
                        ArdourCanvas::Rectangle *rect = dynamic_cast<ArdourCanvas::Rectangle *> (item);
                        if (rect) {
-                               rect->set_fill_color (0xBBBBBBAA);
+                               RegionView* rv = static_cast<RegionView*>(item->get_data ("regionview"));
+                               rect->set_fill_color (rv->get_fill_color ());
+                               set_canvas_cursor (_cursors->fade_out);
                        }
-                       set_canvas_cursor (_cursors->fade_out);
                }
                break;
        case FeatureLineItem:
@@ -2138,7 +2140,7 @@ Editor::leave_handler (ArdourCanvas::Item* item, GdkEvent*, ItemType item_type)
                {
                        ArdourCanvas::Rectangle *rect = dynamic_cast<ArdourCanvas::Rectangle *> (item);
                        if (rect) {
-                               rect->set_fill_color (rv->get_fill_color());
+                               rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_InactiveFadeHandle());
                        }
                }
                set_canvas_cursor (current_canvas_cursor);