X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fcanvas%2Fcanvas%2Fpoly_line.h;h=7c6894719cd91de6723a78b06e78b9d28758b850;hb=6f019faaa0c3875040ec608f30b09832daa5bc87;hp=911dd140fc13ebba65cc9d6e6f154d998053cc56;hpb=cc92c879bfd989aa8de25fdc29fb8d9b2ec7a992;p=ardour.git diff --git a/libs/canvas/canvas/poly_line.h b/libs/canvas/canvas/poly_line.h index 911dd140fc..7c6894719c 100644 --- a/libs/canvas/canvas/poly_line.h +++ b/libs/canvas/canvas/poly_line.h @@ -20,19 +20,38 @@ #ifndef __CANVAS_POLY_LINE_H__ #define __CANVAS_POLY_LINE_H__ +#include "canvas/visibility.h" #include "canvas/poly_item.h" #include "canvas/outline.h" namespace ArdourCanvas { -class PolyLine : public PolyItem +class LIBCANVAS_API PolyLine : public PolyItem { public: - PolyLine (Group *); + PolyLine (Canvas*); + PolyLine (Item*); void render (Rect const & area, Cairo::RefPtr) const; + + virtual void set_steps (Points const &, bool stepped); + virtual void compute_bounding_box () const; + + bool covers (Duple const &) const; + /** + * Set the distance at which a point will be considered to be covered + * by the line. For the definition of "distance" see + * utils.cc:distance_to_segment_squared() + */ + void set_covers_threshold (double); + + void set_fill_y1 (double); + +private: + double _threshold; + double _y1; }; - + } #endif