4 #include <sigc++/sigc++.h>
27 MTrack(R2C2::Track *);
35 TrackOrder(R2C2::Track *t, bool r): track(t), rev(r) { }
39 sigc::signal<void, const std::string &> signal_status;
40 sigc::signal<void, bool> signal_done;
44 Msp::Input::Mouse &mouse;
46 std::vector<MTrack> tracks;
50 R2C2::Vector gpointer;
52 R2C2::Vector move_origin;
55 std::set<R2C2::Track *> neighbors;
56 std::vector<R2C2::Track *> extend_tracks;
59 Manipulator(Designer &, Msp::Input::Mouse &, Selection &);
67 void even_slope(bool =false);
71 void button_press(unsigned);
72 void axis_motion(unsigned, float, float);
73 void selection_changed();
75 void update_neighbors();
76 void set_slope(TrackOrder &, float, float);
77 std::vector<R2C2::Track *> create_straight(const R2C2::Vector &, float, float, float);