X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fautomation_region_view.h;h=3b372bce7d74d060ff77acb91c8dd585032e20fb;hb=ecb92f474f8f39e04f2aee02dabab7fa03af6c19;hp=dfe774aba6435722b3de3862413966ad6f91eb21;hpb=b5ec66ae6cb60fa43c343d3d29340b2370d0b9d1;p=ardour.git diff --git a/gtk2_ardour/automation_region_view.h b/gtk2_ardour/automation_region_view.h index dfe774aba6..3b372bce7d 100644 --- a/gtk2_ardour/automation_region_view.h +++ b/gtk2_ardour/automation_region_view.h @@ -1,6 +1,6 @@ /* - Copyright (C) 2007 Paul Davis - Author: Dave Robillard + Copyright (C) 2007 Paul Davis + Author: David Robillard 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 @@ -20,14 +20,12 @@ #ifndef __gtk_ardour_automation_region_view_h__ #define __gtk_ardour_automation_region_view_h__ -#include -#include +#include "ardour/types.h" #include "region_view.h" #include "automation_time_axis.h" #include "automation_line.h" #include "enums.h" -#include "canvas.h" namespace ARDOUR { class AutomationList; @@ -44,32 +42,31 @@ public: boost::shared_ptr, const Evoral::Parameter& parameter, boost::shared_ptr, - double initial_samples_per_unit, - Gdk::Color& basic_color); + double initial_samples_per_pixel, + uint32_t basic_color); + + ~AutomationRegionView(); + + void init (bool wfd); - ~AutomationRegionView() {} - - void init (Gdk::Color& basic_color, bool wfd); - inline AutomationTimeAxisView* automation_view() const { return dynamic_cast(&trackview); } - - void set_line(boost::shared_ptr line) { _line = line; } + 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); protected: void create_line(boost::shared_ptr list); - bool set_position(nframes_t pos, void* src, double* ignored); - void region_resized(ARDOUR::Change what_changed); + 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, nframes_t when, double y); - void entered(); + void add_automation_event (GdkEvent* event, framepos_t when, double y, bool with_guard_points); + void entered (bool); void exited(); private: