diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-04-21 13:10:42 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-04-21 15:35:20 -0400 |
commit | b02a7445bfa11d1c1ea1f6762b7e845b780ab4ea (patch) | |
tree | b146dedc8b854adda7073b89a9bb7ba26315aa0d /gtk2_ardour/tempo_lines.h | |
parent | fca81c9a6a591b6f94223454a981d919c9ad51a5 (diff) |
Revert "add Group::clear(), do not clear _canvas member of Item when unparented (only the parent is changed)"
This reverts commit a4df65a56f83823aba27432685977f420458a213.
Diffstat (limited to 'gtk2_ardour/tempo_lines.h')
-rw-r--r-- | gtk2_ardour/tempo_lines.h | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/gtk2_ardour/tempo_lines.h b/gtk2_ardour/tempo_lines.h index f4ee293e29..a0c7650516 100644 --- a/gtk2_ardour/tempo_lines.h +++ b/gtk2_ardour/tempo_lines.h @@ -19,29 +19,39 @@ #ifndef __ardour_tempo_lines_h__ #define __ardour_tempo_lines_h__ -#include <list> +#include <map> +#include <boost/pool/pool.hpp> +#include <boost/pool/pool_alloc.hpp> #include "ardour/tempo.h" +typedef boost::fast_pool_allocator< + std::pair<const double, ArdourCanvas::Line*>, + boost::default_user_allocator_new_delete, + boost::details::pool::null_mutex, + 8192> + MapAllocator; + class TempoLines { public: TempoLines(ArdourCanvas::Canvas& canvas, ArdourCanvas::Group* 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, + double frames_per_unit); void show(); void hide(); private: - typedef std::list<ArdourCanvas::Line*> Lines; + typedef std::map<double, ArdourCanvas::Line*, std::less<double>, MapAllocator> Lines; Lines _lines; - Lines _cache; ArdourCanvas::Canvas& _canvas; ArdourCanvas::Group* _group; + double _clean_left; + double _clean_right; double _height; }; |