Code

Merge from fe-moved
[inkscape.git] / src / live_effects / lpe-perspective_path.h
index 02dcf23258b1156fc1884bb28c02bd203f4054b2..23731f9f7441d89bb8accc7bdd2744dbef8adf05 100644 (file)
@@ -1,19 +1,18 @@
-#ifndef INKSCAPE_LPE_PERSPECTIVE_PATH_H
-#define INKSCAPE_LPE_PERSPECTIVE_PATH_H
-
-/** \file
- * LPE <perspective_path> implementation, see lpe-perspective_path.cpp.
+/** @file
+ * @brief LPE perspective path effect implementation
  */
-
-/*
- * Authors:
- *   Johan Engelen
-*
-* Copyright (C) Johan Engelen 2007 <j.b.c.engelen@utwente.nl>
+/* Authors:
+ *   Maximilian Albert <maximilian.albert@gmail.com>
+ *   Johan Engelen <j.b.c.engelen@utwente.nl>
+ *
+ * Copyright (C) 2007 Authors
  *
  * Released under GNU GPL, read the file 'COPYING' for more information
  */
 
+#ifndef INKSCAPE_LPE_PERSPECTIVE_PATH_H
+#define INKSCAPE_LPE_PERSPECTIVE_PATH_H
+
 #include "live_effects/effect.h"
 #include "live_effects/parameter/parameter.h"
 #include "live_effects/parameter/bool.h"
 namespace Inkscape {
 namespace LivePathEffect {
 
+namespace PP {
+  // we need a separate namespace to avoid clashes with other LPEs
+  class KnotHolderEntityOffset;
+}
+
 class LPEPerspectivePath : public Effect, GroupBBoxEffect {
 public:
     LPEPerspectivePath(LivePathEffectObject *lpeobject);
@@ -34,15 +38,21 @@ public:
 
     virtual Geom::Piecewise<Geom::D2<Geom::SBasis> > doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > const & pwd2_in);
 
+    /* the knotholder entity classes must be declared friends */
+    friend class PP::KnotHolderEntityOffset;
+
 private:
     // add the parameters for your effect here:
     ScalarParam scalex;
     ScalarParam scaley;
+    // TODO: rewrite this using a PointParam instead of two ScalarParams
     ScalarParam offsetx;
     ScalarParam offsety;
     BoolParam uses_plane_xy;
     // there are all kinds of parameters. Check the /live_effects/parameter directory which types exist!
 
+    Geom::Point orig;
+
     LPEPerspectivePath(const LPEPerspectivePath&);
     LPEPerspectivePath& operator=(const LPEPerspectivePath&);
 
@@ -54,3 +64,14 @@ private:
 } //namespace Inkscape
 
 #endif
+
+/*
+  Local Variables:
+  mode:c++
+  c-file-style:"stroustrup"
+  c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+  indent-tabs-mode:nil
+  fill-column:99
+  End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :