summaryrefslogtreecommitdiff
path: root/libs/canvas/canvas/polygon.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/canvas/canvas/polygon.h')
-rw-r--r--libs/canvas/canvas/polygon.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/libs/canvas/canvas/polygon.h b/libs/canvas/canvas/polygon.h
index addfe48100..917122a9a2 100644
--- a/libs/canvas/canvas/polygon.h
+++ b/libs/canvas/canvas/polygon.h
@@ -20,18 +20,29 @@
#ifndef __CANVAS_POLYGON_H__
#define __CANVAS_POLYGON_H__
+#include "canvas/visibility.h"
#include "canvas/poly_item.h"
#include "canvas/outline.h"
#include "canvas/fill.h"
namespace ArdourCanvas {
-class Polygon : public PolyItem, public Fill
+class LIBCANVAS_API Polygon : public PolyItem, public Fill
{
public:
Polygon (Group *);
+ virtual ~Polygon();
void render (Rect const & area, Cairo::RefPtr<Cairo::Context>) const;
+ void compute_bounding_box () const;
+ bool covers (Duple const &) const;
+
+ protected:
+ mutable float* multiple;
+ mutable float* constant;
+ mutable Points::size_type cached_size;
+
+ void cache_shape_computation () const;
};
}