summaryrefslogtreecommitdiff
path: root/libs/canvas/canvas/line_set.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/canvas/canvas/line_set.h')
-rw-r--r--libs/canvas/canvas/line_set.h21
1 files changed, 15 insertions, 6 deletions
diff --git a/libs/canvas/canvas/line_set.h b/libs/canvas/canvas/line_set.h
index a9b13651d9..69f2b96907 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 <vector>
+
#include "canvas/visibility.h"
#include "canvas/item.h"
@@ -30,29 +35,33 @@ public:
Horizontal
};
- LineSet (Group *);
+ LineSet (Group *, Orientation o = Vertical);
void compute_bounding_box () const;
void render (Rect const & area, Cairo::RefPtr<Cairo::Context>) 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_) {}
+ Line (Coord p, Distance width_, Color color_) : pos (p), width (width_), color (color_) {}
- Coord y;
+ Coord pos;
Distance width;
Color color;
};
private:
- std::list<Line> _lines;
- Distance _height;
+ std::vector<Line> _lines;
+ Distance _extent;
+ Orientation _orientation;
};
}
+
+#endif /* __CANVAS_LINESET_H__ */