X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fcanvas%2Fcanvas%2Fline_set.h;h=ccce24aa8959ca0d3db8cea79a6273c80a8aaba1;hb=9a0a2a29b53a7d8b74d64039a3a594e54262ef29;hp=a9b13651d9ed9c736c9bc0fb4151865591e62a13;hpb=8c9749e42faf7808034ed8b7afce4a2fe6dc6f33;p=ardour.git diff --git a/libs/canvas/canvas/line_set.h b/libs/canvas/canvas/line_set.h index a9b13651d9..ccce24aa89 100644 --- a/libs/canvas/canvas/line_set.h +++ b/libs/canvas/canvas/line_set.h @@ -17,6 +17,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#ifndef __CANVAS_LINESET_H__ +#define __CANVAS_LINESET_H__ + +#include + #include "canvas/visibility.h" #include "canvas/item.h" @@ -30,29 +35,34 @@ public: Horizontal }; - LineSet (Group *); + LineSet (Canvas*, Orientation o = Vertical); + LineSet (Item*, Orientation o = Vertical); void compute_bounding_box () const; void render (Rect const & area, Cairo::RefPtr) const; - bool covers (Duple const &) const; + bool covers (Duple const &) const; - void set_height (Distance); + void set_extent (Distance); + Distance extent() const { return _extent; } - void add (Coord, Distance, Color); + void add (Coord, Distance, Gtkmm2ext::Color); void clear (); struct Line { - Line (Coord y_, Distance width_, Color color_) : y (y_), width (width_), color (color_) {} - - Coord y; + Line (Coord p, Distance width_, Gtkmm2ext::Color color_) : pos (p), width (width_), color (color_) {} + + Coord pos; Distance width; - Color color; + Gtkmm2ext::Color color; }; private: - std::list _lines; - Distance _height; + std::vector _lines; + Distance _extent; + Orientation _orientation; }; } + +#endif /* __CANVAS_LINESET_H__ */