3 This file is part of R²C²
4 Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa
5 Distributed under the GPL
11 #include <sigc++/sigc++.h>
34 MTrack(R2C2::Track *);
42 TrackOrder(R2C2::Track *t, bool r): track(t), rev(r) { }
46 sigc::signal<void, const std::string &> signal_status;
47 sigc::signal<void, bool> signal_done;
51 Msp::Graphics::EventSource &event_source;
53 std::vector<MTrack> tracks;
56 R2C2::Vector gpointer;
59 R2C2::Vector move_origin;
63 std::set<R2C2::Track *> neighbors;
64 std::vector<R2C2::Track *> extend_tracks;
67 Manipulator(Designer &, Msp::Graphics::EventSource &, Selection &);
75 void even_slope(bool =false);
79 void button_press(int, int, unsigned, unsigned);
80 void pointer_motion(int, int);
81 void selection_changed();
83 void update_neighbors();
84 void set_slope(TrackOrder &, float, float);
85 std::vector<R2C2::Track *> create_straight(const R2C2::Vector &, float, float, float);