0cb6b492eec30f234b14cd02dd1a59ed87f6f4e3
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