X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Ftempo_lines.h;h=5d1d7d71faacd59d404bde770b8baae9900802b6;hb=6c19a776f43b4a9869780e3312764d039a16cd39;hp=f4ee293e29118694f292813d0513094721992d8d;hpb=37b1f5017e904005fae6b815b1519b3fa595d8d3;p=ardour.git diff --git a/gtk2_ardour/tempo_lines.h b/gtk2_ardour/tempo_lines.h index f4ee293e29..5d1d7d71fa 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_samples_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::BeatsSamplesConverter* bfc); + ~TempoLines (); - void tempo_map_changed(); + void tempo_map_changed(samplepos_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::samplecnt_t leftmost_sample, + ARDOUR::samplecnt_t sample_rate); void show(); void hide(); private: - typedef std::list Lines; - Lines _lines; - Lines _cache; + void draw_ticks (std::vector& grid, + unsigned divisions, + ARDOUR::samplecnt_t leftmost_sample, + ARDOUR::samplecnt_t sample_rate); - ArdourCanvas::Canvas& _canvas; - ArdourCanvas::Group* _group; - double _height; + ArdourCanvas::LineSet lines; + ARDOUR::BeatsSamplesConverter* _bfc; }; #endif /* __ardour_tempo_lines_h__ */