{$R-}    {Range checking off}
{$B-}    {Boolean short circuiting off}
{$S+}    {Stack checking on}
{$I+}    {I/O checking on}
{$N-}    {No numeric coprocessor}
{$M 65500,16384,655360} {Turbo 3 default stack and heap}

Program WindowDemo(Input,Output);
{  4/4/87 : This program demonstrates the use of the MiniGen windowing
            routines.
}

Uses
  Crt,
  MGProg;

Const
  ScreenCount = 4;

Var
  Int : Integer;

Procedure Pause;
Var
  Ch : Char;
Begin
Repeat
  Ch := ReadKey
Until not KeyPressed;
End; {Pause}

Procedure MainLoop;       { Main program logic }
Begin
Window(1,1,80,25);
TextBackground(Blue);
ClrScr;
For Int := 1 to 1999 do
  Write('X');
OpenWindow(1);
Write('Window one. ');
Pause;
OpenWindow(2);
Write('Window two. ');
Pause;
OpenWindow(3);
Write('Window three. ');
Pause;
OpenWindow(4);
Write('Window four. ');
Pause;
CloseWindow;
Pause;
CloseWindow;
Pause;
CloseWindow;
Pause;
CloseWindow;
End;

Begin
ClrScr;
MaxLimits;
DefineScreen(1,10, 5,70,22,4,1,$4E);
DefineScreen(2, 1, 1,40,12,1,2,$70);
DefineScreen(3,20,15,55,19,2,3,$50);
DefineScreen(4,50, 9,80,25,3,4,$1D);
MainLoop;
TerminateScreens;
TextBackground(Black);
ClrScr;
End.
