CURSES.3
资源名称:os_source.zip [点击查看]
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:9k
源码类别:
操作系统开发
开发平台:
C/C++
- .TH CURSES 3
- .SH NAME
- curses - screen/window management library
- .SH SYNOPSIS
- cc demo.c -lcurses
- .SH DESCRIPTION
- Curses is a library of screen and window management routines. It is modeled
- after the UNIX curses and ncurses libraries. Normally, programs written for
- curses should be easily ported to UNIX, and vice versa.
- .PP
- To use the routines, the function initscr() must first be called.
- This creates two 'windows' for the user: stdscr and curscr. Stdscr is the
- default
- window for the user to make changes on, and curscr reflects the current
- contents of the physical display screen. The user writes or edits the stdscr
- window to his liking, then calls the refresh() function to make curscr
- and the physical screen look like stdscr. When the user program terminates,
- it should call the endwin() function to restore things to normal.
- .PP
- There are all sorts of window manipulation routines available to the
- programmer: auxiliary windows may be created, edited, moved and deleted. The
- terminal may be set in many different modes, output text may be attributed
- with blink, blank, bold and reverse attributes. Screen colors may also be
- set, foreground and background. There are window-specific
- printf- and scanf-like routines, routines for scrolling, box-drawing,
- window overlaying, clearing routines etc.
- .PP
- For more and detailed information, see the library source codes. All curses
- functions are preceded by a complete description.
- .SH FUNCTIONS
- Below is a list over the available functions, together with a brief
- description of what they do. In general, functions whose names start with 'w'
- differ from the one without 'w' (like wmove vs. move) signify that
- a specific window is used. Without a 'w', sdtscr is implied. The functions
- that start with 'mv' before the 'genereic' function name signify that a
- cursor motion should be made before the actual work. 'mv' and 'w' combine
- as expected.
- .PP
- Most routines that return an int will return the manifest constant ERR if
- there is a failure during execution. Routines that return a char actually
- return an int, so that ERR does not conflict with the character code 0xff.
- All characters from 0 to 0xff are allowed for usage with curses.
- .PP
- Some routines, like {mv}{w} printw() and {mv}{w}scanw() return a meaningful
- positive value if the operation is successful.
- .PP
- The curses package uses some predefined types, variables and manifest
- constants that are also available to the programmer. There are also a few
- globally accessible variables that should not be touched by the application
- program. Those untouchable variables have names starting with an
- underscore (_) to avoid conflicts. The user-accessible types, variables
- and constants are (there are a number of other constants defining character
- attribute names and function key names - consult <curses.h> for details):
- .sp
- .nf
- .ta 3i
- (manifest constants)
- .RS
- TRUE boolean true
- FALSE boolean false
- ERR unsuccessfull operation
- OK successfull operation
- .RE
- .sp
- (types)
- .RS
- WINDOW a window structure type
- bool boolean flag type
- .RE
- .sp
- (variables)
- .RS
- WINDOW curscr physical display image
- WINDOW stdscr default user drawing board
- int LINES terminal height
- int COLS terminal width
- int NONL \n causes CR and LF when TRUE
- .RE
- .sp
- .fi
- The following is an alphabetical list of the curses functions, together
- with their types, parameters and a short comment for each (win is a window,
- ch, vc, hc are characters, buf is a character buffer, attrs is an
- attribute bit map, bf is a boolean flag. Note that `characters' in this
- context usually can have 16 bits):
- .nf
- .sp
- int waddch(win,ch) put char in stdscr
- int addch(ch)
- int mvaddch(y,x,ch)
- int mvwaddch(win,y,x,ch)
- int waddstr(win,str) put string in stdscr
- int addstr(str)
- int mvaddstr(y,x,str)
- int mvwaddstr(win,y,x,str)
- void wattroff(win,attrs) clear attribute(s) in window
- void attroff(attrs)
- void wattron(win,attrs) add attribute(s) in window
- void attron(attrs)
- void wattrset(win,attrs) set window char attributes
- void attrset(attrs)
- int baudrate() dummy for compatibility
- void beep() ring the bell or visible bell if no bell available
- void flash() flash terminal screen or rings bell if no visible bell available
- void wbox(win,miny,minx,maxy,maxx,vc,hc) box in a window, with given characters
- void box(win,vc,hc)
- void cbreak() set terminal cbreak mode
- void wclear(win) clear stdscr
- void clear()
- void clearok(win,bf) marks window for screen clear
- int wclrtobot(win) clear from cursor to end of line and all lines down this line
- int clrtobot()
- int mvclrtoeol(y,x)
- int mvwclrtobot(win,y,x)
- int wclrtoeol(win) clear from cursor to end of line
- int clrtoeol()
- int mvclrtoeol(y,x)
- int mvwclrtoeol(win,y,x)
- int wdelch(win) delete a char in a window
- int delch()
- int mvdelch(y,x)
- int mvwdelch(win,y,x)
- int wdeleteln(win) delete a line in a window
- int deleteln()
- int mvdeleteln(y,x)
- int mvwdeleteln(win,y,x)
- void delwin(win) delete a window or a subwindow
- void doupdate() update physical screen
- void echo() set terminal echo mode
- int endwin() cleanup and curses finitialization
- void werase(win) erase a window
- void erase()
- int erasechar() return char delete character
- int fixterm() dummy for compatibility
- void flushinp() kill pending keyboard input
- int wgetch(win) get char via a window
- int getch()
- int mvgetch(y,x)
- int mvwgetch(win,y,x)
- int wgetstr(win,str) get string via window to a buffer
- int getstr(str)
- int mvgetstr(y,x,str)
- int mvwgetstr(win,y,x,str)
- void getyx(win,y,x) get a window's cursor position
- int gettmode() dummy for compatibility
- void idlok(win,bf) dummy for compatibility
- WINDOW *initscr() curses initialization (ret stdscr or NULL)
- int winch(win) get char at window cursor
- int inch()
- int mvinch(y,x)
- int mvwinch(win,y,x)
- int winsch(win,ch) insert character in a window
- int insch(ch)
- int mvinsch(y,x,ch)
- int mvwinsch(win,y,x,ch)
- int winsertln(win) insert new line in a window
- int insertln()
- int mvinsertln(y,x)
- int mvwinsertln(win,y,x)
- void keypad(win,bf) marks a window for keypad usage
- int killchar() return line delete character
- char *longname() returns terminal description string
- void leaveok(win,bf) marks window for cursor 'update leave'
- void meta(win,bf) marks window for meta
- int move(y,x) move cursor in stdscr
- int mvcur(oldy,oldx,y,x) move terminal cursor to <y,x>
- int mvprintw(y,x,fmt,args) move & print string in stdscr
- int mvscanw(y,x,fmt,args) move & get values via stdscr
- int mvwin(win,y,x) move window on physical screen
- int mvwprintw(win,x,y,fmt,args) move & print string in a window
- int mvwscanw(win,y,x,fmt,args) move & get values via a window
- WINDOW *newwin(lines,cols,begy,begx) create a new window
- void nl() set terminal cr-crlf mapping mode
- void nocbreak() unset terminal cbreak mod
- void nodelay(win,bf) marks window for no input wait
- void noecho() unset terminal echo mode
- void nonl() unset terminal cr-crlf mapping mode
- void noraw() unset raw terminal mode
- void overlay(win1,win2) overlay one window on another
- void overwrite(win1,win2) overwrite one window on another
- int printw(fmt,args) print string in stdscr
- void raw() set raw terminal mode
- void refrbrk(bf) set screen update break mode
- void refresh() refresh stdscr
- int resetterm() dummy for compatibility
- int resetty() restore terminal I/O modes
- int saveoldterm() dummy for compatibility
- int saveterm() dummy for compatibility
- int savetty() save terminal I/O modes
- int scanw(fmt,args) get values via stdscr
- void scroll(win) scroll scrolling region of a window
- void scrollok(win,bf) marks a window to allow scroll
- void setcolors(A_COLOR(for,back)) sets the forground and background
- colors of stdscr
- void set_curs(visibility) 0 for invisible, 1 for visible, 2 for good
- visible
- int setsrcreg(miny,maxy) define stdscr's scroll region
- int setterm() dummy for compatibility
- int setupterm(term,fd,errret) set up terminal
- void standend() start normal chars in stdscr
- void standout() start standout chars in stdscr
- WINDOW *subwin(win,lines,cols,begy,begx)
- create a sub-window in window win
- int tabsize(ts) set/get tabsize of stdscr
- void touchwin(win) mark a window as totally modified
- char *unctrl(ch) char-to-string converter
- int wmove(win,y,x) move cursor in a window
- void wnoutrefresh(win) create internal screen image
- int wprintw(win,fmt,args) print string in a window
- void wrefresh(win) refresh window
- int wscanw(win,fmt,args) get values via a window
- void wsetcolors(win,A_COLOR(for,back)) sets the forground and
- background colors of the specified window
- int wsetsrcreg(win,miny,maxy) define a window's scrolling region
- void wstandend(win) start normal chars in window
- void wstandout(win) start standout chars in window
- int wtabsize(win,ts) set/get tabsize of a window
- .SH BUGS
- Function keys are not available under the MINIX version.