X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fautomation_region_view.h;h=c9b7d47f18c590418e37a01709232d75d6dd8a15;hb=5fef65538040fbac1b9edd1847a269aa925a49c9;hp=8933b30b19e7d660a61e7c2f2c9a6661c5052b7a;hpb=57077093b706c5938f9fd70f70d031cae2c59217;p=ardour.git diff --git a/gtk2_ardour/automation_region_view.h b/gtk2_ardour/automation_region_view.h index 8933b30b19..c9b7d47f18 100644 --- a/gtk2_ardour/automation_region_view.h +++ b/gtk2_ardour/automation_region_view.h @@ -26,7 +26,6 @@ #include "automation_time_axis.h" #include "automation_line.h" #include "enums.h" -#include "canvas.h" namespace ARDOUR { class AutomationList; @@ -38,17 +37,30 @@ class TimeAxisView; class AutomationRegionView : public RegionView { public: - AutomationRegionView(ArdourCanvas::Group*, + AutomationRegionView(ArdourCanvas::Container*, AutomationTimeAxisView&, boost::shared_ptr, const Evoral::Parameter& parameter, boost::shared_ptr, - double initial_samples_per_unit, - Gdk::Color const & basic_color); + double initial_samples_per_pixel, + 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 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(&trackview); } @@ -56,7 +68,7 @@ public: boost::shared_ptr 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; } void set_height (double); void reset_width_dependent_items(double pixel_width); @@ -65,14 +77,16 @@ protected: void create_line(boost::shared_ptr 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, bool with_guard_points); - 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 entered(); void exited(); private: - Evoral::Parameter _parameter; - boost::shared_ptr _line; + ARDOUR::DoubleBeatsFramesConverter _region_relative_time_converter; + ARDOUR::DoubleBeatsFramesConverter _source_relative_time_converter; + Evoral::Parameter _parameter; + boost::shared_ptr _line; }; #endif /* __gtk_ardour_automation_region_view_h__ */