summaryrefslogtreecommitdiff
path: root/libs/canvas/canvas/poly_item.h
blob: 1b6f1028eef0cb21abe661fa8b5d5a7576040286 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef __CANVAS_POLY_ITEM_H__
#define __CANVAS_POLY_ITEM_H__

#include "canvas/item.h"
#include "canvas/outline.h"

namespace ArdourCanvas {

class PolyItem : virtual public Item, public Outline
{
public:
	PolyItem (Group *);

	void compute_bounding_box () const;

	virtual void set (Points const &);
	Points const & get () const;

        void dump (std::ostream&) const;

protected:
	void render_path (Rect const &, Cairo::RefPtr<Cairo::Context>) const;
        void render_curve (Rect const &, Cairo::RefPtr<Cairo::Context>, Points const &, Points const &) const;

	Points _points;
};
	
}

#endif