CURSES.3
上传用户:jnzhq888
上传日期:2007-01-18
资源大小:51694k
文件大小:9k
源码类别:

操作系统开发

开发平台:

WINDOWS

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