Code

0cb6b492eec30f234b14cd02dd1a59ed87f6f4e3
[inkscape.git] / src / live_effects / lpe-curvestitch.h
1 #ifndef INKSCAPE_LPE_CURVESTITCH_H
2 #define INKSCAPE_LPE_CURVESTITCH_H
4 /** \file
5  * Implementation of the curve stitch effect, see lpe-curvestitch.cpp
6  */
8 /*
9  * Authors:
10  *   Johan Engelen
11 *
12 * Copyright (C) Johan Engelen 2007 <j.b.c.engelen@utwente.nl>
13  *
14  * Released under GNU GPL, read the file 'COPYING' for more information
15  */
17 #include "live_effects/effect.h"
18 #include "live_effects/parameter/path.h"
19 #include "live_effects/parameter/parameter.h"
20 #include "live_effects/parameter/bool.h"
21 #include "live_effects/parameter/random.h"
23 namespace Inkscape {
24 namespace LivePathEffect {
26 class LPECurveStitch : public Effect {
27 public:
28     LPECurveStitch(LivePathEffectObject *lpeobject);
29     virtual ~LPECurveStitch();
31     virtual std::vector<Geom::Path> doEffect_path (std::vector<Geom::Path> & path_in);
33     virtual void resetDefaults(SPItem * item);
35 private:
36     PathParam strokepath;
37     ScalarParam nrofpaths;
38     RandomParam startpoint_edge_variation;
39     RandomParam startpoint_spacing_variation;
40     RandomParam endpoint_edge_variation;
41     RandomParam endpoint_spacing_variation;
42     ScalarParam prop_scale;
43     BoolParam scale_y_rel;
45     LPECurveStitch(const LPECurveStitch&);
46     LPECurveStitch& operator=(const LPECurveStitch&);
47 };
49 } //namespace LivePathEffect
50 } //namespace Inkscape
52 #endif