Code

Merge from trunk.
[inkscape.git] / src / live_effects / lpe-lattice.h
1 #ifndef INKSCAPE_LPE_LATTICE_H
2 #define INKSCAPE_LPE_LATTICE_H
4 /** \file
5  * LPE <lattice> implementation, see lpe-lattice.cpp.
6  */
8 /*
9  * Authors:
10  *   Johan Engelen
11  *   Steren Giannini
12  *   NoĆ© Falzon
13  *   Victor Navez
14 *
15 * Copyright (C) Johan Engelen 2007 <j.b.c.engelen@utwente.nl>
16  *
17  * Released under GNU GPL, read the file 'COPYING' for more information
18  */
20 #include "live_effects/effect.h"
21 #include "live_effects/parameter/point.h"
22 #include "live_effects/parameter/enum.h"
23 #include "live_effects/parameter/bool.h"
25 #include "live_effects/lpegroupbbox.h"
27 namespace Inkscape {
28 namespace LivePathEffect {
30 class LPELattice : public Effect, GroupBBoxEffect {
31 public:
33     LPELattice(LivePathEffectObject *lpeobject);
34     virtual ~LPELattice();
36     virtual void doBeforeEffect (SPLPEItem *lpeitem);
38     virtual Geom::Piecewise<Geom::D2<Geom::SBasis> > doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > const & pwd2_in);
39     
40     virtual void resetDefaults(SPItem * item);
42 protected:
43     //virtual void addHelperPathsImpl(SPLPEItem *lpeitem, SPDesktop *desktop);
46 private:
47     PointParam grid_point0;
48     PointParam grid_point1;
49     PointParam grid_point2;
50     PointParam grid_point3;
51     PointParam grid_point4;
52     PointParam grid_point5;
53     PointParam grid_point6;
54     PointParam grid_point7;
55     PointParam grid_point8;
56     PointParam grid_point9;
57     PointParam grid_point10;
58     PointParam grid_point11;
59     PointParam grid_point12;
60     PointParam grid_point13;
61     PointParam grid_point14;
62     PointParam grid_point15;
63     
64     LPELattice(const LPELattice&);
65     LPELattice& operator=(const LPELattice&);
66 };
68 } //namespace LivePathEffect
69 } //namespace Inkscape
71 #endif