9c6e3effe9065e71a2a3d6b3008b94077e3cb15e
1 /** @file
2 * @brief PowerStroke LPE effect, see lpe-powerstroke.cpp.
3 */
4 /* Authors:
5 * Johan Engelen <j.b.c.engelen@utwente.nl>
6 *
7 * Copyright (C) 2010 Authors
8 *
9 * Released under GNU GPL, read the file 'COPYING' for more information
10 */
12 #ifndef INKSCAPE_LPE_POWERSTROKE_H
13 #define INKSCAPE_LPE_POWERSTROKE_H
15 #include "live_effects/effect.h"
16 #include "live_effects/parameter/point.h"
17 #include "live_effects/parameter/array.h"
19 namespace Inkscape {
20 namespace LivePathEffect {
22 // each knotholder handle for your LPE requires a separate class derived from KnotHolderEntity;
23 // define it in lpe-powerstroke.cpp and register it in the effect's constructor
24 /**
25 namespace PowerStroke {
26 // we need a separate namespace to avoid clashes with other LPEs
27 class KnotHolderEntityMyHandle;
28 }
29 **/
31 class LPEPowerStroke : public Effect {
32 public:
33 LPEPowerStroke(LivePathEffectObject *lpeobject);
34 virtual ~LPEPowerStroke();
36 virtual Geom::Piecewise<Geom::D2<Geom::SBasis> > doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > const & pwd2_in);
38 virtual void doOnApply(SPLPEItem *lpeitem);
40 /* the knotholder entity classes (if any) must be declared friends */
41 //friend class PowerStroke::KnotHolderEntityMyHandle;
43 private:
44 PointParam offset_1;
45 PointParam offset_2;
46 PointParam offset_3;
47 // ArrayParam<Geom::Point> offset_points;
49 LPEPowerStroke(const LPEPowerStroke&);
50 LPEPowerStroke& operator=(const LPEPowerStroke&);
51 };
53 } //namespace LivePathEffect
54 } //namespace Inkscape
56 #endif
58 /*
59 Local Variables:
60 mode:c++
61 c-file-style:"stroustrup"
62 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
63 indent-tabs-mode:nil
64 fill-column:99
65 End:
66 */
67 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :