X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fpanner2d.h;h=f3077187aba4b38c3431a1c1e3a36d467a3aba6b;hb=746665e89cf66c5688cd584555168bb8323b824e;hp=60534d04c6b952b3f39db1abbb5f98cb93b7e5b5;hpb=c46e74012e5727bd46b7bcf813970f60f1179af4;p=ardour.git diff --git a/gtk2_ardour/panner2d.h b/gtk2_ardour/panner2d.h index 60534d04c6..f3077187ab 100644 --- a/gtk2_ardour/panner2d.h +++ b/gtk2_ardour/panner2d.h @@ -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 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 panner_shell; Glib::RefPtr 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); @@ -127,8 +149,8 @@ class Panner2d : public Gtk::DrawingArea void handle_position_change (); void label_signals (); - PBD::ScopedConnectionList connections; - PBD::ScopedConnectionList panconnect; + PBD::ScopedConnectionList panshell_connections; + PBD::ScopedConnectionList panner_connections; /* cartesian coordinates in GTK units ; adjust to same but on a circle of radius 1.0 and centered in the middle of our area @@ -156,10 +178,12 @@ class Panner2dWindow : public ArdourWindow Gtk::Adjustment width_adjustment; Gtk::SpinButton width_spinner; - PBD::ScopedConnectionList connections; + PBD::ScopedConnectionList panshell_connections; + PBD::ScopedConnectionList panvalue_connections; void set_bypassed(); void set_width(); + void pannable_handler (); void bypass_toggled (); void width_changed (); bool on_key_press_event (GdkEventKey*);