mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 05:49:12 +02:00
rtl-console: quickfix for Amiga UpdateScreenArea() so it properly updates multiple lines
This commit is contained in:
parent
cbc8aa63c8
commit
2f82a084e8
@ -572,6 +572,7 @@ var
|
|||||||
LocalRP: PRastPort;
|
LocalRP: PRastPort;
|
||||||
sY, sX: LongInt;
|
sY, sX: LongInt;
|
||||||
BufStartOfs: LongInt;
|
BufStartOfs: LongInt;
|
||||||
|
BufLineDiff: Longint;
|
||||||
{$ifdef VideoSpeedTest}
|
{$ifdef VideoSpeedTest}
|
||||||
NumChanged: Integer;
|
NumChanged: Integer;
|
||||||
t,ta: Double;
|
t,ta: Double;
|
||||||
@ -615,12 +616,13 @@ begin
|
|||||||
|
|
||||||
if Smallforce then
|
if Smallforce then
|
||||||
begin
|
begin
|
||||||
BufStartOfs:=y1 * ScreenWidth + x1;
|
|
||||||
VBuf:=@VideoBuf^[BufStartOfs];
|
|
||||||
OldVBuf:=@OldVideoBuf^[BufStartOfs];
|
|
||||||
{$ifdef VideoSpeedTest}
|
{$ifdef VideoSpeedTest}
|
||||||
t := now();
|
t := now();
|
||||||
{$endif}
|
{$endif}
|
||||||
|
BufStartOfs:=Y1 * ScreenWidth + X1;
|
||||||
|
BufLineDiff:=ScreenWidth-(X2-X1+1);
|
||||||
|
VBuf:=@VideoBuf^[BufStartOfs];
|
||||||
|
OldVBuf:=@OldVideoBuf^[BufStartOfs];
|
||||||
sY := videoWindow^.borderTop + Y1 * VideoFontHeight;
|
sY := videoWindow^.borderTop + Y1 * VideoFontHeight;
|
||||||
for CounterY := Y1 to Y2 do
|
for CounterY := Y1 to Y2 do
|
||||||
begin
|
begin
|
||||||
@ -640,6 +642,8 @@ begin
|
|||||||
Inc(OldVBuf);
|
Inc(OldVBuf);
|
||||||
sX := sX + 8;
|
sX := sX + 8;
|
||||||
end;
|
end;
|
||||||
|
Inc(VBuf,BufLineDiff);
|
||||||
|
Inc(OldVBuf,BufLineDiff);
|
||||||
sY := sY + VideoFontHeight;
|
sY := sY + VideoFontHeight;
|
||||||
end;
|
end;
|
||||||
{$ifdef VideoSpeedTest}
|
{$ifdef VideoSpeedTest}
|
||||||
|
Loading…
Reference in New Issue
Block a user