1 #ifndef INKSCAPE_LPE_VONKOCH_H
2 #define INKSCAPE_LPE_VONKOCH_H
4 /*
5 * Inkscape::LPEVonKoch
6 *
7 * Copyright (C) Johan Engelen 2007 <j.b.c.engelen@utwente.nl>
8 *
9 * Released under GNU GPL, read the file 'COPYING' for more information
10 */
12 #include "live_effects/effect.h"
13 #include "live_effects/parameter/path.h"
14 #include "live_effects/parameter/enum.h"
15 #include "live_effects/parameter/bool.h"
17 namespace Inkscape {
18 namespace LivePathEffect {
20 class LPEVonKoch : public Effect {
21 public:
22 LPEVonKoch(LivePathEffectObject *lpeobject);
23 virtual ~LPEVonKoch();
25 virtual std::vector<Geom::Path> doEffect_path (std::vector<Geom::Path> & path_in);
27 virtual void resetDefaults(SPItem * item);
29 virtual void transform_multiply(Geom::Matrix const& postmul, bool set);
31 private:
32 ScalarParam nbgenerations;
33 PathParam generator;
34 BoolParam drawall;
35 BoolParam vertical_pattern;
37 void on_pattern_pasted();
39 LPEVonKoch(const LPEVonKoch&);
40 LPEVonKoch& operator=(const LPEVonKoch&);
41 };
43 }; //namespace LivePathEffect
44 }; //namespace Inkscape
46 #endif