// -*- c++ -*- #pragma once #ifndef __RAYS_POLYLINE_H__ #define __RAYS_POLYLINE_H__ #include #include #include #include #include namespace Rays { class Polygon; class Polyline { public: typedef std::vector PointList; typedef PointList::const_iterator const_iterator; Polyline (); Polyline (const Point* points, size_t size, bool loop = false); Polyline (const Point* points, size_t size, bool loop, bool fill); ~Polyline (); bool expand ( Polygon* result, coord width, CapType cap = CAP_DEFAULT, JoinType join = JOIN_DEFAULT, coord miter_limit = JOIN_DEFAULT_MITER_LIMIT) const; Bounds bounds () const; bool loop () const; bool fill () const; size_t size () const; bool empty () const; const_iterator begin () const; const_iterator end () const; const Point& operator [] (size_t index) const; operator bool () const; bool operator ! () const; struct Data; Xot::PSharedImpl self; };// Polyline }// Rays #endif//EOH