X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmarker.h;h=daa44bf0faf8e8c06b4852d825d2c17ea4382385;hb=4ed3dcd51d31a56885ce910c551c60b65905200c;hp=02ef3dc478b756e3d9de7119e077e5b7f50b943c;hpb=44564654fd825f198946d0f189421f9e569f68a6;p=ardour.git diff --git a/gtk2_ardour/marker.h b/gtk2_ardour/marker.h index 02ef3dc478..daa44bf0fa 100644 --- a/gtk2_ardour/marker.h +++ b/gtk2_ardour/marker.h @@ -27,6 +27,8 @@ #include "ardour/ardour.h" #include "pbd/signals.h" + +#include "canvas/fwd.h" #include "canvas/types.h" namespace ARDOUR { @@ -34,15 +36,6 @@ namespace ARDOUR { class MeterSection; } -namespace ArdourCanvas { - class Polygon; - class Line; - class Rectangle; - class Group; - class Pixbuf; - class Item; -} - class PublicEditor; class Marker : public sigc::trackable @@ -63,13 +56,15 @@ class Marker : public sigc::trackable }; - Marker (PublicEditor& editor, ArdourCanvas::Group &, guint32 rgba, const std::string& text, Type, + Marker (PublicEditor& editor, ArdourCanvas::Container &, guint32 rgba, const std::string& text, Type, framepos_t frame = 0, bool handle_events = true); virtual ~Marker (); static PBD::Signal1 CatchDeletion; + static void setup_sizes (const double timebar_height); + ArdourCanvas::Item& the_item() const; void set_selected (bool); @@ -83,8 +78,8 @@ class Marker : public sigc::trackable framepos_t position() const { return frame_position; } - ArdourCanvas::Group * get_parent() { return _parent; } - void reparent (ArdourCanvas::Group & parent); + ArdourCanvas::Container * get_parent() { return _parent; } + void reparent (ArdourCanvas::Container & parent); void hide (); void show (); @@ -105,13 +100,12 @@ class Marker : public sigc::trackable Pango::FontDescription name_font; - ArdourCanvas::Group* _parent; - ArdourCanvas::Group *group; + ArdourCanvas::Container* _parent; + ArdourCanvas::Container *group; ArdourCanvas::Polygon *mark; - ArdourCanvas::Pixbuf *name_pixbuf; + ArdourCanvas::Text *_name_item; ArdourCanvas::Points *points; - ArdourCanvas::Line* _line; - ArdourCanvas::Points *line_points; + ArdourCanvas::Line* _track_canvas_line; ArdourCanvas::Rectangle* _name_background; std::string _name; @@ -142,7 +136,7 @@ private: class TempoMarker : public Marker { public: - TempoMarker (PublicEditor& editor, ArdourCanvas::Group &, 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; } @@ -154,7 +148,7 @@ class TempoMarker : public Marker class MeterMarker : public Marker { public: - MeterMarker (PublicEditor& editor, ArdourCanvas::Group &, 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; }