Merge branch 'master' into cairocanvas
[ardour.git] / libs / gtkmm2ext / gtkmm2ext / barcontroller.h
index e0e14f1c26d1625873a9711a9aa64d087b9f62a7..76dc8f2d49fd0208dd1cd4d21982fc1bc71bbb25 100644 (file)
@@ -22,6 +22,7 @@
 #include <gtkmm/frame.h>
 #include <gtkmm/drawingarea.h>
 #include <gtkmm2ext/binding_proxy.h>
+#include <cairo.h>
 
 
 namespace Gtkmm2ext {
@@ -31,7 +32,7 @@ class BarController : public Gtk::Frame
   public:
        BarController (Gtk::Adjustment& adj, boost::shared_ptr<PBD::Controllable>);
 
-       virtual ~BarController () {}
+       virtual ~BarController ();
 
        enum barStyle {
                LeftToRight,
@@ -82,11 +83,17 @@ class BarController : public Gtk::Frame
        Gtk::SpinButton     spinner;
        bool                use_parent;
        bool                logarithmic;
+        sigc::slot<std::string> _label_slot;
+        bool                    _use_slot;
 
-       virtual std::string get_label (int& /*x*/) {
+       virtual std::string get_label (double& /*x*/) {
                return "";
        }
        
+       void create_patterns();
+       Cairo::RefPtr<Cairo::Pattern> pattern;
+       Cairo::RefPtr<Cairo::Pattern> shine_pattern;
+
        virtual bool button_press (GdkEventButton *);
        virtual bool button_release (GdkEventButton *);
        virtual bool motion (GdkEventMotion *);