mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-27 05:03:44 +02:00
54 lines
1.6 KiB
ObjectPascal
54 lines
1.6 KiB
ObjectPascal
program screen_demo;
|
|
{---------------------------------------------------------------------------
|
|
CncWare
|
|
(c) Copyright 2000
|
|
---------------------------------------------------------------------------
|
|
Filename..: screen_demo.pp
|
|
Programmer: Ken J. Wright
|
|
Date......: 08/24/2000
|
|
|
|
Purpose - Demonstrate Linux screen saving/restoring with oCrt.
|
|
|
|
-------------------------------<< REVISIONS >>--------------------------------
|
|
Ver | Date | Prog| Description
|
|
-------+----------+-----+----------------------------------------------------
|
|
1.00 | 08/24/00 | kjw | Initial Release.
|
|
------------------------------------------------------------------------------
|
|
}
|
|
uses ocrt;
|
|
var
|
|
i,j : integer;
|
|
pb : pnScreenBuf;
|
|
begin
|
|
For i := 1 to 24 Do Begin
|
|
TextColor(i);
|
|
For j := 1 to 79 Do Write(chr(j+32));
|
|
writeln;
|
|
End;
|
|
nGrabScreen(pb);
|
|
Write('screen stored, press a key to clear');readkey;
|
|
NormVideo;
|
|
ClrScr;
|
|
Write('press a key to restore previous screen');readkey;
|
|
nPopScreen(pb);
|
|
GotoXY(1,nMaxRows);
|
|
Write('press a key to restore to a smaller window');readkey;
|
|
ClrScr;
|
|
Window(10,5,70,20);
|
|
nPopScreen(pb);
|
|
Window(1,1,nMaxCols,nMaxRows);
|
|
GotoXY(1,nMaxRows);
|
|
Write('press a key to offset stored screen');readkey;
|
|
ClrScr;
|
|
nPopScreen(pb,5,3);
|
|
GotoXY(1,nMaxRows);
|
|
Write('press a key to restore a portion of this screen in multiple ');readkey;
|
|
nGrabScreen(pb,5,3,8,10);
|
|
ClrScr;
|
|
For i := 0 to 7 Do For j := 0 to 1 Do
|
|
nPopScreen(pb,i*10+1,j*12+1);
|
|
GotoXY(1,nMaxRows);
|
|
{ make sure to clean up! }
|
|
nReleaseScreen(pb);
|
|
end.
|