@@ -798,7 +798,10 @@ Canvas::invert_selection ( void ) | |||||
void | void | ||||
Canvas::crop ( void ) | Canvas::crop ( void ) | ||||
{ | { | ||||
m.grid->crop( m.p1, m.p2 ); | |||||
if ( m.p3 == m.p4 ) | |||||
m.grid->crop( m.p1, m.p2 ); | |||||
else | |||||
m.grid->crop( m.p1, m.p2, rtn( m.p3 ), rtn( m.p4 ) ); | |||||
m.vp->x = 0; | m.vp->x = 0; | ||||
@@ -594,6 +594,25 @@ Grid::crop ( int l, int r ) | |||||
unlock(); | unlock(); | ||||
} | } | ||||
void | |||||
Grid::crop ( int l, int r, int t, int b ) | |||||
{ | |||||
lock(); | |||||
_rw->events.push_selection(); | |||||
select( l, r, t, b ); | |||||
_rw->events.invert_selection(); | |||||
_rw->events.remove_selected(); | |||||
_rw->events.pop_selection(); | |||||
crop( l, r ); | |||||
unlock(); | |||||
} | |||||
void | void | ||||
Grid::_relink ( void ) | Grid::_relink ( void ) | ||||
@@ -213,6 +213,7 @@ public: | |||||
void move_selected ( int l ); | void move_selected ( int l ); | ||||
void crop ( int l, int r ); | void crop ( int l, int r ); | ||||
void crop ( int l, int r, int t, int b ); | |||||
void toggle_select ( int x, int y ); | void toggle_select ( int x, int y ); | ||||
void insert_time ( int x, int r ); | void insert_time ( int x, int r ); | ||||