X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fstereo_panner.h;h=282d85d12f23b2f83cfb0c2443a782e7798bb385;hb=cc82fc675b096c3dfec76d0c45671b78c85007cf;hp=8b62b7d82a412bb41971914215817e52ecdb331b;hpb=f4ed14a83b3dfc0af9b92db5f73f3389c7773a04;p=ardour.git diff --git a/gtk2_ardour/stereo_panner.h b/gtk2_ardour/stereo_panner.h index 8b62b7d82a..282d85d12f 100644 --- a/gtk2_ardour/stereo_panner.h +++ b/gtk2_ardour/stereo_panner.h @@ -24,22 +24,26 @@ #include "gtkmm2ext/binding_proxy.h" #include "panner_interface.h" +namespace ARDOUR { + class PannerShell; +} + namespace PBD { - class Controllable; + class Controllable; } namespace ARDOUR { - class Panner; + class Panner; } class StereoPanner : public PannerInterface { public: - StereoPanner (boost::shared_ptr); + StereoPanner (boost::shared_ptr); ~StereoPanner (); - boost::shared_ptr get_position_controllable() const { return position_control; } - boost::shared_ptr get_width_controllable() const { return width_control; } + boost::shared_ptr get_position_controllable() const { return position_control; } + boost::shared_ptr get_width_controllable() const { return width_control; } sigc::signal StartPositionGesture; sigc::signal StopPositionGesture; @@ -51,49 +55,55 @@ class StereoPanner : public PannerInterface bool on_button_press_event (GdkEventButton*); bool on_button_release_event (GdkEventButton*); bool on_motion_notify_event (GdkEventMotion*); - bool on_scroll_event (GdkEventScroll*); - bool on_key_press_event (GdkEventKey*); + bool on_scroll_event (GdkEventScroll*); + bool on_key_press_event (GdkEventKey*); private: PannerEditor* editor (); - - boost::shared_ptr position_control; - boost::shared_ptr width_control; - PBD::ScopedConnectionList connections; - bool dragging; - bool dragging_position; - bool dragging_left; - bool dragging_right; - int drag_start_x; - int last_drag_x; - double accumulated_delta; - bool detented; - - BindingProxy position_binder; - BindingProxy width_binder; - - void set_tooltip (); - - struct ColorScheme { - uint32_t outline; - uint32_t fill; - uint32_t text; - uint32_t background; - uint32_t rule; - }; - - enum State { - Normal, - Mono, - Inverted - }; + boost::shared_ptr _panner_shell; + + boost::shared_ptr position_control; + boost::shared_ptr width_control; + PBD::ScopedConnectionList panvalue_connections; + PBD::ScopedConnectionList panshell_connections; + bool dragging_position; + bool dragging_left; + bool dragging_right; + int drag_start_x; + int last_drag_x; + double accumulated_delta; + bool detented; + + BindingProxy position_binder; + BindingProxy width_binder; + + void set_tooltip (); + + struct ColorScheme { + uint32_t outline; + uint32_t fill; + uint32_t text; + uint32_t background; + uint32_t rule; + }; + + enum State { + Normal, + Mono, + Inverted + }; bool _dragging; - static ColorScheme colors[3]; - static void set_colors (); - static bool have_colors; + static Pango::AttrList panner_font_attributes; + static bool have_font; + + static ColorScheme colors[3]; + static void set_colors (); + static bool have_colors; void color_handler (); + void bypass_handler (); + void pannable_handler (); }; #endif /* __gtk_ardour_stereo_panner_h__ */