$FUNCNAME$
  RESTSCREEN()
$CATEGORY$
  TERMINAL/IO
$SUMMARY$
   Display a saved screen region to a specified location
$LANG_RU$
           .
$SYNTAX$
     RESTSCREEN([<nTop>], [<nLeft>], [<nBottom>], [<nRight>], <cScreen>) --> NIL
$LANG_RU$
     RESTSCREEN( < >, < >,
	  < >, < >, < >) --> NIL
$ARGUMENTS$
     <nTop>, <nLeft>, <nBottom>, and <nRight> define the
     coordinates of the screen information contained in <cScreen>.  If
     <cScreen> was saved without coordinates to preserve the entire screen,
     no screen coordinates are necessary with RESTSCREEN().
     <cScreen> is a character string containing the saved screen region.
$LANG_RU$
     < >, < >, < >  < >
            
        < >.
     < > -  ,   
     .
$RETURNS$
     RESTSCREEN() always returns NIL.
$LANG_RU$
     RESTSCREEN()   NIL.
$DESCRIPTION$
     RESTSCREEN() is a screen function that redisplays a screen region saved
     with SAVESCREEN().  The target screen location may be the same as or
     different from the original location when the screen region was saved.
     If you specify a new screen location, the new screen region must be the
     same size or you will get ambiguous results.  To use RESTSCREEN() to
     restore screen regions saved with SAVE SCREEN, specify the region
     coordinates as 0, 0, MAXROW(), MAXCOL().

     Warning!  SAVE SCREEN, RESTORE SCREEN, SAVESCREEN(), and
     RESTSCREEN() are supported when using the default (IBM PC memory mapped)
     screen driver.  Other screen drivers may not support saving and
     restoring screens.
$LANG_RU$
     RESTSCREEN() -    ,  ""
         SAVESCREEN()  .
            ,
          .

          ,   
         ,    
     .    RESTSCREEN()   
      ,    SAVESCREEN(), 
       0, 0, MAXROW(), MAXCOL().

     :
      SAVE SCREEN  RESTORE SCREEN   SAVESCREEN() 
     RESTSCREEN()     
          (IBM-PC  ).
           
       .
$EXAMPLES$
       This example demonstrates RESTSCREEN() as part of a general
	purpose pop-up menu function, PopMenu():

	? PopMenu({1, 1, 3, 10, {"ItemOne", "ItemTwo"}, ;
	      "BG+/B"})

	FUNCTION PopMenu( aList )
	   LOCAL cScreen, nChoice, cOldColor := ;
		    SETCOLOR(aList[6])
	   cScreen := SAVESCREEN(aList[1], aList[2],;
	       aList[3], aList[4])
	   @ aList[1], aList[2], TO aList[3], aList[4] DOUBLE
	   nChoice := ACHOICE(++aList[1], ++aList[2],;
	      --aList[3], --aList[4], aList[5])
	   SETCOLOR(cOldColor)
	   RESTSCREEN(--aList[1], --aList[2], ++aList[3],;
	       ++aList[4], cScreen)
	   RETURN nChoice
$LANG_RU$
         RESTSCREEN()   ""
           PopMenu():

       ? PopMenu({ 1, 1, 3, 10, {"ItemOne", "ItemTwo"}, "BG+/B"} )

       FUNCTION PopMenu( aList )
	  LOCAL cScreen, nChoice, cOldColor := SETCOLOR(aList[6])
	  cScreen := SAVESCREEN( aList[1], aList[2], aList[3], aList[4])
	  @ aList[1], aList[2], TO aList[3], aList[4] DOUBLE
	  nChoice := ACHOICE(++aList[1], ++aList[2],;
	  --aList[3], --aList[4], aList[5])
	  SETCOLOR(cOldColor)
	  RESTSCREEN(--aList[1], --aList[2],;
	  ++aList[3], ++aList[4], cScreen)
	  RETURN nChoice
$SEEALSO$
  SAVESCREEN()
$END$
