1 /** @file
2 * @brief Minimal LPE effect, see lpe-skeleton.cpp.
3 */
4 /* Authors:
5 * Johan Engelen <j.b.c.engelen@utwente.nl>
6 *
7 * Copyright (C) 2007 Authors
8 *
9 * Released under GNU GPL, read the file 'COPYING' for more information
10 */
12 #ifndef INKSCAPE_LPE_SKELETON_H
13 #define INKSCAPE_LPE_SKELETON_H
15 #include "live_effects/effect.h"
16 #include "live_effects/parameter/parameter.h"
18 namespace Inkscape {
19 namespace LivePathEffect {
21 // each knotholder handle for your LPE requires a separate class derived from KnotHolderEntity;
22 // define it in lpe-skeleton.cpp and register it in the effect's constructor
23 /**
24 namespace Skeleton {
25 // we need a separate namespace to avoid clashes with other LPEs
26 class KnotHolderEntityMyHandle;
27 }
28 **/
30 class LPESkeleton : public Effect {
31 public:
32 LPESkeleton(LivePathEffectObject *lpeobject);
33 virtual ~LPESkeleton();
35 // Choose to implement one of the doEffect functions. You can delete or comment out the others.
36 // virtual void doEffect (SPCurve * curve);
37 // virtual std::vector<Geom::Path> doEffect_path (std::vector<Geom::Path> const & path_in);
38 virtual Geom::Piecewise<Geom::D2<Geom::SBasis> > doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > const & pwd2_in);
40 /* the knotholder entity classes (if any) must be declared friends */
41 //friend class Skeleton::KnotHolderEntityMyHandle;
43 private:
44 // add the parameters for your effect here:
45 ScalarParam number;
46 // there are all kinds of parameters. Check the /live_effects/parameter directory which types exist!
48 LPESkeleton(const LPESkeleton&);
49 LPESkeleton& operator=(const LPESkeleton&);
50 };
52 } //namespace LivePathEffect
53 } //namespace Inkscape
55 #endif
57 /*
58 Local Variables:
59 mode:c++
60 c-file-style:"stroustrup"
61 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
62 indent-tabs-mode:nil
63 fill-column:99
64 End:
65 */
66 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :