X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_knob.h;h=f3291270cc6e2cad4c8b5fe8075ae63a445a1267;hb=af2ee3c8564c7d60cadb130b8c7ad1f4cddd2216;hp=d9a9c9420926a2fc1e7f181bce233ed5142a7d67;hpb=22b07e0233a29d9633ffa825a79503befaf2e16e;p=ardour.git diff --git a/gtk2_ardour/ardour_knob.h b/gtk2_ardour/ardour_knob.h index d9a9c94209..f3291270cc 100644 --- a/gtk2_ardour/ardour_knob.h +++ b/gtk2_ardour/ardour_knob.h @@ -25,6 +25,8 @@ #include #include "pbd/signals.h" +#include "ardour/automatable.h" + #include "gtkmm2ext/binding_proxy.h" #include "gtkmm2ext/activatable.h" #include "gtkmm2ext/cairo_widget.h" @@ -74,7 +76,7 @@ public: void add_elements (Element); static Element default_elements; - void set_tooltip_prefix (std::string pfx) { _tooltip_prefix = pfx; } + void set_tooltip_prefix (std::string pfx) { _tooltip_prefix = pfx; controllable_changed (true); } boost::shared_ptr get_controllable() { return binding_proxy.get_controllable(); } void set_controllable (boost::shared_ptr c); @@ -87,7 +89,7 @@ public: void color_handler (); protected: - void render (cairo_t *, cairo_rectangle_t *); + void render (Cairo::RefPtr const&, cairo_rectangle_t*); void on_size_request (Gtk::Requisition* req); void on_size_allocate (Gtk::Allocation&); void on_style_changed (const Glib::RefPtr&); @@ -97,14 +99,13 @@ public: bool on_focus_in_event (GdkEventFocus*); bool on_focus_out_event (GdkEventFocus*); - void controllable_changed (); + void controllable_changed (bool force_update = false); PBD::ScopedConnection watch_connection; private: - Element _elements; - - BindingProxy binding_proxy; + Element _elements; + BindingProxy binding_proxy; bool _hovering; float _grabbed_x;