X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Ftempo_lines.h;h=048c56fd7efc0ab6bcfd9d1a9c5cc8a2d5a97857;hb=0038820f473664a9a4fb524537cd846a9e024661;hp=defe07226c0c8a4016816f1efb0555f4fe778db8;hpb=6ae4f104371ed433a79c8845de97428d964edd8b;p=ardour.git diff --git a/gtk2_ardour/tempo_lines.h b/gtk2_ardour/tempo_lines.h index defe07226c..048c56fd7e 100644 --- a/gtk2_ardour/tempo_lines.h +++ b/gtk2_ardour/tempo_lines.h @@ -19,40 +19,32 @@ #ifndef __ardour_tempo_lines_h__ #define __ardour_tempo_lines_h__ -#include -#include -#include #include "ardour/tempo.h" -typedef boost::fast_pool_allocator< - std::pair, - boost::default_user_allocator_new_delete, - boost::details::pool::null_mutex, - 8192> - MapAllocator; +#include "canvas/line_set.h" class TempoLines { public: - TempoLines(ArdourCanvas::GtkCanvasViewport& canvas, ArdourCanvas::Group* group, double screen_height); + TempoLines (ArdourCanvas::Container* group, double screen_height); void tempo_map_changed(); - void draw(const ARDOUR::TempoMap::BBTPointList::const_iterator& begin, - const ARDOUR::TempoMap::BBTPointList::const_iterator& end, - double frames_per_unit); + void draw (const ARDOUR::TempoMap::BBTPointList::const_iterator& begin, + const ARDOUR::TempoMap::BBTPointList::const_iterator& end, + unsigned divisions, + framecnt_t leftmost_frame, + framecnt_t frame_rate); void show(); void hide(); private: - typedef std::map, MapAllocator> Lines; - Lines _lines; - - ArdourCanvas::GtkCanvasViewport& _canvas_viewport; - ArdourCanvas::Group* _group; - double _clean_left; - double _clean_right; - double _height; + void draw_ticks (const ARDOUR::TempoMap::BBTPointList::const_iterator& b, + unsigned divisions, + framecnt_t leftmost_frame, + framecnt_t frame_rate); + + ArdourCanvas::LineSet lines; }; #endif /* __ardour_tempo_lines_h__ */