Lua Script Example to toggle monitor section
[ardour.git] / libs / canvas / canvas / ruler.h
index 995b311e64b9c243317a3d7800bcd1bb9d5e8d6e..59ce625dca8145ecfe34c4e70e6d7d86d24d68c9 100644 (file)
@@ -28,7 +28,7 @@
 
 namespace ArdourCanvas
 {
-       
+
 class LIBCANVAS_API Ruler : public Rectangle
 {
 public:
@@ -42,7 +42,7 @@ public:
                double position;
                Style  style;
        };
-       
+
        struct Metric {
                Metric () : units_per_pixel (0) {}
                virtual ~Metric() {}
@@ -51,28 +51,37 @@ public:
 
                /* lower and upper and sample positions, which are also canvas coordinates
                 */
-               
+
                virtual void get_marks (std::vector<Mark>&, double lower, double upper, int maxchars) const = 0;
        };
-       
+
        Ruler (Canvas*, const Metric& m);
        Ruler (Canvas*, const Metric& m, Rect const&);
        Ruler (Item*, const Metric& m);
        Ruler (Item*, const Metric& m, Rect const&);
-       
+
+       virtual ~Ruler () {
+               delete _font_description;
+       }
+
        void set_range (double lower, double upper);
        void set_font_description (Pango::FontDescription);
+       void set_metric (const Metric&);
 
        void render (Rect const & area, Cairo::RefPtr<Cairo::Context>) const;
-       
+
+       void set_divide_colors (Gtkmm2ext::Color top, Gtkmm2ext::Color bottom);
+       void set_divide_height (double);
 private:
        const Metric* _metric;
 
-       /* lower and upper and sample positions, which are also canvas coordinates
-        */
+       /* lower and upper and sample positions, which are also canvas coordinates */
 
-       Coord         _lower;
-       Coord         _upper;
+       Coord            _lower;
+       Coord            _upper;
+       double           _divide_height;
+       Gtkmm2ext::Color _divider_color_top;
+       Gtkmm2ext::Color _divider_color_bottom;
 
        Pango::FontDescription* _font_description;
        mutable std::vector<Mark> marks;