CURSES.3
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:13k
源码类别:

操作系统开发

开发平台:

C/C++

  1. CURSES(3)                 Minix Programmer's Manual                  CURSES(3)
  2. NAME
  3.      curses - screen/window management library
  4. SYNOPSIS
  5.      cc demo.c -lcurses
  6. DESCRIPTION
  7.      Curses is a library of screen and  window  management  routines.   It  is
  8.      modeled  after  the UNIX curses and ncurses libraries. Normally, programs
  9.      written for curses should be easily ported to UNIX, and vice versa.
  10.      To use the routines, the function initscr() must first be  called.   This
  11.      creates  two  'windows'  for  the user: stdscr and curscr.  Stdscr is the
  12.      default window for the user to make changes on, and curscr  reflects  the
  13.      current  contents  of  the  physical  display screen.  The user writes or
  14.      edits the stdscr window to his liking, then calls the refresh()  function
  15.      to  make  curscr and the physical screen look like stdscr.  When the user
  16.      program terminates, it should  call  the  endwin()  function  to  restore
  17.      things to normal.
  18.      There are all sorts of window  manipulation  routines  available  to  the
  19.      programmer:  auxiliary windows may be created, edited, moved and deleted.
  20.      The terminal may be set in many  different  modes,  output  text  may  be
  21.      attributed with blink, blank, bold and reverse attributes.  Screen colors
  22.      may also be set, foreground and background.   There  are  window-specific
  23.      printf-  and  scanf-like  routines,  routines for scrolling, box-drawing,
  24.      window overlaying, clearing routines etc.
  25.      For more and detailed information, see the  library  source  codes.   All
  26.      curses functions are preceded by a complete description.
  27. FUNCTIONS
  28.      Below is a list over the  available  functions,  together  with  a  brief
  29.      description  of  what  they  do.  In general, functions whose names start
  30.      with 'w' differ from the one without 'w' (like wmove  vs.  move)  signify
  31.      that  a  specific  window is used. Without a 'w', sdtscr is implied.  The
  32.      functions that start  with  'mv'  before  the  'genereic'  function  name
  33.      signify that a cursor motion should be made before the actual work.  'mv'
  34.      and 'w' combine as expected.
  35.      Most routines that return an int will return the manifest constant ERR if
  36.      there  is  a  failure  during  execution.   Routines  that  return a char
  37.      actually return an int, so that ERR does not conflict with the  character
  38.      code  0xff.   All  characters  from  0 to 0xff are allowed for usage with
  39.      curses.
  40.      Some  routines,  like  {mv}{w}  printw()  and  {mv}{w}scanw()  return   a
  41.      meaningful positive value if the operation is successful.
  42.                                                                              1
  43. CURSES(3)                 Minix Programmer's Manual                  CURSES(3)
  44.      The curses package uses some predefined  types,  variables  and  manifest
  45.      constants  that  are  also available to the programmer.  There are also a
  46.      few globally accessible variables that  should  not  be  touched  by  the
  47.      application  program.   Those  untouchable  variables have names starting
  48.      with an underscore (_) to avoid conflicts.   The  user-accessible  types,
  49.      variables  and  constants  are  (there  are  a  number of other constants
  50.      defining character attribute names  and  function  key  names  -  consult
  51.      <curses.h> for details):
  52.      (manifest constants)
  53.           TRUE                                boolean true
  54.           FALSE                               boolean false
  55.           ERR                                 unsuccessfull operation
  56.           OK                                  successfull operation
  57.      (types)
  58.           WINDOW                              a window structure type
  59.           bool                                boolean flag type
  60.      (variables)
  61.           WINDOW curscr                       physical display image
  62.           WINDOW stdscr                       default user drawing board
  63.           int LINES                           terminal height
  64.           int COLS                            terminal width
  65.           int NONL                            n causes CR and LF when TRUE
  66.      The following is an alphabetical list of the curses  functions,  together
  67.      with  their  types,  parameters  and  a  short comment for each (win is a
  68.      window, ch, vc, hc are characters, buf is a character buffer, attrs is an
  69.      attribute  bit map, bf is a boolean flag.  Note that `characters' in this
  70.      context usually can have 16 bits):
  71.      int waddch(win,ch)                  put char in stdscr
  72.      int addch(ch)
  73.      int mvaddch(y,x,ch)
  74.      int mvwaddch(win,y,x,ch)
  75.      int waddstr(win,str)                put string in stdscr
  76.      int addstr(str)
  77.      int mvaddstr(y,x,str)
  78.      int mvwaddstr(win,y,x,str)
  79.      void wattroff(win,attrs)            clear attribute(s) in window
  80.      void attroff(attrs)
  81.      void wattron(win,attrs)             add attribute(s) in window
  82.      void attron(attrs)
  83.      void wattrset(win,attrs)            set window char attributes
  84.      void attrset(attrs)
  85.                                                                              2
  86. CURSES(3)                 Minix Programmer's Manual                  CURSES(3)
  87.      int baudrate()                      dummy for compatibility
  88.      void beep()                         ring the bell or visible bell  if  no
  89.      bell available
  90.      void flash()                        flash terminal screen or  rings  bell
  91.      if no visible bell available
  92.      void wbox(win,miny,minx,maxy,maxx,vc,hc) box  in  a  window,  with  given
  93.      characters
  94.      void box(win,vc,hc)
  95.      void cbreak()                       set terminal cbreak mode
  96.      void wclear(win)                    clear stdscr
  97.      void clear()
  98.      void clearok(win,bf)                marks window for screen clear
  99.      int wclrtobot(win)                  clear from cursor to end of line  and
  100.      all lines down this line
  101.      int clrtobot()
  102.      int mvclrtoeol(y,x)
  103.      int mvwclrtobot(win,y,x)
  104.      int wclrtoeol(win)                  clear from cursor to end of line
  105.      int clrtoeol()
  106.      int mvclrtoeol(y,x)
  107.      int mvwclrtoeol(win,y,x)
  108.      int wdelch(win)                     delete a char in a window
  109.      int delch()
  110.      int mvdelch(y,x)
  111.      int mvwdelch(win,y,x)
  112.      int wdeleteln(win)                  delete a line in a window
  113.      int deleteln()
  114.      int mvdeleteln(y,x)
  115.      int mvwdeleteln(win,y,x)
  116.      void delwin(win)                    delete a window or a subwindow
  117.      void doupdate()                     update physical screen
  118.      void echo()                         set terminal echo mode
  119.      int endwin()                        cleanup and curses finitialization
  120.      void werase(win)                    erase a window
  121.      void erase()
  122.      int erasechar()                     return char delete character
  123.      int fixterm()                       dummy for compatibility
  124.                                                                              3
  125. CURSES(3)                 Minix Programmer's Manual                  CURSES(3)
  126.      void flushinp()                     kill pending keyboard input
  127.      int wgetch(win)                     get char via a window
  128.      int getch()
  129.      int mvgetch(y,x)
  130.      int mvwgetch(win,y,x)
  131.      int wgetstr(win,str)                get string via window to a buffer
  132.      int getstr(str)
  133.      int mvgetstr(y,x,str)
  134.      int mvwgetstr(win,y,x,str)
  135.      void getyx(win,y,x)                 get a window's cursor position
  136.      int gettmode()                      dummy for compatibility
  137.      void idlok(win,bf)                  dummy for compatibility
  138.      WINDOW *initscr()                   curses initialization (ret stdscr  or
  139.      NULL)
  140.      int winch(win)                      get char at window cursor
  141.      int inch()
  142.      int mvinch(y,x)
  143.      int mvwinch(win,y,x)
  144.      int winsch(win,ch)                  insert character in a window
  145.      int insch(ch)
  146.      int mvinsch(y,x,ch)
  147.      int mvwinsch(win,y,x,ch)
  148.      int winsertln(win)                  insert new line in a window
  149.      int insertln()
  150.      int mvinsertln(y,x)
  151.      int mvwinsertln(win,y,x)
  152.      void keypad(win,bf)                 marks a window for keypad usage
  153.      int killchar()                      return line delete character
  154.      char *longname()                    returns terminal description string
  155.      void leaveok(win,bf)                marks  window  for   cursor   'update
  156.      leave'
  157.      void meta(win,bf)                   marks window for meta
  158.      int move(y,x)                       move cursor in stdscr
  159.      int mvcur(oldy,oldx,y,x)            move terminal cursor to <y,x>
  160.      int mvprintw(y,x,fmt,args)          move & print string in stdscr
  161.      int mvscanw(y,x,fmt,args)           move & get values via stdscr
  162.      int mvwin(win,y,x)                  move window on physical screen
  163.      int mvwprintw(win,x,y,fmt,args)     move & print string in a window
  164.      int mvwscanw(win,y,x,fmt,args)      move & get values via a window
  165.      WINDOW *newwin(lines,cols,begy,begx) create a new window
  166.                                                                              4
  167. CURSES(3)                 Minix Programmer's Manual                  CURSES(3)
  168.      void nl()                           set terminal cr-crlf mapping mode
  169.      void nocbreak()                     unset terminal cbreak mod
  170.      void nodelay(win,bf)                marks window for no input wait
  171.      void noecho()                       unset terminal echo mode
  172.      void nonl()                         unset terminal cr-crlf mapping mode
  173.      void noraw()                        unset raw terminal mode
  174.      void overlay(win1,win2)             overlay one window on another
  175.      void overwrite(win1,win2)           overwrite one window on another
  176.      int printw(fmt,args)                print string in stdscr
  177.      void raw()                          set raw terminal mode
  178.      void refrbrk(bf)                    set screen update break mode
  179.      void refresh()                      refresh stdscr
  180.      int resetterm()                     dummy for compatibility
  181.      int resetty()                       restore terminal I/O modes
  182.      int saveoldterm()                   dummy for compatibility
  183.      int saveterm()                      dummy for compatibility
  184.      int savetty()                       save terminal I/O modes
  185.      int scanw(fmt,args)                 get values via stdscr
  186.      void scroll(win)                    scroll scrolling region of a window
  187.      void scrollok(win,bf)               marks a window to allow scroll
  188.      void setcolors(A_COLOR(for,back))   sets the forground and background
  189.                                          colors of stdscr
  190.      void set_curs(visibility)           0 for invisible, 1 for visible, 2 for
  191.      good
  192.                                          visible
  193.      int setsrcreg(miny,maxy)            define stdscr's scroll region
  194.      int setterm()                       dummy for compatibility
  195.      int setupterm(term,fd,errret)       set up terminal
  196.      void standend()                     start normal chars in stdscr
  197.      void standout()                     start standout chars in stdscr
  198.      WINDOW *subwin(win,lines,cols,begy,begx)
  199.                                          create a sub-window in window win
  200.      int tabsize(ts)                     set/get tabsize of stdscr
  201.      void touchwin(win)                  mark a window as totally modified
  202.      char *unctrl(ch)                    char-to-string converter
  203.      int wmove(win,y,x)                  move cursor in a window
  204.      void wnoutrefresh(win)              create internal screen image
  205.      int wprintw(win,fmt,args)           print string in a window
  206.      void wrefresh(win)                  refresh window
  207.      int wscanw(win,fmt,args)            get values via a window
  208.      void wsetcolors(win,A_COLOR(for,back)) sets the forground and
  209.                                          background colors  of  the  specified
  210.      window
  211.      int wsetsrcreg(win,miny,maxy)       define a window's scrolling region
  212.      void wstandend(win)                 start normal chars in window
  213.      void wstandout(win)                 start standout chars in window
  214.      int wtabsize(win,ts)                set/get tabsize of a window
  215.                                                                              5
  216. CURSES(3)                 Minix Programmer's Manual                  CURSES(3)
  217. BUGS
  218.      Function keys are not available under the MINIX version.
  219.                                                                              6