X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fcanvas%2Fcanvas%2Fpoly_line.h;h=04b05f5df1f33b2b7fede5a787e2bb29bf5874db;hb=2a5921ecf159d49597264a9328dc899bba55e57e;hp=e870e51876690df8ed95c60e8966ebfe943e1bfe;hpb=aaea166135ace01709f7e0be64f40be80f4107ec;p=ardour.git diff --git a/libs/canvas/canvas/poly_line.h b/libs/canvas/canvas/poly_line.h index e870e51876..04b05f5df1 100644 --- a/libs/canvas/canvas/poly_line.h +++ b/libs/canvas/canvas/poly_line.h @@ -1,19 +1,51 @@ +/* + Copyright (C) 2011-2013 Paul Davis + Author: Carl Hetherington + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + #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 *); - + public: + PolyLine (Canvas*); + PolyLine (Item*); + void render (Rect const & area, Cairo::RefPtr) const; - XMLNode* get_state () const; - void set_state (XMLNode const *); + + virtual void set_steps (Points const &, bool stepped); + + 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); + + private: + double _threshold; }; }