diff options
Diffstat (limited to 'libs/canvas/canvas/polygon.h')
-rw-r--r-- | libs/canvas/canvas/polygon.h | 13 |
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; }; } |