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