X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fcanvas%2Fcanvas%2Fline_set.h;h=c305cceab52bb52a99e53fee05d48d381757b945;hb=fccd0da9c6bf6045c000221fa2f4052b5bf25311;hp=a9b13651d9ed9c736c9bc0fb4151865591e62a13;hpb=e7c47747286c16aa575456b07120e1e8e8271bd5;p=ardour.git diff --git a/libs/canvas/canvas/line_set.h b/libs/canvas/canvas/line_set.h index a9b13651d9..c305cceab5 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; - void set_height (Distance); + void set_extent (Distance); + Distance extent() const { return _extent; } void add (Coord, Distance, 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_, Color color_) : pos (p), width (width_), color (color_) {} + + Coord pos; Distance width; Color color; }; private: - std::list _lines; - Distance _height; + std::vector _lines; + Distance _extent; + Orientation _orientation; }; } + +#endif /* __CANVAS_LINESET_H__ */