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

19
grid.C
View File

@ -594,6 +594,25 @@ Grid::crop ( int l, int r )
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
Grid::_relink ( void )

1
grid.H
View File

@ -213,6 +213,7 @@ public:
void move_selected ( int l );
void crop ( int l, int r );
void crop ( int l, int r, int t, int b );
void toggle_select ( int x, int y );
void insert_time ( int x, int r );