mode(NONE),
angle(0)
{
- mouse.signal_button_press.connect(sigc::mem_fun(this, &Manipulator::button_press));
- mouse.signal_axis_motion.connect(sigc::mem_fun(this, &Manipulator::axis_motion));
+ mouse.signal_button_press.connect(sigc::bind_return(sigc::mem_fun(this, &Manipulator::button_press), false));
+ mouse.signal_axis_motion.connect(sigc::bind_return(sigc::mem_fun(this, &Manipulator::axis_motion), false));
selection.signal_changed.connect(sigc::mem_fun(this, &Manipulator::selection_changed));
}
cancel();
mode = ELEVATE;
+
+ elev_origin = pointer.y;
}
bool Manipulator::start_extend()
}
}
-void Manipulator::axis_motion(unsigned axis, float value, float change)
+void Manipulator::axis_motion(unsigned axis, float value, float)
{
if(axis==0)
pointer.x = value;
}
else if(mode==ELEVATE && axis==1)
{
- float dz = -change;
+ float dz = pointer.y-elev_origin;
signal_status.emit(format("Elevation: %+.0fmm (%.0fmm)", dz*1000, (center.z+dz)*1000));