1 #ifndef INKSCAPE_LPE_SKELETON_H
2 #define INKSCAPE_LPE_SKELETON_H
4 /** \file
5 * LPE <skeleton> implementation, see lpe-skeleton.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/parameter.h"
20 namespace Inkscape {
21 namespace LivePathEffect {
23 // each knotholder handle for your LPE requires a separate class derived from KnotHolderEntity;
24 // define it in lpe-skeleton.cpp and register it in the effect's constructor
25 /**
26 namespace Skeleton {
27 // we need a separate namespace to avoid clashes with other LPEs
28 class KnotHolderEntityMyHandle;
29 }
30 **/
32 class LPESkeleton : public Effect {
33 public:
34 LPESkeleton(LivePathEffectObject *lpeobject);
35 virtual ~LPESkeleton();
37 // Choose to implement one of the doEffect functions. You can delete or comment out the others.
38 // virtual void doEffect (SPCurve * curve);
39 // virtual std::vector<Geom::Path> doEffect_path (std::vector<Geom::Path> const & path_in);
40 virtual Geom::Piecewise<Geom::D2<Geom::SBasis> > doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > const & pwd2_in);
42 /* the knotholder entity classes (if any) must be declared friends */
43 //friend class Skeleton::KnotHolderEntityMyHandle;
45 private:
46 // add the parameters for your effect here:
47 ScalarParam number;
48 // there are all kinds of parameters. Check the /live_effects/parameter directory which types exist!
50 LPESkeleton(const LPESkeleton&);
51 LPESkeleton& operator=(const LPESkeleton&);
52 };
54 } //namespace LivePathEffect
55 } //namespace Inkscape
57 #endif
59 /*
60 Local Variables:
61 mode:c++
62 c-file-style:"stroustrup"
63 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
64 indent-tabs-mode:nil
65 fill-column:99
66 End:
67 */
68 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :