move contrasting_text_color() into ArdourCanvas
[ardour.git] / gtk2_ardour / automation_region_view.h
index 55c1b77d6404d7f0dd8724428ce195d17fa3de97..1dec06f0c63bc73ae269edc6ecfaee2cb443fde8 100644 (file)
@@ -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
 #ifndef __gtk_ardour_automation_region_view_h__
 #define __gtk_ardour_automation_region_view_h__
 
-#include "ardour/diskstream.h"
 #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;
@@ -39,38 +37,36 @@ class TimeAxisView;
 class AutomationRegionView : public RegionView
 {
 public:
-       AutomationRegionView(ArdourCanvas::Group*,
-                            AutomationTimeAxisViewPtr,
+       AutomationRegionView(ArdourCanvas::Container*,
+                            AutomationTimeAxisView&,
                             boost::shared_ptr<ARDOUR::Region>,
                             const Evoral::Parameter& parameter,
                             boost::shared_ptr<ARDOUR::AutomationList>,
-                            double initial_samples_per_unit,
-                            Gdk::Color const & basic_color);
-
-       ~AutomationRegionView() {}
-       
-       void init (Gdk::Color const & basic_color, bool wfd);
-       
-       inline AutomationTimeAxisViewPtr automation_view() const {
-               return boost::dynamic_pointer_cast<AutomationTimeAxisView> (trackview);
-       }
-       
-       void set_line(boost::shared_ptr<AutomationLine> line) { _line = line; }
+                            double initial_samples_per_pixel,
+                            uint32_t basic_color);
+
+       ~AutomationRegionView();
+
+       void init (bool wfd);
+
+       inline AutomationTimeAxisView* automation_view() const
+               { return dynamic_cast<AutomationTimeAxisView*>(&trackview); }
+
        boost::shared_ptr<AutomationLine> line() { return _line; }
-       
+
        // We are a ghost.  Meta ghosts?  Crazy talk.
-       virtual GhostRegion* add_ghost(TimeAxisViewPtr) { return 0; }
-       
+       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<ARDOUR::AutomationList> 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: