Code

a19aafb891101f640426b1f4d7497875615d9c69
[inkscape.git] / src / live_effects / lpe-mirror_reflect.h
1 #ifndef INKSCAPE_LPE_MIRROR_REFLECT_H
2 #define INKSCAPE_LPE_MIRROR_REFLECT_H
4 /** \file
5  * LPE <mirror_reflection> implementation: mirrors a path with respect to a given line.
6  */
7 /*
8  * Authors:
9  *   Maximilian Albert
10  *   Johan Engelen
11  *
12  * Copyright (C) Johan Engelen 2007 <j.b.c.engelen@utwente.nl>
13  * Copyright (C) Maximilin Albert 2008 <maximilian.albert@gmail.com>
14  *
15  * Released under GNU GPL, read the file 'COPYING' for more information
16  */
18 #include "live_effects/effect.h"
19 #include "live_effects/parameter/parameter.h"
20 #include "live_effects/parameter/point.h"
21 #include "live_effects/parameter/path.h"
23 namespace Inkscape {
24 namespace LivePathEffect {
26 class LPEMirrorReflect : public Effect {
27 public:
28     LPEMirrorReflect(LivePathEffectObject *lpeobject);
29     virtual ~LPEMirrorReflect();
31     virtual void acceptParamPath (SPPath *param_path);
32     virtual int acceptsNumParams() { return 2; }
34     virtual LPEPathFlashType pathFlashType() { return PERMANENT_FLASH; }
36     virtual std::vector<Geom::Path> doEffect_path (std::vector<Geom::Path> const & path_in);
38 private:
39     PathParam reflection_line;
41     LPEMirrorReflect(const LPEMirrorReflect&);
42     LPEMirrorReflect& operator=(const LPEMirrorReflect&);
43 };
45 } //namespace LivePathEffect
46 } //namespace Inkscape
48 #endif