Use a C++ bool constant
[ardour.git] / gtk2_ardour / automation_region_view.h
index 571a80709a3149d246bb339d6697191fa5c95832..76632901f74a481ada0dfdedfab9628c46cd6c4b 100644 (file)
@@ -37,17 +37,30 @@ class TimeAxisView;
 class AutomationRegionView : public RegionView
 {
 public:
-       AutomationRegionView(ArdourCanvas::Group*,
+       AutomationRegionView(ArdourCanvas::Container*,
                             AutomationTimeAxisView&,
                             boost::shared_ptr<ARDOUR::Region>,
                             const Evoral::Parameter& parameter,
                             boost::shared_ptr<ARDOUR::AutomationList>,
                             double initial_samples_per_pixel,
-                            Gdk::Color const & basic_color);
+                            uint32_t basic_color);
 
        ~AutomationRegionView();
 
-       void init (Gdk::Color const & basic_color, bool wfd);
+       void init (bool wfd);
+
+       bool paste (framepos_t                                      pos,
+                   unsigned                                        paste_count,
+                   float                                           times,
+                   boost::shared_ptr<const ARDOUR::AutomationList> slist);
+
+       ARDOUR::DoubleBeatsFramesConverter const & region_relative_time_converter () const {
+               return _region_relative_time_converter;
+       }
+
+       ARDOUR::DoubleBeatsFramesConverter const & source_relative_time_converter () const {
+               return _source_relative_time_converter;
+       }
 
        inline AutomationTimeAxisView* automation_view() const
                { return dynamic_cast<AutomationTimeAxisView*>(&trackview); }
@@ -55,7 +68,9 @@ public:
        boost::shared_ptr<AutomationLine> line() { return _line; }
 
        // We are a ghost.  Meta ghosts?  Crazy talk.
-       virtual GhostRegion* add_ghost(TimeAxisView&) { return NULL; }
+       virtual GhostRegion* add_ghost(TimeAxisView&) { return 0; }
+
+       uint32_t get_fill_color() const;
 
        void set_height (double);
        void reset_width_dependent_items(double pixel_width);
@@ -64,14 +79,18 @@ protected:
        void create_line(boost::shared_ptr<ARDOUR::AutomationList> list);
        bool set_position(framepos_t pos, void* src, double* ignored);
        void region_resized (const PBD::PropertyChange&);
-       bool canvas_event(GdkEvent* ev);
-       void add_automation_event (GdkEvent* event, framepos_t when, double y);
-       void entered (bool);
+       bool canvas_group_event(GdkEvent* ev);
+       void add_automation_event (GdkEvent* event, framepos_t when, double y, bool with_guard_points);
+       void mouse_mode_changed ();
+       void entered();
        void exited();
 
 private:
-       Evoral::Parameter                 _parameter;
-       boost::shared_ptr<AutomationLine> _line;
+       ARDOUR::DoubleBeatsFramesConverter _region_relative_time_converter;
+       ARDOUR::DoubleBeatsFramesConverter _source_relative_time_converter;
+       Evoral::Parameter                  _parameter;
+       boost::shared_ptr<AutomationLine>  _line;
+       PBD::ScopedConnection              _mouse_mode_connection;
 };
 
 #endif /* __gtk_ardour_automation_region_view_h__ */