Code

Extensions. Add option to choose dxf output units
[inkscape.git] / src / live_effects / lpe-skeleton.h
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 :