home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3x / curs_kernel.z / curs_kernel
Encoding:
Text File  |  2002-10-03  |  12.7 KB  |  128 lines

  1.  
  2.  
  3.  
  4. ccccuuuurrrrssss____kkkkeeeerrrrnnnneeeellll((((3333XXXX))))                                                ccccuuuurrrrssss____kkkkeeeerrrrnnnneeeellll((((3333XXXX))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _cccc_uuuu_rrrr_ssss______kkkk_eeee_rrrr_nnnn_eeee_llll:  _dddd_eeee_ffff______pppp_rrrr_oooo_gggg______mmmm_oooo_dddd_eeee, _dddd_eeee_ffff______ssss_hhhh_eeee_llll_llll______mmmm_oooo_dddd_eeee, _rrrr_eeee_ssss_eeee_tttt______pppp_rrrr_oooo_gggg______mmmm_oooo_dddd_eeee,
  10.      _rrrr_eeee_ssss_eeee_tttt______ssss_hhhh_eeee_llll_llll______mmmm_oooo_dddd_eeee, _rrrr_eeee_ssss_eeee_tttt_tttt_yyyy, _ssss_aaaa_vvvv_eeee_tttt_tttt_yyyy, _gggg_eeee_tttt_ssss_yyyy_xxxx, _ssss_eeee_tttt_ssss_yyyy_xxxx, _rrrr_iiii_pppp_oooo_ffff_ffff_llll_iiii_nnnn_eeee, _cccc_uuuu_rrrr_ssss______ssss_eeee_tttt,
  11.      _nnnn_aaaa_pppp_mmmm_ssss - low-level _cccc_uuuu_rrrr_ssss_eeee_ssss routines
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_cccc_uuuu_rrrr_ssss_eeee_ssss_...._hhhh_>>>>
  15.  
  16.      _iiii_nnnn_tttt _dddd_eeee_ffff______pppp_rrrr_oooo_gggg______mmmm_oooo_dddd_eeee_((((_vvvv_oooo_iiii_dddd_))))_;;;;
  17.      _iiii_nnnn_tttt _dddd_eeee_ffff______ssss_hhhh_eeee_llll_llll______mmmm_oooo_dddd_eeee_((((_vvvv_oooo_iiii_dddd_))))_;;;;
  18.      _iiii_nnnn_tttt _rrrr_eeee_ssss_eeee_tttt______pppp_rrrr_oooo_gggg______mmmm_oooo_dddd_eeee_((((_vvvv_oooo_iiii_dddd_))))_;;;;
  19.      _iiii_nnnn_tttt _rrrr_eeee_ssss_eeee_tttt______ssss_hhhh_eeee_llll_llll______mmmm_oooo_dddd_eeee_((((_vvvv_oooo_iiii_dddd_))))_;;;;
  20.      _iiii_nnnn_tttt _rrrr_eeee_ssss_eeee_tttt_tttt_yyyy_((((_vvvv_oooo_iiii_dddd_))))_;;;;
  21.      _iiii_nnnn_tttt _ssss_aaaa_vvvv_eeee_tttt_tttt_yyyy_((((_vvvv_oooo_iiii_dddd_))))_;;;;
  22.      _iiii_nnnn_tttt _gggg_eeee_tttt_ssss_yyyy_xxxx_((((_iiii_nnnn_tttt _yyyy_,,,, _iiii_nnnn_tttt _xxxx_))))_;;;;
  23.      _iiii_nnnn_tttt _ssss_eeee_tttt_ssss_yyyy_xxxx_((((_iiii_nnnn_tttt _yyyy_,,,, _iiii_nnnn_tttt _xxxx_))))_;;;;
  24.      _iiii_nnnn_tttt _rrrr_iiii_pppp_oooo_ffff_ffff_llll_iiii_nnnn_eeee_((((_iiii_nnnn_tttt _llll_iiii_nnnn_eeee_,,,, _iiii_nnnn_tttt _((((_****_iiii_nnnn_iiii_tttt_))))_((((_WWWW_IIII_NNNN_DDDD_OOOO_WWWW _****_,,,, _iiii_nnnn_tttt_))))_))))_;;;;
  25.      _iiii_nnnn_tttt _cccc_uuuu_rrrr_ssss______ssss_eeee_tttt_((((_iiii_nnnn_tttt _vvvv_iiii_ssss_iiii_bbbb_iiii_llll_iiii_tttt_yyyy_))))_;;;;
  26.      _iiii_nnnn_tttt _nnnn_aaaa_pppp_mmmm_ssss_((((_iiii_nnnn_tttt _mmmm_ssss_))))_;;;;
  27.  
  28. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  29.      The following routines give low-level access to various _cccc_uuuu_rrrr_ssss_eeee_ssss
  30.      functionality.  Theses routines typically are used inside library
  31.      routines.
  32.  
  33.      The _dddd_eeee_ffff______pppp_rrrr_oooo_gggg______mmmm_oooo_dddd_eeee and _dddd_eeee_ffff______ssss_hhhh_eeee_llll_llll______mmmm_oooo_dddd_eeee routines save the current terminal
  34.      modes as the "program" (in _cccc_uuuu_rrrr_ssss_eeee_ssss) or "shell" (not in _cccc_uuuu_rrrr_ssss_eeee_ssss) state for
  35.      use by the _rrrr_eeee_ssss_eeee_tttt______pppp_rrrr_oooo_gggg______mmmm_oooo_dddd_eeee and _rrrr_eeee_ssss_eeee_tttt______ssss_hhhh_eeee_llll_llll______mmmm_oooo_dddd_eeee routines.  This is done
  36.      automatically by _iiii_nnnn_iiii_tttt_ssss_cccc_rrrr.
  37.  
  38.      The _rrrr_eeee_ssss_eeee_tttt______pppp_rrrr_oooo_gggg______mmmm_oooo_dddd_eeee and _rrrr_eeee_ssss_eeee_tttt______ssss_hhhh_eeee_llll_llll______mmmm_oooo_dddd_eeee routines restore the terminal to
  39.      "program" (in _cccc_uuuu_rrrr_ssss_eeee_ssss) or "shell" (out of _cccc_uuuu_rrrr_ssss_eeee_ssss) state.  These are done
  40.      automatically by _eeee_nnnn_dddd_wwww_iiii_nnnn and, after an _eeee_nnnn_dddd_wwww_iiii_nnnn, by _dddd_oooo_uuuu_pppp_dddd_aaaa_tttt_eeee, so they
  41.      normally are not called.
  42.  
  43.      The _rrrr_eeee_ssss_eeee_tttt_tttt_yyyy and _ssss_aaaa_vvvv_eeee_tttt_tttt_yyyy routines save and restore the state of the
  44.      terminal modes.  _ssss_aaaa_vvvv_eeee_tttt_tttt_yyyy saves the current state in a buffer and _rrrr_eeee_ssss_eeee_tttt_tttt_yyyy
  45.      restores the state to what it was at the last call to _ssss_aaaa_vvvv_eeee_tttt_tttt_yyyy.
  46.  
  47.      With the _gggg_eeee_tttt_ssss_yyyy_xxxx routine, the current coordinates of the virtual screen
  48.      cursor are returned in _y and _x.  If _llll_eeee_aaaa_vvvv_eeee_oooo_kkkk is currently _TTTT_RRRR_UUUU_EEEE, then _----_1111,_----_1111
  49.      is returned.  If lines have been removed from the top of the screen,
  50.      using _rrrr_iiii_pppp_oooo_ffff_ffff_llll_iiii_nnnn_eeee, _y and _x include these lines; therefore, _y and _x should
  51.      be used only as arguments for _ssss_eeee_tttt_ssss_yyyy_xxxx.
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.                                                                         PPPPaaaaggggeeee 1111
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65. ccccuuuurrrrssss____kkkkeeeerrrrnnnneeeellll((((3333XXXX))))                                                ccccuuuurrrrssss____kkkkeeeerrrrnnnneeeellll((((3333XXXX))))
  66.  
  67.  
  68.  
  69.      With the _ssss_eeee_tttt_ssss_yyyy_xxxx routine, the virtual screen cursor is set to _y, _x.  If _y
  70.      and _x are both _----_1111, then _llll_eeee_aaaa_vvvv_eeee_oooo_kkkk is set.  The two routines _gggg_eeee_tttt_ssss_yyyy_xxxx and
  71.      _ssss_eeee_tttt_ssss_yyyy_xxxx are designed to be used by a library routine, which manipulates
  72.      _cccc_uuuu_rrrr_ssss_eeee_ssss windows but does not want to change the current position of the
  73.      program's cursor.  The library routine would call _gggg_eeee_tttt_ssss_yyyy_xxxx at the
  74.      beginning, do its manipulation of its own windows, do a _wwww_nnnn_oooo_uuuu_tttt_rrrr_eeee_ffff_rrrr_eeee_ssss_hhhh on
  75.      its windows, call _ssss_eeee_tttt_ssss_yyyy_xxxx, and then call _dddd_oooo_uuuu_pppp_dddd_aaaa_tttt_eeee.
  76.  
  77.      The _rrrr_iiii_pppp_oooo_ffff_ffff_llll_iiii_nnnn_eeee routine provides access to the same facility that _ssss_llll_kkkk______iiii_nnnn_iiii_tttt
  78.      [see curs_slk(3X)] uses to reduce the size of the screen.  _rrrr_iiii_pppp_oooo_ffff_ffff_llll_iiii_nnnn_eeee
  79.      must be called before _iiii_nnnn_iiii_tttt_ssss_cccc_rrrr or _nnnn_eeee_wwww_tttt_eeee_rrrr_mmmm is called.  If _l_i_n_e is positive,
  80.      a line is removed from the top of _ssss_tttt_dddd_ssss_cccc_rrrr; if _l_i_n_e is negative, a line is
  81.      removed from the bottom.  When this is done inside _iiii_nnnn_iiii_tttt_ssss_cccc_rrrr, the routine
  82.      _iiii_nnnn_iiii_tttt (supplied by the user) is called with two arguments:  a window
  83.      pointer to the one-line window that has been allocated and an integer
  84.      with the number of columns in the window.  Inside this initialization
  85.      routine, the integer variables _LLLL_IIII_NNNN_EEEE_SSSS and _CCCC_OOOO_LLLL_SSSS (defined in _<<<<_cccc_uuuu_rrrr_ssss_eeee_ssss_...._hhhh_>>>>) are
  86.      not guaranteed to be accurate and _wwww_rrrr_eeee_ffff_rrrr_eeee_ssss_hhhh or _dddd_oooo_uuuu_pppp_dddd_aaaa_tttt_eeee must not be
  87.      called.  It is allowable to call _wwww_nnnn_oooo_uuuu_tttt_rrrr_eeee_ffff_rrrr_eeee_ssss_hhhh during the initialization
  88.      routine.
  89.  
  90.      _rrrr_iiii_pppp_oooo_ffff_ffff_llll_iiii_nnnn_eeee can be called up to five times before calling _iiii_nnnn_iiii_tttt_ssss_cccc_rrrr or
  91.      _nnnn_eeee_wwww_tttt_eeee_rrrr_mmmm.
  92.  
  93.      With the _cccc_uuuu_rrrr_ssss______ssss_eeee_tttt routine, the cursor state is set to invisible, normal,
  94.      or very visible for _vvvv_iiii_ssss_iiii_bbbb_iiii_llll_iiii_tttt_yyyy equal to _0000, _1111, or _2222 respectively.  If the
  95.      terminal supports the _v_i_s_i_b_i_l_i_t_y requested, the previous _c_u_r_s_o_r state is
  96.      returned; otherwise, _EEEE_RRRR_RRRR is returned.
  97.  
  98.      The _nnnn_aaaa_pppp_mmmm_ssss routine is used to sleep for _m_s milliseconds.
  99.  
  100. RRRREEEETTTTUUUURRRRNNNN VVVVAAAALLLLUUUUEEEE
  101.      Except for _cccc_uuuu_rrrr_ssss______ssss_eeee_tttt, these routines always return _OOOO_KKKK.  _cccc_uuuu_rrrr_ssss______ssss_eeee_tttt returns
  102.      the previous cursor state, or _EEEE_RRRR_RRRR if the requested _v_i_s_i_b_i_l_i_t_y is not
  103.      supported.
  104.  
  105. NNNNOOOOTTTTEEEESSSS
  106.      The header file _<<<<_cccc_uuuu_rrrr_ssss_eeee_ssss_...._hhhh_>>>> automatically includes the header files
  107.      _<<<<_ssss_tttt_dddd_iiii_oooo_...._hhhh_>>>> and _<<<<_uuuu_nnnn_cccc_tttt_rrrr_llll_...._hhhh_>>>>.
  108.  
  109.      Note that _gggg_eeee_tttt_ssss_yyyy_xxxx is a macro, so _&&&& is not necessary before the variables _y
  110.      and _x.
  111.  
  112. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  113.      _cccc_uuuu_rrrr_ssss_eeee_ssss(3X), _cccc_uuuu_rrrr_ssss______iiii_nnnn_iiii_tttt_ssss_cccc_rrrr(3X), _cccc_uuuu_rrrr_ssss______oooo_uuuu_tttt_oooo_pppp_tttt_ssss(3X), _cccc_uuuu_rrrr_ssss______rrrr_eeee_ffff_rrrr_eeee_ssss_hhhh(3X),
  114.      _cccc_uuuu_rrrr_ssss______ssss_cccc_rrrr______dddd_uuuu_mmmm_pppp(3X), _cccc_uuuu_rrrr_ssss______ssss_llll_kkkk(3X)
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.                                                                         PPPPaaaaggggeeee 2222
  125.  
  126.  
  127.  
  128.