]> git.tdb.fi Git - r2c2.git/blob - source/designer/movetool.h
Store zone blocks in order and use add_tracks to load them
[r2c2.git] / source / designer / movetool.h
1 #ifndef MOVETOOL_H_
2 #define MOVETOOL_H_
3
4 #include "manipulator.h"
5
6 class MoveTool: public Manipulator
7 {
8 private:
9         struct Boundary
10         {
11                 MObject *object;
12                 unsigned index;
13                 float limit;
14
15                 Boundary(MObject *, unsigned);
16
17                 R2C2::Object *operator->() const { return object->object; }
18         };
19
20         std::list<Boundary> boundaries;
21         std::set<R2C2::Object *> snap_targets;
22         R2C2::Vector origin;
23
24 public:
25         MoveTool(Designer &, Msp::Input::Keyboard &, Msp::Input::Mouse &, const std::set<R2C2::Object *> &);
26
27         virtual void pointer_motion();
28 };
29
30 #endif