Code

warning cleanup
[inkscape.git] / src / live_effects / lpe-copy_rotate.h
1 #ifndef INKSCAPE_LPE_COPY_ROTATE_H
2 #define INKSCAPE_LPE_COPY_ROTATE_H
4 /** \file
5  * LPE <copy_rotate> implementation, see lpe-copy_rotate.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/point.h"
20 namespace Inkscape {
21 namespace LivePathEffect {
23 namespace CR {
24   // we need a separate namespace to avoid clashes with LPEPerpBisector
25   class KnotHolderEntityAngle;
26 }
28 class LPECopyRotate : public Effect {
29 public:
30     LPECopyRotate(LivePathEffectObject *lpeobject);
31     virtual ~LPECopyRotate();
33     virtual void doOnApply (SPLPEItem *lpeitem);
35     virtual Geom::Piecewise<Geom::D2<Geom::SBasis> > doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > const & pwd2_in);
37     /* the knotholder entity classes must be declared friends */
38     friend class CR::KnotHolderEntityAngle;
40 private:
41     ScalarParam angle;
42     ScalarParam num_copies;
44     PointParam origin;
45     BoolParam include_original;
47     Geom::Point A;
48     Geom::Point B;
49     Geom::Point dir;
50     double dist_angle_handle;
52     LPECopyRotate(const LPECopyRotate&);
53     LPECopyRotate& operator=(const LPECopyRotate&);
54 };
56 } //namespace LivePathEffect
57 } //namespace Inkscape
59 #endif
61 /*
62   Local Variables:
63   mode:c++
64   c-file-style:"stroustrup"
65   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
66   indent-tabs-mode:nil
67   fill-column:99
68   End:
69 */
70 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :