Allow strips to add or remove personal sends
[ardour.git] / gtk2_ardour / panner2d.h
index fdd4748f8f753d19a50052321673c4b665736eee..f3077187aba4b38c3431a1c1e3a36d467a3aba6b 100644 (file)
@@ -46,7 +46,7 @@ namespace Gtk {
 }
 
 namespace Pango {
-       class Layout;
+       class Container;
 }
 
 class Panner2dWindow;
@@ -63,6 +63,7 @@ class Panner2d : public Gtk::DrawingArea
        int  add_signal (const char* text, const PBD::AngularVector&);
        void move_signal (int which, const PBD::AngularVector&);
        void reset (uint32_t n_inputs);
+       void set_send_drawing_mode (bool);
 
        boost::shared_ptr<ARDOUR::PannerShell> get_panner_shell() const { return panner_shell; }
 
@@ -99,6 +100,26 @@ class Panner2d : public Gtk::DrawingArea
                bool _selected;
        };
 
+       struct ColorScheme {
+               uint32_t background;
+               uint32_t crosshairs;
+               uint32_t signalcircle_border;
+               uint32_t signalcircle;
+               uint32_t diffusion;
+               uint32_t diffusion_inv;
+               uint32_t pos_outline;
+               uint32_t pos_fill;
+               uint32_t signal_outline;
+               uint32_t signal_fill;
+               uint32_t speaker_fill;
+               uint32_t text;
+       };
+
+       static ColorScheme colors;
+       static void set_colors ();
+       static bool have_colors;
+       void color_handler ();
+
        boost::shared_ptr<ARDOUR::PannerShell> panner_shell;
        Glib::RefPtr<Pango::Layout> layout;
 
@@ -117,6 +138,7 @@ class Panner2d : public Gtk::DrawingArea
        double  last_width;
        bool    did_move;
        bool    have_elevation;
+       bool    _send_mode;
 
        Target *find_closest_object (gdouble x, gdouble y, bool& is_signal);