/*****
 * drawpath.h
 * Andy Hammerlindl 2002/06/06
 *
 * Stores a path that has been added to a picture.
 *****/

#ifndef DRAWPATH_H
#define DRAWPATH_H

#include "drawelement.h"
#include "path.h"

namespace camp {

class drawPath : public drawPathPenBase {
public:
  drawPath(path src, pen pentype, const string& key="") :
    drawElement(key), drawPathPenBase(src,pentype) {}

  virtual ~drawPath() {}

  void bounds(bbox& b, iopipestream&, boxvector&, bboxlist&) {
    strokebounds(b,p);
  }

  bool svg() {return true;}

  bool draw(psfile *out);

  drawElement *transformed(const transform& t);
};

pen adjustdash(pen& p, double arclength, bool cyclic);
}

#endif
