subroutine grasol (otes18.f)

For a guide to the graphic prompter, see OTEQ/Displays.html

Call list parameters:
GRASOL

 FLZ     -      I    - flag array

 EL      - R(M,N,IN) - data array

 M,N,IN  -    I,I,I  - array size and the part of EL to display

 TYP     -     C*1   - array type 'Z' or 'M'

 RANGEL  -
     R    - lower and
 RANGEU  -
     R    - upper limit, rounded please
 IVSS    -
     I    - -1: free range
                       +1: symmetric -RANGEL ... +RANGEL
(RANGEU ignored)
                        0: show 0  .. RANGEL (RANGEU ignored)

 QCO     *
     L    - .true.: initialize graphic screen.
                       QCO is returned .false. if the graphic screen is
                       active at return time. Input / output.
 

 QCLR    -
     L    - clear screen before display.

 QSTOP   *
     L    - returned: .true. if the user enters `S´ at prompt.

 QGRA_GO *
     L    - Prompting mode after screen is filled.
                       Is set .false. by entering `G´ at prompt (Go).
                       Is set .true. if `^R´ is pressed during screen filling.

 ITMSG   *
     I    - input: a number to display as a comment.
                       output: Number entered by user after `I´ -key entered at prompt


 MSG     -
    C**   - on-screen message. should not be longer than 70 chars.

 UNITS   -
   C*80   - metric unit for the data, e.g. `[m]´
                       A "tank-filling" percentage can be appended; then the unit
                       must be delimited with `$´, and the percentage is indicated
                       with a leading `%´ , e.g.
`[m]$ %050´
                       The purple bar right above the array map then functions
                       as filling meter, e.g. to show where in a confined call loop
                       the display has been issued.

Entry calls:


 _Activate_inkey(q)
  -   deprecated

 _Statusline(c)      -

 _Isgn(isgn1,isgn2)  -

 _Lsgn)i)

 _Qclip(q)           -
 _Rvy(1)
 _Rvyax(q,i1,i2)     -
 
_2f_Enable(q1,q2)  -
 _corner(i1,i2)      -
 _width
(i1,i2)       -
 _prompt_i(c)        - 
 enq_grasol(i1..i5)  -

 _Subcolors(i)       -


Additional subroutines in otes18.f
    Grasol_Ds
   _Ds()             - s 
  
_Vs(i)            - e

   _Ss()
             -

    Grasol_End
   _End(q1,q2)       - s

    Bar
  
   
Put_Field
 
    Paint-Field

 

    Grasol_Fct 
  _Fct(r)            - s
  Set_Grasol_Msg(c)  - e
  Get_Grasol_Msg(c)  - e
 



Functions: 
    Isgn_Grasol
    Lsgn_Grasol
 
Last_Isgn_Grasol
 

Common areas:

      common /cvmon/  modegrc,ixpcc,iypcc,iwxc,iwyc
      common /colors/ ivm,ksiz,icolor(0:15),ic1,ic2,iac1,iac2           -
interacts with palette sub's, util/afor/p/chpal.f
      common /cgraso/ factor,ksgn(10),lksgn,lsgn,ithalt,kount,maxkount  -
proprietary to otes18.f    

      character csgn*64
      common /ccgras/ csgn 
                                             - interacts with  otes12.f

      logical qsplash_on
      real*8 dt_splashb, dt_splashe
      common /csplash/ dt_splashb,dt_splashe,splashh
     &,                isplash,jsplash,rsplash,qsplash_on
               - interacts with  otes12.f


Quotes:
  
otes12.f
      CALL GRASOL (FLZ,EL,M,N,IN,'Z',RANGE,rdummy,ivss
     &,               QCO,QCLR,QSTOP,Qgra_go
     &,               ITMSG,'Elevation '//datim(:26),unita)

      if (m.lt.160.and.n.lt.100) call grasol_ds
      call grasol_activate_inkey (QInkey)
      call grasol_statusline (status_mess)
      call grasol_isgn (1,nclc)
      call grasol_end (qco,qpgra_go)
      call grasol_activate_inkey (QInkey)
      call grasol_clip (index('yY',ans).gt.0)
      call grasol_fct (1.0)
      call grasol_vs (ksiz)

   otes18.f
      call grasol_end (qco,qgra_go)
      call Grasol_Subcolors (ier)