Editor Summary: Don't require user to re-click to scroll + zoom.
[ardour.git] / gtk2_ardour / region_gain_line.h
index 7950c9b0e7b58248b1a0a73b65b4f65c52f588d8..e6789c222c089fe66f8c88a5f880efcff0cecbd4 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2000-2007 Paul Davis 
+    Copyright (C) 2000-2007 Paul Davis
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -21,7 +21,7 @@
 #define __ardour_gtk_region_gain_line_h__
 
 #include "ardour/ardour.h"
-#include <libgnomecanvasmm.h>
+
 
 #include "automation_line.h"
 
@@ -34,18 +34,19 @@ class AudioRegionView;
 
 class AudioRegionGainLine : public AutomationLine
 {
-  public:
-       AudioRegionGainLine (const std::string & name, ARDOUR::Session&, AudioRegionView&, ArdourCanvas::Group& parent, boost::shared_ptr<ARDOUR::AutomationList>);
-       
-       void start_drag (ControlPoint*, nframes_t x, float fraction);
-       void end_drag (ControlPoint*);
+public:
+       AudioRegionGainLine (const std::string & name, AudioRegionView&, ArdourCanvas::Container& parent, boost::shared_ptr<ARDOUR::AutomationList>);
+
+       void start_drag_single (ControlPoint*, double, float);
+       void end_drag (bool with_push, uint32_t final_index);
 
        void remove_point (ControlPoint&);
+       AudioRegionView& region_view () { return rv; }
 
-  private:
-       ARDOUR::Session& session;
+private:
+       PBD::ScopedConnection _region_changed_connection;
+       void region_changed (const PBD::PropertyChange& what_changed);
        AudioRegionView& rv;
 };
 
-
 #endif /* __ardour_gtk_region_gain_line_h__ */