using namespace Msp;
using namespace R2C2;
-MoveTool::MoveTool(Designer &d, Input::Mouse &m, const set<Object *> &o):
- Manipulator(d, m, o),
+MoveTool::MoveTool(Designer &d, Input::Keyboard &k, Input::Mouse &m, const set<Object *> &o):
+ Manipulator(d, k, m, o),
origin(ground_pointer)
{
for(ObjectArray::iterator i=objects.begin(); i!=objects.end(); ++i)
{
unsigned nls = i->object->get_n_link_slots();
- for(unsigned j=0; j<nls; ++j)
+ unsigned nsn = i->object->get_n_snap_nodes();
+ unsigned j;
+ for(j=0; j<nls; ++j)
if(!o.count(i->object->get_link(j)))
boundaries.push_back(Boundary(&*i, j));
+ for(; j<nsn; ++j)
+ boundaries.push_back(Boundary(&*i, j));
}
snap_targets = designer.get_layout().get_all<Object>();
snap_targets.erase(i->object);
}
-void MoveTool::axis_motion(unsigned axis, float value, float rel)
+void MoveTool::pointer_motion()
{
- Manipulator::axis_motion(axis, value, rel);
-
Vector offset = center+ground_pointer-origin;
for(vector<MObject>::iterator i=objects.begin(); i!=objects.end(); ++i)
{