summaryrefslogtreecommitdiffstats
path: root/src/ui/tool/transform-handle-set.cpp
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2010-02-04 02:14:09 +0000
committerKrzysztof KosiƄski <tweenk.pl@gmail.com>2010-02-04 02:14:09 +0000
commit7ce8847f2410a24a6bce4ca8a43ad7ebdb4839eb (patch)
tree55eeacbb71c09920b60ff00da540661335aed65c /src/ui/tool/transform-handle-set.cpp
parentpatch by sas for read-only directory (diff)
downloadinkscape-7ce8847f2410a24a6bce4ca8a43ad7ebdb4839eb.tar.gz
inkscape-7ce8847f2410a24a6bce4ca8a43ad7ebdb4839eb.zip
Reduce libsigc++ usage to partially fix performance regressions
in the new node tool. (bzr r9044)
Diffstat (limited to 'src/ui/tool/transform-handle-set.cpp')
-rw-r--r--src/ui/tool/transform-handle-set.cpp18
1 files changed, 4 insertions, 14 deletions
diff --git a/src/ui/tool/transform-handle-set.cpp b/src/ui/tool/transform-handle-set.cpp
index f9086950d..1af848b96 100644
--- a/src/ui/tool/transform-handle-set.cpp
+++ b/src/ui/tool/transform-handle-set.cpp
@@ -84,17 +84,6 @@ public:
, _th(th)
{
setVisible(false);
- signal_grabbed.connect(
- sigc::bind_return(
- sigc::hide(
- sigc::mem_fun(*this, &TransformHandle::_grabbedHandler)),
- false));
- signal_dragged.connect(
- sigc::hide<0>(
- sigc::mem_fun(*this, &TransformHandle::_draggedHandler)));
- signal_ungrabbed.connect(
- sigc::hide(
- sigc::mem_fun(*this, &TransformHandle::_ungrabbedHandler)));
}
protected:
virtual void startTransform() {}
@@ -106,7 +95,7 @@ protected:
Geom::Point _origin;
TransformHandleSet &_th;
private:
- void _grabbedHandler() {
+ virtual bool grabbed(GdkEventMotion *) {
_origin = position();
_last_transform.setIdentity();
startTransform();
@@ -114,8 +103,9 @@ private:
_th._setActiveHandle(this);
_cset = &invisible_cset;
_setState(_state);
+ return false;
}
- void _draggedHandler(Geom::Point &new_pos, GdkEventMotion *event)
+ virtual void dragged(Geom::Point &new_pos, GdkEventMotion *event)
{
Geom::Matrix t = computeTransform(new_pos, event);
// protect against degeneracies
@@ -125,7 +115,7 @@ private:
_th.signal_transform.emit(incr);
_last_transform = t;
}
- void _ungrabbedHandler() {
+ virtual void ungrabbed(GdkEventButton *) {
_th._clearActiveHandle();
_cset = &thandle_cset;
_setState(_state);