Make 'crop' command crop to rectangle too.

This commit is contained in:
Jonathan Moore Liles 2008-02-14 23:07:50 -06:00
parent d8fe1ad003
commit db1b2f63e7
3 changed files with 24 additions and 1 deletions

View File

@ -798,7 +798,10 @@ Canvas::invert_selection ( void )
void void
Canvas::crop ( void ) Canvas::crop ( void )
{ {
if ( m.p3 == m.p4 )
m.grid->crop( m.p1, m.p2 ); 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;

19
grid.C
View File

@ -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 )

1
grid.H
View File

@ -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 );