home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a075 / 1.img / TOOLKIT1.EXE / SST197.PRG < prev    next >
Encoding:
Text File  |  1989-09-01  |  2.3 KB  |  83 lines

  1. ********************
  2.  
  3. FUNCTION Windowpop
  4.  
  5.    PARAMETERS _pop1, _pop2, _pop3, _pop4
  6.  
  7.    PRIVATE _trow, _tcol, _pop_temp, _ptemp, _popcol, _pop5
  8.  
  9.    IF PCOUNT() = 4
  10.       _popcol = SETCOLOR()
  11.    ELSEIF PCOUNT() = 0 .OR. PCOUNT() = 1
  12.       IF PCOUNT() = 1
  13.          scr_level = _pop1 + 1
  14.       ENDIF
  15.       _pop1 = VAL(SUBSTR(allwindows[scr_level - 1], 1,  2))
  16.       _pop2 = VAL(SUBSTR(allwindows[scr_level - 1], 4,  2))
  17.       _pop3 = VAL(SUBSTR(allwindows[scr_level - 1], 7,  2))
  18.       _pop4 = VAL(SUBSTR(allwindows[scr_level - 1], 10, 2))
  19.       _pop5 = VAL(SUBSTR(allwindows[scr_level - 1], 13, 2))
  20.       IF _pop1 = -1
  21.          RESTSCREEN(0,0,24,79, allscreens[scr_level-1] )
  22.          scr_level = IF(scr_level = 1, scr_level, scr_level - 1)
  23.          allscreens[scr_level+1] = ""
  24.          allcolor[scr_level+1] = ""
  25.          allwindows[scr_level] = ""
  26.          RETURN(.T.)
  27.       ENDIF
  28.    ENDIF
  29.    scrwrow  = _pop1
  30.    scrwcol  = _pop2
  31.    scrwdown = _pop3 - _pop1 - 1
  32.    scrwover = _pop4 - _pop2 - 1
  33.    _trow = VAL(SUBSTR(allwindows[scr_level - 1], 13, 2))
  34.    _tcol = VAL(SUBSTR(allwindows[scr_level - 1], 16, 2))
  35.  
  36.    IF PCOUNT() != 1
  37.       scr_level = IF(scr_level = 1, scr_level, scr_level - 1)
  38.    ENDIF
  39.    _pop_temp = ""
  40.    _ptemp   = ""
  41.    _pop_temp = allscreens[scr_level]
  42.    _ptemp = allcolor[scr_level]
  43.    _pop5 = IF((TYPE("_pop5") = "U"), 3, _pop5)
  44.  
  45.    SETCOLOR(_ptemp)
  46.  
  47.    IF _pop4 >= 76
  48.       _shadr = 79        && sr = shaded right column
  49.       _pop4 = 76
  50.    ELSE
  51.       _shadr= _pop4 + 3
  52.    ENDIF
  53.  
  54.    IF _pop3 >= 22
  55.       _shadb = 23        && sb = shaded bottom row
  56.       _pop3 = 22
  57.    ELSE
  58.       _shadb = _pop3 + 1
  59.    ENDIF
  60.  
  61.    _pop2 = IF( (_pop2 <= 2), 2, _pop2 )
  62.  
  63.    IF _pop5 = 3 .OR. _pop5 = 93
  64.       RESTSCREEN(_pop1, _pop2-1, _shadb, _shadr, _pop_temp)
  65.    ELSEIF _pop5 = 0
  66.       RESTSCREEN(_pop1, _pop2-1, _pop3, _pop4+1, _pop_temp)
  67.    ELSEIF _pop5 = 1 .OR. _pop5 = 91
  68.       RESTSCREEN(_pop1, _pop2-3, _pop3+1, _pop4, _pop_temp)
  69.    ELSEIF _pop5 = 7 .OR. _pop5 = 97
  70.       RESTSCREEN(_pop1-1, _pop2-3, _pop3, _pop4, _pop_temp)
  71.    ELSEIF _pop5 = 9 .OR. _pop5 = 99
  72.       RESTSCREEN(_pop1-1, _pop2-1, _pop3, _pop4+3, _pop_temp)
  73.    ENDIF
  74.  
  75.    allscreens[scr_level+1] = ""
  76.    allcolor[scr_level+1] = ""
  77.    allwindows[scr_level] = ""
  78.    @ _trow, _tcol SAY ""
  79.    RETURN(.T.)
  80.  
  81. * End of File
  82.  
  83.