From 9235b9a9b0a051e809fefca52617480935488efe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A1roly=20Balogh?= Date: Fri, 24 Oct 2008 13:07:59 +0000 Subject: [PATCH] + quick & dirty UserScreen implementation for Amiga/MorphOS git-svn-id: trunk@11968 - --- ide/fpusrscr.pas | 97 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 96 insertions(+), 1 deletion(-) diff --git a/ide/fpusrscr.pas b/ide/fpusrscr.pas index f4fe770f52..39173270be 100644 --- a/ide/fpusrscr.pas +++ b/ide/fpusrscr.pas @@ -75,6 +75,36 @@ type end; {$ENDIF} +{$IFDEF AMIGA} + {$DEFINE AMIGASCREEN} +{$ENDIF} + +{$IFDEF MORPHOS} + {$DEFINE AMIGASCREEN} +{$ENDIF} + +{$IFDEF AMIGASCREEN} + PAmigaScreen = ^TAmigaScreen; + TAmigaScreen = object(TScreen) + function GetWidth: integer; virtual; + function GetHeight: integer; virtual; + procedure GetLine(Line: integer; var Text, Attr: string); virtual; + procedure GetCursorPos(var P: TPoint); virtual; + { remember the initial video screen } + procedure Capture; virtual; + { restore the initial video mode } + procedure Restore; virtual; + { saves the current IDE screen } + procedure SaveIDEScreen; virtual; + { saves the current console screen } + procedure SaveConsoleScreen; virtual; + { restores the saved console screen } + procedure SwitchToConsoleScreen; virtual; + { restores the saved IDE screen } + procedure SwitchBackToIDEScreen; virtual; + end; +{$ENDIF} + {$IFDEF OS2} POS2Screen = ^TOS2Screen; TOS2Screen = object(TScreen) @@ -1442,6 +1472,67 @@ end; {$ENDIF} +{**************************************************************************** + TAmigaScreen +****************************************************************************} + + +{$IFDEF AMIGASCREEN} +function TAmigaScreen.GetWidth: integer; +begin + GetWidth:=80; +end; + +function TAmigaScreen.GetHeight: integer; +begin + GetHeight:=25; +end; + +procedure TAmigaScreen.GetLine(Line: integer; var Text, Attr: string); +begin + Text:=' '; + Attr:=' '; +end; + +procedure TAmigaScreen.GetCursorPos(var P: TPoint); +begin + P.X:=1; + P.Y:=1; +end; + +{ remember the initial video screen } +procedure TAmigaScreen.Capture; +begin +end; + +{ restore the initial video mode } +procedure TAmigaScreen.Restore; +begin +end; + +{ saves the current IDE screen } +procedure TAmigaScreen.SaveIDEScreen; +begin +end; + +{ saves the current console screen } +procedure TAmigaScreen.SaveConsoleScreen; +begin +end; + +{ restores the saved console screen } +procedure TAmigaScreen.SwitchToConsoleScreen; +begin +end; + +{ restores the saved IDE screen } +procedure TAmigaScreen.SwitchBackToIDEScreen; +begin +end; + +{$ENDIF} + + {**************************************************************************** Initialize ****************************************************************************} @@ -1464,7 +1555,11 @@ begin {$ifdef netwlibc} UserScreen:=New(PNWLScreen, Init); {$else} - UserScreen:=New(PScreen, Init); + {$ifdef AMIGASCREEN} + UserScreen:=New(PAmigaScreen, Init); + {$else} + UserScreen:=New(PScreen, Init); + {$endif AMIGASCREEN} {$endif netwlibc} {$endif OS2} {$endif Windows}