X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fcanvas%2Fcanvas%2Farrow.h;h=45c6eb110e30e3a42c4d67f8ffc052f3284f170d;hb=585fa45b628b0b3e6ef2c29c1a2610859e74d942;hp=a5a338a3ba7f67d81abb3cefef7952785e61af0f;hpb=5e0e41e068a04603198a4e50464d794156f42c47;p=ardour.git diff --git a/libs/canvas/canvas/arrow.h b/libs/canvas/canvas/arrow.h index a5a338a3ba..45c6eb110e 100644 --- a/libs/canvas/canvas/arrow.h +++ b/libs/canvas/canvas/arrow.h @@ -25,10 +25,12 @@ #ifndef __CANVAS_ARROW_H__ #define __CANVAS_ARROW_H__ -#include "canvas/group.h" +#include "canvas/visibility.h" +#include "canvas/container.h" namespace ArdourCanvas { +class Canvas; class Line; class Polygon; @@ -43,10 +45,11 @@ class Polygon; * to draw lines at any angle. */ -class Arrow : public Group +class LIBCANVAS_API Arrow : public Container { public: - Arrow (Group *); + Arrow (Canvas*); + Arrow (Item*); void set_show_head (int, bool); void set_head_outward (int, bool); @@ -62,13 +65,15 @@ public: void set_y0 (Coord); void set_y1 (Coord); + bool covers (Duple const &) const; + private: void setup_polygon (int); + void setup (); /** Representation of a single arrow head */ struct Head { Polygon* polygon; ///< the polygon which represents its shape - bool show; ///< true if this head should be visible bool outward; ///< true if this head points out from the line Distance height; ///< the height of the head Distance width; ///< the maximum width of the head