class MoveTool: public Manipulator
{
private:
+ struct Boundary
+ {
+ MObject *object;
+ unsigned index;
+ float limit;
+
+ Boundary(MObject *, unsigned);
+
+ R2C2::Object *operator->() const { return object->object; }
+ };
+
+ std::list<Boundary> boundaries;
+ std::set<R2C2::Object *> snap_targets;
R2C2::Vector origin;
public:
- MoveTool(Designer &, Msp::Input::Mouse &, const std::set<R2C2::Object *> &);
+ MoveTool(Designer &, Msp::Input::Keyboard &, Msp::Input::Mouse &, const std::set<R2C2::Object *> &);
- virtual void axis_motion(unsigned, float, float);
+ virtual void pointer_motion();
};
#endif