807ffac7c4542d311d576f601ff39c875c584dd1
[ardour.git] / gtk2_ardour / region_gain_line.h
1 #ifndef __ardour_gtk_region_gain_line_h__
2 #define __ardour_gtk_region_gain_line_h__
3
4 #include <ardour/ardour.h>
5 #include <gtk-canvas.h>
6 #include <gtkmm.h>
7
8 #include "automation_line.h"
9
10 namespace ARDOUR {
11         class Session;
12 }
13
14 class TimeAxisView;
15 class AudioRegionView;
16
17 class AudioRegionGainLine : public AutomationLine
18 {
19   public:
20         AudioRegionGainLine (string name, ARDOUR::Session&, AudioRegionView&, GtkCanvasItem* parent,
21                              ARDOUR::Curve&, 
22                              gint (*point_callback)(GtkCanvasItem*, GdkEvent*, gpointer),
23                              gint (*line_callback)(GtkCanvasItem*, GdkEvent*, gpointer));
24         
25         void view_to_model_y (double&);
26         void model_to_view_y (double&);
27
28         void start_drag (ControlPoint*, float fraction);
29         void end_drag (ControlPoint*);
30
31         void remove_point (ControlPoint&);
32
33
34
35   private:
36         ARDOUR::Session& session;
37         AudioRegionView& rv;
38
39         UndoAction get_memento();
40 };
41
42
43 #endif /* __ardour_gtk_region_gain_line_h__ */