summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJabiertxof <jabier.arraiza@marker.es>2019-05-20 00:52:13 +0000
committerJabiertxof <jabier.arraiza@marker.es>2019-05-20 00:52:13 +0000
commit404f9a3d602e76473554fe0403acdb9d548aeedf (patch)
tree8982d2602312d2283891d6c527e8f67f6ed8282e /src
parentImprovements to geom-pathstroke and offset LPE. (diff)
downloadinkscape-404f9a3d602e76473554fe0403acdb9d548aeedf.tar.gz
inkscape-404f9a3d602e76473554fe0403acdb9d548aeedf.zip
Add knot ungrabbed event
Diffstat (limited to 'src')
-rw-r--r--src/helper/geom-pathstroke.cpp.o77sIin0
-rw-r--r--src/knot-holder-entity.h5
-rw-r--r--src/knotholder.cpp10
-rw-r--r--src/live_effects/lpe-angle_bisector.cpp2
-rw-r--r--src/live_effects/lpe-bendpath.cpp1
-rw-r--r--src/live_effects/lpe-knot.cpp1
-rw-r--r--src/live_effects/lpe-offset.cpp1
-rw-r--r--src/live_effects/lpe-parallel.cpp2
-rw-r--r--src/live_effects/lpe-patternalongpath.cpp1
-rw-r--r--src/live_effects/lpe-perp_bisector.cpp2
-rw-r--r--src/live_effects/lpe-tangent_to_curve.cpp3
-rw-r--r--src/live_effects/lpe-taperstroke.cpp2
-rw-r--r--src/live_effects/parameter/point.cpp1
-rw-r--r--src/live_effects/parameter/powerstrokepointarray.h1
-rw-r--r--src/live_effects/parameter/satellitesarray.h1
-rw-r--r--src/live_effects/parameter/transformedpoint.cpp1
-rw-r--r--src/live_effects/parameter/vector.cpp2
-rw-r--r--src/ui/shape-editor-knotholders.cpp28
18 files changed, 63 insertions, 1 deletions
diff --git a/src/helper/geom-pathstroke.cpp.o77sIin b/src/helper/geom-pathstroke.cpp.o77sIin
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/src/helper/geom-pathstroke.cpp.o77sIin
diff --git a/src/knot-holder-entity.h b/src/knot-holder-entity.h
index f34a31d68..e6d2ba231 100644
--- a/src/knot-holder-entity.h
+++ b/src/knot-holder-entity.h
@@ -62,6 +62,7 @@ public:
/* the get/set/click handlers are virtual functions; each handler class for a knot
should be derived from KnotHolderEntity and override these functions */
virtual void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) = 0;
+ virtual void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, unsigned int state) = 0;
virtual Geom::Point knot_get() const = 0;
virtual void knot_click(unsigned int /*state*/) {}
@@ -108,6 +109,7 @@ class PatternKnotHolderEntityXY : public KnotHolderEntity {
public:
PatternKnotHolderEntityXY(bool fill) : KnotHolderEntity(), _fill(fill) {}
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
private:
// true if the entity tracks fill, false for stroke
@@ -118,6 +120,7 @@ class PatternKnotHolderEntityAngle : public KnotHolderEntity {
public:
PatternKnotHolderEntityAngle(bool fill) : KnotHolderEntity(), _fill(fill) {}
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
private:
bool _fill;
@@ -127,6 +130,7 @@ class PatternKnotHolderEntityScale : public KnotHolderEntity {
public:
PatternKnotHolderEntityScale(bool fill) : KnotHolderEntity(), _fill(fill) {}
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
private:
bool _fill;
@@ -137,6 +141,7 @@ class FilterKnotHolderEntity : public KnotHolderEntity {
public:
FilterKnotHolderEntity(bool topleft) : KnotHolderEntity(), _topleft(topleft) {}
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
private:
bool _topleft; // true for topleft point, false for bottomright
diff --git a/src/knotholder.cpp b/src/knotholder.cpp
index 56ed1493d..9594a233f 100644
--- a/src/knotholder.cpp
+++ b/src/knotholder.cpp
@@ -271,8 +271,16 @@ KnotHolder::knot_ungrabbed_handler(SPKnot *knot, guint state)
} else {
// if a point is dragged while not selected, it should select itself,
// even if it was just unselected in the mousedown event handler.
- if (!(knot->flags & SP_KNOT_SELECTED))
+ if (!(knot->flags & SP_KNOT_SELECTED)) {
knot->selectKnot(true);
+ } else {
+ for(auto e : this->entity) {
+ if (e->knot == knot) {
+ e->knot_ungrabbed(e->knot->position(), e->knot->drag_origin * item->i2dt_affine().inverse() * _edit_transform.inverse(), state);
+ break;
+ }
+ }
+ }
SPObject *object = (SPObject *) this->item;
diff --git a/src/live_effects/lpe-angle_bisector.cpp b/src/live_effects/lpe-angle_bisector.cpp
index 723c0c404..ab478377e 100644
--- a/src/live_effects/lpe-angle_bisector.cpp
+++ b/src/live_effects/lpe-angle_bisector.cpp
@@ -26,6 +26,7 @@ class KnotHolderEntityLeftEnd : public LPEKnotHolderEntity {
public:
KnotHolderEntityLeftEnd(LPEAngleBisector* effect) : LPEKnotHolderEntity(effect) {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, guint state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
Geom::Point knot_get() const override;
};
@@ -33,6 +34,7 @@ class KnotHolderEntityRightEnd : public LPEKnotHolderEntity {
public:
KnotHolderEntityRightEnd(LPEAngleBisector* effect) : LPEKnotHolderEntity(effect) {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, guint state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
Geom::Point knot_get() const override;
};
diff --git a/src/live_effects/lpe-bendpath.cpp b/src/live_effects/lpe-bendpath.cpp
index 5214f0e2c..0a66229ea 100644
--- a/src/live_effects/lpe-bendpath.cpp
+++ b/src/live_effects/lpe-bendpath.cpp
@@ -48,6 +48,7 @@ class KnotHolderEntityWidthBendPath : public LPEKnotHolderEntity {
lpe->_knot_entity = nullptr;
}
void knot_set(Geom::Point const &p, Geom::Point const &origin, guint state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
Geom::Point knot_get() const override;
};
} // BeP
diff --git a/src/live_effects/lpe-knot.cpp b/src/live_effects/lpe-knot.cpp
index 6ecf3ec7a..a4f194f62 100644
--- a/src/live_effects/lpe-knot.cpp
+++ b/src/live_effects/lpe-knot.cpp
@@ -45,6 +45,7 @@ public:
KnotHolderEntityCrossingSwitcher(LPEKnot *effect) : LPEKnotHolderEntity(effect) {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, guint state) override;
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_click(guint state) override;
};
diff --git a/src/live_effects/lpe-offset.cpp b/src/live_effects/lpe-offset.cpp
index f583dfd82..447534f73 100644
--- a/src/live_effects/lpe-offset.cpp
+++ b/src/live_effects/lpe-offset.cpp
@@ -50,6 +50,7 @@ namespace OfS {
public:
KnotHolderEntityOffsetPoint(LPEOffset * effect) : LPEKnotHolderEntity(effect) {inset = false; previous = Geom::Point(Geom::infinity(),Geom::infinity());}
void knot_set(Geom::Point const &p, Geom::Point const &origin, guint state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
Geom::Point knot_get() const override;
private:
bool inset;
diff --git a/src/live_effects/lpe-parallel.cpp b/src/live_effects/lpe-parallel.cpp
index 1abf76af8..d76fe4621 100644
--- a/src/live_effects/lpe-parallel.cpp
+++ b/src/live_effects/lpe-parallel.cpp
@@ -30,6 +30,7 @@ class KnotHolderEntityLeftEnd : public LPEKnotHolderEntity {
public:
KnotHolderEntityLeftEnd(LPEParallel *effect) : LPEKnotHolderEntity(effect) {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, guint state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
Geom::Point knot_get() const override;
};
@@ -37,6 +38,7 @@ class KnotHolderEntityRightEnd : public LPEKnotHolderEntity {
public:
KnotHolderEntityRightEnd(LPEParallel *effect) : LPEKnotHolderEntity(effect) {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, guint state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
Geom::Point knot_get() const override;
};
diff --git a/src/live_effects/lpe-patternalongpath.cpp b/src/live_effects/lpe-patternalongpath.cpp
index c667bdc49..4fd968e33 100644
--- a/src/live_effects/lpe-patternalongpath.cpp
+++ b/src/live_effects/lpe-patternalongpath.cpp
@@ -56,6 +56,7 @@ namespace WPAP {
lpe->_knot_entity = nullptr;
}
void knot_set(Geom::Point const &p, Geom::Point const &origin, guint state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
Geom::Point knot_get() const override;
};
} // WPAP
diff --git a/src/live_effects/lpe-perp_bisector.cpp b/src/live_effects/lpe-perp_bisector.cpp
index 6194d2b1b..cc836ed7c 100644
--- a/src/live_effects/lpe-perp_bisector.cpp
+++ b/src/live_effects/lpe-perp_bisector.cpp
@@ -37,6 +37,7 @@ class KnotHolderEntityLeftEnd : public KnotHolderEntityEnd {
public:
KnotHolderEntityLeftEnd(LPEPerpBisector *effect) : KnotHolderEntityEnd(effect) {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, guint state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
Geom::Point knot_get() const override;
};
@@ -44,6 +45,7 @@ class KnotHolderEntityRightEnd : public KnotHolderEntityEnd {
public:
KnotHolderEntityRightEnd(LPEPerpBisector *effect) : KnotHolderEntityEnd(effect) {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, guint state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
Geom::Point knot_get() const override;
};
diff --git a/src/live_effects/lpe-tangent_to_curve.cpp b/src/live_effects/lpe-tangent_to_curve.cpp
index 3a9454b5b..5579053fa 100644
--- a/src/live_effects/lpe-tangent_to_curve.cpp
+++ b/src/live_effects/lpe-tangent_to_curve.cpp
@@ -33,6 +33,7 @@ class KnotHolderEntityAttachPt : public LPEKnotHolderEntity {
public:
KnotHolderEntityAttachPt(LPETangentToCurve *effect) : LPEKnotHolderEntity(effect) {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, guint state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
Geom::Point knot_get() const override;
};
@@ -40,6 +41,7 @@ class KnotHolderEntityLeftEnd : public LPEKnotHolderEntity {
public:
KnotHolderEntityLeftEnd(LPETangentToCurve *effect) : LPEKnotHolderEntity(effect) {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, guint state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
Geom::Point knot_get() const override;
};
@@ -48,6 +50,7 @@ class KnotHolderEntityRightEnd : public LPEKnotHolderEntity
public:
KnotHolderEntityRightEnd(LPETangentToCurve *effect) : LPEKnotHolderEntity(effect) {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, guint state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
Geom::Point knot_get() const override;
};
diff --git a/src/live_effects/lpe-taperstroke.cpp b/src/live_effects/lpe-taperstroke.cpp
index cc8e21014..b2433aa7c 100644
--- a/src/live_effects/lpe-taperstroke.cpp
+++ b/src/live_effects/lpe-taperstroke.cpp
@@ -48,6 +48,7 @@ namespace TpS {
public:
KnotHolderEntityAttachBegin(LPETaperStroke * effect) : LPEKnotHolderEntity(effect) {}
void knot_set(Geom::Point const &p, Geom::Point const &origin, guint state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
Geom::Point knot_get() const override;
};
@@ -55,6 +56,7 @@ namespace TpS {
public:
KnotHolderEntityAttachEnd(LPETaperStroke * effect) : LPEKnotHolderEntity(effect) {}
void knot_set(Geom::Point const &p, Geom::Point const &origin, guint state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
Geom::Point knot_get() const override;
};
} // TpS
diff --git a/src/live_effects/parameter/point.cpp b/src/live_effects/parameter/point.cpp
index 561e43495..7ccd187ea 100644
--- a/src/live_effects/parameter/point.cpp
+++ b/src/live_effects/parameter/point.cpp
@@ -189,6 +189,7 @@ public:
void knot_set(Geom::Point const &p, Geom::Point const &origin, guint state) override;
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_click(guint state) override;
private:
diff --git a/src/live_effects/parameter/powerstrokepointarray.h b/src/live_effects/parameter/powerstrokepointarray.h
index bb655ed96..fff41200a 100644
--- a/src/live_effects/parameter/powerstrokepointarray.h
+++ b/src/live_effects/parameter/powerstrokepointarray.h
@@ -71,6 +71,7 @@ public:
~PowerStrokePointArrayParamKnotHolderEntity() override = default;
void knot_set(Geom::Point const &p, Geom::Point const &origin, guint state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
Geom::Point knot_get() const override;
virtual void knot_set_offset(Geom::Point offset);
void knot_click(guint state) override;
diff --git a/src/live_effects/parameter/satellitesarray.h b/src/live_effects/parameter/satellitesarray.h
index d9f6ddbad..1e2dfc2eb 100644
--- a/src/live_effects/parameter/satellitesarray.h
+++ b/src/live_effects/parameter/satellitesarray.h
@@ -92,6 +92,7 @@ public:
guint state) override;
Geom::Point knot_get() const override;
void knot_click(guint state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set_offset(Satellite);
/** Checks whether the index falls within the size of the parameter's vector
*/
diff --git a/src/live_effects/parameter/transformedpoint.cpp b/src/live_effects/parameter/transformedpoint.cpp
index 357ea6958..a5fefc709 100644
--- a/src/live_effects/parameter/transformedpoint.cpp
+++ b/src/live_effects/parameter/transformedpoint.cpp
@@ -174,6 +174,7 @@ public:
param->set_and_write_new_values(param->origin, param->vector);
sp_lpe_item_update_patheffect(SP_LPE_ITEM(item), false, false);
};
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
Geom::Point knot_get() const override{
return param->origin + param->vector;
};
diff --git a/src/live_effects/parameter/vector.cpp b/src/live_effects/parameter/vector.cpp
index 6f689c755..63aca130e 100644
--- a/src/live_effects/parameter/vector.cpp
+++ b/src/live_effects/parameter/vector.cpp
@@ -183,6 +183,7 @@ public:
Geom::Point knot_get() const override {
return param->origin;
};
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_click(guint /*state*/) override{
g_print ("This is the origin handle associated to parameter '%s'\n", param->param_key.c_str());
};
@@ -207,6 +208,7 @@ public:
Geom::Point knot_get() const override {
return param->origin + param->vector;
};
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_click(guint /*state*/) override{
g_print ("This is the vector handle associated to parameter '%s'\n", param->param_key.c_str());
};
diff --git a/src/ui/shape-editor-knotholders.cpp b/src/ui/shape-editor-knotholders.cpp
index f95afbe05..11f32644d 100644
--- a/src/ui/shape-editor-knotholders.cpp
+++ b/src/ui/shape-editor-knotholders.cpp
@@ -165,6 +165,7 @@ class RectKnotHolderEntityRX : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_click(unsigned int state) override;
};
@@ -173,6 +174,7 @@ class RectKnotHolderEntityRY : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_click(unsigned int state) override;
};
@@ -180,6 +182,7 @@ public:
class RectKnotHolderEntityWH : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
protected:
@@ -190,6 +193,7 @@ protected:
class RectKnotHolderEntityXY : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
};
@@ -197,6 +201,7 @@ public:
class RectKnotHolderEntityCenter : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
};
@@ -621,54 +626,63 @@ Box3DKnotHolderEntity::knot_set_generic(SPItem *item, unsigned int knot_id, Geom
class Box3DKnotHolderEntity0 : public Box3DKnotHolderEntity {
public:
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
};
class Box3DKnotHolderEntity1 : public Box3DKnotHolderEntity {
public:
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
};
class Box3DKnotHolderEntity2 : public Box3DKnotHolderEntity {
public:
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
};
class Box3DKnotHolderEntity3 : public Box3DKnotHolderEntity {
public:
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
};
class Box3DKnotHolderEntity4 : public Box3DKnotHolderEntity {
public:
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
};
class Box3DKnotHolderEntity5 : public Box3DKnotHolderEntity {
public:
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
};
class Box3DKnotHolderEntity6 : public Box3DKnotHolderEntity {
public:
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
};
class Box3DKnotHolderEntity7 : public Box3DKnotHolderEntity {
public:
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
};
class Box3DKnotHolderEntityCenter : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
};
@@ -863,6 +877,7 @@ class ArcKnotHolderEntityStart : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_click(unsigned int state) override;
};
@@ -870,6 +885,7 @@ class ArcKnotHolderEntityEnd : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_click(unsigned int state) override;
};
@@ -877,6 +893,7 @@ class ArcKnotHolderEntityRX : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_click(unsigned int state) override;
};
@@ -884,12 +901,14 @@ class ArcKnotHolderEntityRY : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_click(unsigned int state) override;
};
class ArcKnotHolderEntityCenter : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
};
@@ -1166,6 +1185,7 @@ class StarKnotHolderEntity1 : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_click(unsigned int state) override;
};
@@ -1173,12 +1193,14 @@ class StarKnotHolderEntity2 : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_click(unsigned int state) override;
};
class StarKnotHolderEntityCenter : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
};
@@ -1350,18 +1372,21 @@ class SpiralKnotHolderEntityInner : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_click(unsigned int state) override;
};
class SpiralKnotHolderEntityOuter : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
};
class SpiralKnotHolderEntityCenter : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
};
@@ -1596,6 +1621,7 @@ SpiralKnotHolder::SpiralKnotHolder(SPDesktop *desktop, SPItem *item, SPKnotHolde
class OffsetKnotHolderEntity : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
};
@@ -1643,6 +1669,7 @@ class TextKnotHolderEntityInlineSize : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_click(unsigned int state) override;
};
@@ -1771,6 +1798,7 @@ TextKnotHolderEntityInlineSize::knot_click(unsigned int state)
class TextKnotHolderEntityShapeInside : public KnotHolderEntity {
public:
Geom::Point knot_get() const override;
+ void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, guint state) override {};
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned int state) override;
};