*/
class ArdourMarker : public sigc::trackable
{
- public:
+public:
enum Type {
Mark,
Tempo,
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 ();
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);
bool label_on_left () const;
- protected:
+protected:
PublicEditor& editor;
Pango::FontDescription name_font;
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;
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;
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);
+ void update_height_mark (const double ratio);
private:
ARDOUR::TempoSection& _tempo;
};
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; }