X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Ftempo_lines.h;h=158ef7b1f96504f6ed4b0e9494de8815efb5c71d;hb=38e94875647782fa6c28e25be471f0cff6c97d2a;hp=f4ee293e29118694f292813d0513094721992d8d;hpb=1745340c67d66d8dd92e5b3a377e935ed5eea973;p=ardour.git diff --git a/gtk2_ardour/tempo_lines.h b/gtk2_ardour/tempo_lines.h index f4ee293e29..158ef7b1f9 100644 --- a/gtk2_ardour/tempo_lines.h +++ b/gtk2_ardour/tempo_lines.h @@ -19,30 +19,34 @@ #ifndef __ardour_tempo_lines_h__ #define __ardour_tempo_lines_h__ -#include +#include "ardour/beats_frames_converter.h" #include "ardour/tempo.h" +#include "canvas/line_set.h" + class TempoLines { public: - TempoLines(ArdourCanvas::Canvas& canvas, ArdourCanvas::Group* group, double screen_height); + TempoLines (ArdourCanvas::Container* group, double screen_height, ARDOUR::BeatsFramesConverter* bfc); + ~TempoLines (); - void tempo_map_changed(); + void tempo_map_changed(framepos_t new_origin); - void draw (const ARDOUR::TempoMap::BBTPointList::const_iterator& begin, - const ARDOUR::TempoMap::BBTPointList::const_iterator& end, - double frames_per_unit); + void draw (std::vector& grid, + unsigned divisions, + ARDOUR::framecnt_t leftmost_frame, + ARDOUR::framecnt_t frame_rate); void show(); void hide(); private: - typedef std::list Lines; - Lines _lines; - Lines _cache; + void draw_ticks (std::vector& grid, + unsigned divisions, + ARDOUR::framecnt_t leftmost_frame, + ARDOUR::framecnt_t frame_rate); - ArdourCanvas::Canvas& _canvas; - ArdourCanvas::Group* _group; - double _height; + ArdourCanvas::LineSet lines; + ARDOUR::BeatsFramesConverter* _bfc; }; #endif /* __ardour_tempo_lines_h__ */