replace ::cast_dynamic() with relevant ActionManager::get_*_action() calls
[ardour.git] / gtk2_ardour / marker.h
index 67e5b1253af0f34215a2daa8a45246d3cb5f834a..443a3646b7c7fcb6400447a79117ab945929f27f 100644 (file)
@@ -44,7 +44,7 @@ class PublicEditor;
  */
 class ArdourMarker : public sigc::trackable
 {
-  public:
+public:
        enum Type {
                Mark,
                Tempo,
@@ -61,7 +61,7 @@ class ArdourMarker : public sigc::trackable
 
 
        ArdourMarker (PublicEditor& editor, ArdourCanvas::Container &, guint32 rgba, const std::string& text, Type,
-               framepos_t frame = 0, bool handle_events = true);
+                     samplepos_t sample = 0, bool handle_events = true);
 
        virtual ~ArdourMarker ();
 
@@ -75,12 +75,13 @@ class ArdourMarker : public sigc::trackable
        void set_show_line (bool);
        void canvas_height_set (double);
 
-       void set_position (framepos_t);
+       void set_position (samplepos_t);
        void set_name (const std::string&);
+       void set_points_color (uint32_t rgba);
        void set_color_rgba (uint32_t rgba);
        void setup_line ();
 
-       framepos_t position() const { return frame_position; }
+       samplepos_t position() const { return sample_position; }
 
        ArdourCanvas::Container * get_parent() { return _parent; }
        void reparent (ArdourCanvas::Container & parent);
@@ -99,7 +100,7 @@ class ArdourMarker : public sigc::trackable
 
        bool label_on_left () const;
 
-  protected:
+protected:
        PublicEditor& editor;
 
        Pango::FontDescription name_font;
@@ -107,14 +108,14 @@ class ArdourMarker : public sigc::trackable
        ArdourCanvas::Container* _parent;
        ArdourCanvas::Container *group;
        ArdourCanvas::Polygon *mark;
-        ArdourCanvas::Text *_name_item;
+       ArdourCanvas::Text *_name_item;
        ArdourCanvas::Points *points;
        ArdourCanvas::Line* _track_canvas_line;
        ArdourCanvas::Rectangle* _name_background;
 
        std::string  _name;
        double        unit_position;
-       framepos_t    frame_position;
+       samplepos_t    sample_position;
        double       _shift;
        Type         _type;
        int           name_height;
@@ -123,6 +124,7 @@ class ArdourMarker : public sigc::trackable
        bool         _line_shown;
        double       _canvas_height;
        uint32_t     _color;
+       uint32_t     _points_color;
        double       _left_label_limit; ///< the number of pixels available to the left of this marker for a label
        double       _right_label_limit; ///< the number of pixels available to the right of this marker for a label
        double       _label_offset;
@@ -140,11 +142,12 @@ private:
 class TempoMarker : public ArdourMarker
 {
   public:
-        TempoMarker (PublicEditor& editor, ArdourCanvas::Container &, guint32 rgba, const std::string& text, ARDOUR::TempoSection&);
+       TempoMarker (PublicEditor& editor, ArdourCanvas::Container &, guint32 rgba, const std::string& text, ARDOUR::TempoSection&);
        ~TempoMarker ();
 
        ARDOUR::TempoSection& tempo() const { return _tempo; }
 
+       void update_height_mark (const double ratio);
   private:
        ARDOUR::TempoSection& _tempo;
 };
@@ -152,7 +155,7 @@ class TempoMarker : public ArdourMarker
 class MeterMarker : public ArdourMarker
 {
   public:
-        MeterMarker (PublicEditor& editor, ArdourCanvas::Container &, guint32 rgba, const std::string& text, ARDOUR::MeterSection&);
+       MeterMarker (PublicEditor& editor, ArdourCanvas::Container &, guint32 rgba, const std::string& text, ARDOUR::MeterSection&);
        ~MeterMarker ();
 
        ARDOUR::MeterSection& meter() const { return _meter; }