summaryrefslogtreecommitdiffstats
path: root/src/live_effects/lpe-clone-original.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/live_effects/lpe-clone-original.h')
-rw-r--r--src/live_effects/lpe-clone-original.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/live_effects/lpe-clone-original.h b/src/live_effects/lpe-clone-original.h
new file mode 100644
index 0000000..cb20e37
--- /dev/null
+++ b/src/live_effects/lpe-clone-original.h
@@ -0,0 +1,53 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+#ifndef INKSCAPE_LPE_CLONE_ORIGINAL_H
+#define INKSCAPE_LPE_CLONE_ORIGINAL_H
+
+/*
+ * Inkscape::LPECloneOriginal
+ *
+ * Copyright (C) Johan Engelen 2012 <j.b.c.engelen@alumnus.utwente.nl>
+ *
+ * Released under GNU GPL v2+, read the file 'COPYING' for more information.
+ */
+#include "live_effects/effect.h"
+#include "live_effects/lpegroupbbox.h"
+#include "live_effects/parameter/enum.h"
+#include "live_effects/parameter/originalsatellite.h"
+#include "live_effects/parameter/text.h"
+
+namespace Inkscape {
+namespace LivePathEffect {
+
+enum Clonelpemethod { CLM_NONE, CLM_D, CLM_ORIGINALD, CLM_BSPLINESPIRO, CLM_END };
+
+class LPECloneOriginal : public Effect, GroupBBoxEffect {
+public:
+ LPECloneOriginal(LivePathEffectObject *lpeobject);
+ ~LPECloneOriginal() override;
+ void doEffect (SPCurve * curve) override;
+ void doBeforeEffect (SPLPEItem const* lpeitem) override;
+ bool doOnOpen(SPLPEItem const *lpeitem) override;
+ void doOnRemove(SPLPEItem const * /*lpeitem*/) override;
+ Gtk::Widget *newWidget() override;
+ OriginalSatelliteParam linkeditem;
+
+private:
+ EnumParam<Clonelpemethod> method;
+ TextParam attributes;
+ TextParam css_properties;
+ BoolParam allow_transforms;
+ Glib::ustring old_attributes;
+ Glib::ustring old_css_properties;
+ Glib::ustring linked;
+ void syncOriginal();
+ void cloneAttributes(SPObject *origin, SPObject *dest, const gchar *attributes, const gchar *css_properties,
+ bool init);
+ bool sync;
+ LPECloneOriginal(const LPECloneOriginal&) = delete;
+ LPECloneOriginal& operator=(const LPECloneOriginal&) = delete;
+};
+
+}; //namespace LivePathEffect
+}; //namespace Inkscape
+
+#endif