+ if(pointer_moved)
+ {
+ pointer_moved = false;
+
+ if(picking)
+ {
+ Track3D *track = pick_track(pointer_x, window.get_height()-pointer_y-1);
+ if(track && &track->get_track()!=picking_track)
+ {
+ picking_track = &track->get_track();
+ if(picking_entry>=0)
+ picking_entry = 0;
+
+ delete picking_path;
+ picking_path = new Path3D(*track);
+ if(picking_entry>=0)
+ picking_path->set_mask(picking_track->get_type().get_endpoints()[picking_entry].paths);
+ else
+ picking_path->set_mask(picking_track->get_type().get_paths());
+ picking_path->set_color(GL::Color(0));
+ picking_path->set_layer(1);
+ }
+ }
+ }
+