8a8e43f2c74a5f624485205c575c1d2436981ab7
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> const & path_in);
33 virtual void resetDefaults(SPItem * item);
35 virtual void transform_multiply(Geom::Matrix const& postmul, bool set);
37 private:
38 PathParam strokepath;
39 ScalarParam nrofpaths;
40 RandomParam startpoint_edge_variation;
41 RandomParam startpoint_spacing_variation;
42 RandomParam endpoint_edge_variation;
43 RandomParam endpoint_spacing_variation;
44 ScalarParam prop_scale;
45 BoolParam scale_y_rel;
47 LPECurveStitch(const LPECurveStitch&);
48 LPECurveStitch& operator=(const LPECurveStitch&);
49 };
51 } //namespace LivePathEffect
52 } //namespace Inkscape
54 #endif