Amiga: Video unit, do not draw Cursor if outside the window (would write over the window border)

git-svn-id: trunk@45161 -
This commit is contained in:
marcus 2020-04-28 21:14:44 +00:00
parent c8b7094378
commit 8aacea8850

View File

@ -255,7 +255,7 @@ begin
{$endif} {$endif}
{ FIXME/TODO: next to the hardwired selection, there could be some heuristics, { FIXME/TODO: next to the hardwired selection, there could be some heuristics,
which sets the font size correctly on screens according to the aspect which sets the font size correctly on screens according to the aspect
ratio. (KB) } ratio. (KB) }
VideoFont:=@vgafont; VideoFont:=@vgafont;
VideoFontHeight:=16; VideoFontHeight:=16;
@ -584,11 +584,11 @@ begin
SmallForce or ForceCursorUpdate then SmallForce or ForceCursorUpdate then
begin begin
{$ifdef WITHBUFFERING} {$ifdef WITHBUFFERING}
DrawChar(BufRp, OldCursorX, OldCursorY, crHidden); if (OldCursorX >= 0) and (OldCursorX < ScreenWidth) and (OldCursorY >= 0) and (OldCursorY < ScreenHeight) then DrawChar(BufRp, OldCursorX, OldCursorY, crHidden);
if CursorState then DrawChar(BufRp, CursorX, CursorY, CursorType); if CursorState and (CursorX >= 0) and (CursorX < ScreenWidth) and (CursorY >= 0) and (CursorY < ScreenHeight) then DrawChar(BufRp, CursorX, CursorY, CursorType);
{$else} {$else}
DrawChar(VideoWindow^.RPort, OldCursorX, OldCursorY, crHidden); if (OldCursorX >= 0) and (OldCursorX < ScreenWidth) and (OldCursorY >= 0) and (OldCursorY < ScreenHeight) then DrawChar(VideoWindow^.RPort, OldCursorX, OldCursorY, crHidden);
if CursorState then DrawChar(VideoWindow^.RPort, CursorX, CursorY, CursorType); if CursorState and (CursorX >= 0) and (CursorX < ScreenWidth) and (CursorY >= 0) and (CursorY < ScreenHeight) then DrawChar(VideoWindow^.RPort, CursorX, CursorY, CursorType);
{$endif} {$endif}
OldCursorX := CursorX; OldCursorX := CursorX;
OldCursorY := CursorY; OldCursorY := CursorY;