merge with master.
[ardour.git] / gtk2_ardour / automation_line.h
index dcd81c8b4eb31a10b29d4e22780ed47111f10dad..663310dc46c9d339e6433c219606c2e05c13847f 100644 (file)
@@ -37,7 +37,7 @@
 #include "ardour/types.h"
 
 #include "canvas/types.h"
-#include "canvas/group.h"
+#include "canvas/container.h"
 #include "canvas/poly_line.h"
 
 class AutomationLine;
@@ -47,6 +47,7 @@ class TimeAxisView;
 class AutomationTimeAxisView;
 class Selectable;
 class Selection;
+class PublicEditor;
 
 
 /** A GUI representation of an ARDOUR::AutomationList */
@@ -59,7 +60,7 @@ public:
                SelectedControlPoints = 0x4
        };
        
-       AutomationLine (const std::string& name, TimeAxisView&, ArdourCanvas::Group&,
+       AutomationLine (const std::string& name, TimeAxisView&, ArdourCanvas::Item&,
                        boost::shared_ptr<ARDOUR::AutomationList>,
                        Evoral::TimeConverter<double, ARDOUR::framepos_t>* converter = 0);
        virtual ~AutomationLine ();
@@ -104,7 +105,7 @@ public:
 
        TimeAxisView& trackview;
 
-       ArdourCanvas::Group& canvas_group() const { return *group; }
+       ArdourCanvas::Container& canvas_group() const { return *group; }
        ArdourCanvas::Item&  parent_group() const { return _parent_group; }
        ArdourCanvas::Item&  grab_item() const { return *line; }
 
@@ -172,8 +173,8 @@ protected:
        /** true if we did a push at any point during the current drag */
        bool    did_push;
 
-       ArdourCanvas::Group&        _parent_group;
-       ArdourCanvas::Group*        group;
+       ArdourCanvas::Item&        _parent_group;
+       ArdourCanvas::Container*       group;
        ArdourCanvas::PolyLine*     line; /* line */
        ArdourCanvas::Points        line_points; /* coordinates for canvas line */
        std::vector<ControlPoint*>  control_points; /* visible control points */
@@ -183,7 +184,7 @@ public:
                ContiguousControlPoints (AutomationLine& al);
                double clamp_dx (double dx);
                void move (double dx, double dy);
-               void compute_x_bounds ();
+               void compute_x_bounds (PublicEditor& e);
 private:
                AutomationLine& line;
                double before_x;