wordwrap panning for k

This commit is contained in:
斟酌 鵬兄 2016-03-14 23:57:17 +08:00
parent 97480cd0c6
commit cbec2c7475
2 changed files with 22 additions and 9 deletions

View File

@ -135,13 +135,19 @@
Cursor.prototype.moveY = function( d )
{
var Y = this.Y;
var Y = this.Y + d;
var line;
Y += d;
if( Y < 0 )
{
Y = 0;
this.feeder.pan( undefined, d );
this.Y = 0;
this.moveX();
this.updatePosition();
this.feeder.softReset();
return;
}
else if( this.feeder.moreAt < Y )
{
@ -186,7 +192,7 @@
return;
}
else if ( this.Y < Y )
else if ( 0 < d )
{
// If panning is forward
// and next line does not exists

View File

@ -130,6 +130,7 @@
return this.__render( buffs[ start ], this.__rLength );
};
// Performs a line panning
Feeder.prototype.pan = function( dX, dY )
{
if( dX == undefined ) dX = 0;
@ -140,13 +141,19 @@
var X = this.panX + dX;
var Y = this.panY + dY;
var f = this.content.indexOf( "\n" );
var i = 1;
var f = -1;
var i = 0;
while( f != - 1 && i < Y )
// Y cannot be negative
if( Y < 0 ) Y = 0;
if( 0 < Y )
{
i ++;
f = this.content.indexOf( "\n", f + 1 );
f = this.content.indexOf( "\n" );
for( i = 1; f != - 1 && i < Y; i ++ )
{
f = this.content.indexOf( "\n", f + 1 );
}
}
this.firstBuffer.Push(