move contrasting_text_color() into ArdourCanvas
[ardour.git] / gtk2_ardour / automation_region_view.h
index 6d3a00d4b6a69133a2251aeda535a872879f8d97..1dec06f0c63bc73ae269edc6ecfaee2cb443fde8 100644 (file)
@@ -1,6 +1,6 @@
 /*
     Copyright (C) 2007 Paul Davis
-    Author: Dave Robillard
+    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,37 +37,36 @@ 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_unit,
-                            Gdk::Color const & basic_color);
+                            double initial_samples_per_pixel,
+                            uint32_t basic_color);
 
-       ~AutomationRegionView() {}
+       ~AutomationRegionView();
 
-       void init (Gdk::Color const & basic_color, bool wfd);
+       void init (bool wfd);
 
        inline AutomationTimeAxisView* automation_view() const
                { return dynamic_cast<AutomationTimeAxisView*>(&trackview); }
 
-       void set_line(boost::shared_ptr<AutomationLine> line) { _line = line; }
        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; }
 
        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(nframes64_t pos, void* src, double* ignored);
+       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: