summaryrefslogtreecommitdiffstats
path: root/src/live_effects/lpe-mirror_symmetry.h
diff options
context:
space:
mode:
authorJabiertxof <jtx@jtx>2016-12-16 22:49:53 +0000
committerJabiertxof <jtx@jtx>2016-12-16 22:49:53 +0000
commit5927b3bf5d9d8dcc9f519b4b9060669bd2599a28 (patch)
tree3b51f70f9b467bb016c678afcaae650e3afd395b /src/live_effects/lpe-mirror_symmetry.h
parentworking with mirrors (diff)
downloadinkscape-5927b3bf5d9d8dcc9f519b4b9060669bd2599a28.tar.gz
inkscape-5927b3bf5d9d8dcc9f519b4b9060669bd2599a28.zip
Rollback 15315
(bzr r15295.1.25)
Diffstat (limited to 'src/live_effects/lpe-mirror_symmetry.h')
-rw-r--r--src/live_effects/lpe-mirror_symmetry.h24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/live_effects/lpe-mirror_symmetry.h b/src/live_effects/lpe-mirror_symmetry.h
index 12ceebaf8..7b090ed82 100644
--- a/src/live_effects/lpe-mirror_symmetry.h
+++ b/src/live_effects/lpe-mirror_symmetry.h
@@ -15,10 +15,10 @@
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
-
+#include <gtkmm.h>
#include "live_effects/effect.h"
-#include "live_effects/parameter/parameter.h"
#include "live_effects/parameter/text.h"
+#include "live_effects/parameter/parameter.h"
#include "live_effects/parameter/point.h"
#include "live_effects/parameter/path.h"
#include "live_effects/parameter/enum.h"
@@ -27,6 +27,11 @@
namespace Inkscape {
namespace LivePathEffect {
+namespace MS {
+// we need a separate namespace to avoid clashes with LPEPerpBisector
+class KnotHolderEntityCenterMirrorSymmetry;
+}
+
enum ModeType {
MT_V,
MT_H,
@@ -46,13 +51,14 @@ public:
virtual Geom::PathVector doEffect_path (Geom::PathVector const & path_in);
virtual void doOnRemove (SPLPEItem const* /*lpeitem*/);
virtual void doOnVisibilityToggled(SPLPEItem const* /*lpeitem*/);
-// virtual Gtk::Widget * newWidget();
+ virtual Gtk::Widget *newWidget();
void processObjects(LpeAction lpe_action);
- void createMirror(SPLPEItem *origin, Geom::Affine transform);
+ /* the knotholder entity classes must be declared friends */
+ friend class MS::KnotHolderEntityCenterMirrorSymmetry;
+ void createMirror(SPLPEItem *origin, Geom::Affine transform, const char * id);
// void cloneAttrbutes(Inkscape::XML::Node * origin, Inkscape::XML::Node * dest, const char * first_attribute, ...);
-// void syncMirror(SPLPEItem *origin, const char * id);
void cloneAttrbutes(SPObject *origin, SPObject *dest, bool live, const char * first_attribute, ...);
- bool allow_split();
+ void addKnotHolderEntities(KnotHolder *knotholder, SPDesktop *desktop, SPItem *item);
protected:
virtual void addCanvasIndicators(SPLPEItem const *lpeitem, std::vector<Geom::PathVector> &hp_vec);
@@ -66,11 +72,13 @@ private:
BoolParam split_elements;
PointParam start_point;
PointParam end_point;
- PointParam center_point;
+ TextParam id_origin;
Geom::Line line_separation;
Geom::Point previous_center;
+ Geom::Point center_point;
+ bool actual;
std::vector<const char *> elements;
- SPObject * container;
+ SPObject * ms_container;
LPEMirrorSymmetry(const LPEMirrorSymmetry&);
LPEMirrorSymmetry& operator=(const LPEMirrorSymmetry&);
};