#ifndef __CANVAS_ARC_H__
#define __CANVAS_ARC_H__
+#include "canvas/visibility.h"
#include "canvas/item.h"
#include "canvas/outline.h"
#include "canvas/fill.h"
namespace ArdourCanvas {
-class Arc : virtual public Item, public Outline, public Fill
+class Canvas;
+
+class LIBCANVAS_API Arc : public Item
{
public:
- Arc (Group *);
+ Arc (Canvas*);
+ Arc (Item*);
void render (Rect const & area, Cairo::RefPtr<Cairo::Context>) const;
void compute_bounding_box () const;
void set_arc (double degrees);
void set_start (double degrees);
- Duple center() const {
+ Duple center() const {
return _center;
}
Coord radius () const {
return _start_degrees;
}
+ bool covers (Duple const &) const;
+
private:
Duple _center;
Coord _radius;