Code

dc4a9969ec08b2119220cab92a837dab65e830a6
[inkscape.git] / src / live_effects / lpe-perspective_path.h
1 #ifndef INKSCAPE_LPE_PERSPECTIVE_PATH_H
2 #define INKSCAPE_LPE_PERSPECTIVE_PATH_H
4 /** \file
5  * LPE <perspective_path> implementation, see lpe-perspective_path.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"
19 #include "live_effects/parameter/bool.h"
21 #include <vector>
22 #include "2geom/point.h"
24 namespace Inkscape {
25 namespace LivePathEffect {
27 class LPEPerspectivePath : public Effect {
28 public:
29     LPEPerspectivePath(LivePathEffectObject *lpeobject);
30     virtual ~LPEPerspectivePath();
32     virtual Geom::Piecewise<Geom::D2<Geom::SBasis> > doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > const & pwd2_in);
34 private:
35     // add the parameters for your effect here:
36     ScalarParam scalex;
37     ScalarParam scaley;
38     ScalarParam offsetx;
39     ScalarParam offsety;
40     BoolParam uses_plane_xy;
41     // there are all kinds of parameters. Check the /live_effects/parameter directory which types exist!
43     LPEPerspectivePath(const LPEPerspectivePath&);
44     LPEPerspectivePath& operator=(const LPEPerspectivePath&);
46     std::vector<Geom::Point> handles;
47     double tmat[3][4];
48 };
50 } //namespace LivePathEffect
51 } //namespace Inkscape
53 #endif