*/
#include <signal.h>
+#include <algorithm>
#include <cmath>
#include <GL/gl.h>
#include <msp/gl/blend.h>
layout_3d = new Layout3D(*layout);
layout->signal_track_added.connect(sigc::mem_fun(this, &Designer::track_added));
+ layout->signal_track_removed.connect(sigc::mem_fun(this, &Designer::track_removed));
if(argc>1)
{
key = Input::key_from_sys(key);
mod = Input::mod_from_sys(mod);
- if(key==Msp::Input::KEY_N)
+ if(key==Msp::Input::KEY_N && (mod&Input::MOD_SHIFT))
+ {
+ manipulator.start_extend();
+ mode = MANIPULATE;
+ }
+ else if(key==Msp::Input::KEY_N)
new_track();
else if(key==Msp::Input::KEY_G)
{
new_tracks.push_back(&trk);
}
+void Designer::track_removed(Track &trk)
+{
+ list<Track *>::iterator i = find(new_tracks.begin(), new_tracks.end(), &trk);
+ if(i!=new_tracks.end())
+ new_tracks.erase(i);
+}
+
Track3D *Designer::pick_track(int x, int y)
{
Layout3D *l = layout_3d;