curses.h
上传用户:jmzj888
上传日期:2007-01-02
资源大小:220k
文件大小:9k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
  2.    This file is public domain and comes with NO WARRANTY of any kind */
  3. /* general definitions */
  4. #define  ERR 0 /* general error flag */
  5. #define  OK 1 /* general OK flag */
  6. /* functions defined as macros */
  7. #define getch()    wgetch(stdscr) /* using macroes allows you to use */
  8. #define ungetch(c) wungetch(c) /* #undef getch/ungetch in your */
  9. /* programs to use MSC/TRC getch() */
  10. /* and ungetch() routines */
  11. #define getyx(win,y,x)    (y = (win)->_cury, x = (win)->_curx)
  12. #define mvcur(oldy,oldx,newy,newx) _mvcur(newy,newx)
  13. /* video attribute definitions. Colour definitions for */
  14. /* CGA/EGA should also go here... */
  15. #define wattribute(win,A) ((win)->_attrs= (win)->_attrs & 0x7000 | (A<<8))
  16. #define wbcolor(win,A) ((win)->_attrs= (win)->_attrs & 0x8f00 | (A<<12))
  17. #define wfcolor(win,A) wattribute(win,A)
  18. #define wattrcolor(win,A,C) ((win)->_attrs= ((A) | ((C) << 4)) << 8)
  19. #define wfbcolor(win,A,C) ((win)->_attrs= ((A) | ((C) << 4)) << 8)
  20. #define wattron(win,A) 
  21. ( win->_attrs= (A & 0x70 ? win->attrs & 0x8f00 | (A<<8) : win->attrs | (A<<8)))
  22. #define wattroff(win,A) 
  23. ( win->_attrs= (A & 0x70 ? win->_attrs & 0x8f00 : 
  24.                (A & 0x07 ? win->_attrs | 0x0700 : win->_attrs & (~A<<8)))
  25. #define wattrset(win,A) ((win)->_attrs= (A<<8))
  26. #define wstandout(win) (win)->_attrs= 0x7000)
  27. #define wstandend(win) (win)->_attrs= 0x0700)
  28. #define wgetfcolor(win) (((win)->_attrs >> 8) & 7)
  29. #define wgetbcolor(win) (((win)->_attrs >> 12) & 7)
  30. #define A_ALTCHARSET   0x07
  31. #define A_BLINK        0x80
  32. #define A_BLANK        0
  33. #define A_BOLD         0x0f
  34. #define A_DIM          0x07
  35. #define A_PROTECT      0x07
  36. #define A_REVERSE      0x70
  37. #define A_STANDOUT     0x70
  38. #define A_UNDERLINE    0x01
  39. /* Defines for wbox() */
  40. #define OVERLAY 1
  41. #define DOUBLE_WIDTH 2
  42. #define DOUBLE_HEIGHT 4
  43. /* type declarations */
  44. #ifdef __WATCOMC__
  45. #pragma pack(4) /* Used by memadd.asm */
  46. #endif
  47. typedef struct st_window
  48.   {
  49.   short    _cury; /* Current pseudo-cursor */
  50.   short    _curx;
  51.   short    _maxy; /* Max coordinates */
  52.   short    _maxx;
  53.   short    _begy; /* Origin on screen */
  54.   short    _begx;
  55.   short    _flags; /* Window properties */
  56.   short    _attrs; /* Attributes of written characters */
  57.   short    _tabsize; /* Tab character size */
  58.   bool    _clear; /* Causes clear at next refresh */
  59.   bool    _leave_cursor; /* Leaves cursor as it happens */
  60.   bool    _scroll; /* Allows window scrolling */
  61.   bool    _nodelay; /* Input character wait flag */
  62.   bool    _keypad; /* Flags keypad key mode active */
  63.   short   **_line; /* Pointer to line pointer array */
  64.   short   *_minchng; /* First changed character in line */
  65.   short   *_maxchng; /* Last changed character in line */
  66.   short    _regtop; /* Top of scrolling region */
  67.   short    _regbottom; /* Bottom of scrolling region */
  68.   } WINDOW;
  69. #ifdef __WATCOMC__
  70. #pragma pack()
  71. #endif
  72. /* External variables */
  73. extern int NEAR LINES; /* terminal height */
  74. extern int NEAR COLS; /* terminal width */
  75. extern WINDOW * NEAR curscr; /* the current screen image */
  76. extern WINDOW * NEAR stdscr; /* the default screen window */
  77. /* PCcurses function declarations */
  78. #define _FA __fastcall
  79. extern int _FA addch(pchar c); /* put char in stdscr */
  80. extern int addstr(char *str); /* put string in stdscr */
  81. extern void _FA beep(void); /* sound bell */
  82. extern void _FA border(int l,int r,int t,int b,int tl,int tr,int bl,int br);
  83. extern void _FA box(WINDOW *win);
  84. extern void _FA cbreak(void); /* set terminal cbreak mode */
  85. extern void _FA clear(void); /* clear stdscr */
  86. extern void _FA clearok(WINDOW *win,pchar flag);
  87. extern int _FA clrtobot(void); /* clear end of stdscr */
  88. extern int _FA clrtoeol(void); /* clear end of line in stdscr */
  89. extern void _FA crmode(void); /* set terminal cbreak mode */
  90. extern void _FA cursoff(void); /* turns off hardware cursor */
  91. extern void _FA curson(void); /* turns on hardware cursor */
  92. extern void _FA def_prog_mode(void); /* save TTY modes */
  93. extern void _FA def_shell_mode(void); /* compatibility dummy */
  94. extern int _FA delch(void); /* delete a char in stdscr */
  95. extern int _FA deleteln(void); /* delete a line in stdscr */
  96. extern void _FA delwin(WINDOW *win); /* delete a window or a subwindow */
  97. extern void doupdate(void); /* update physical screen */
  98. extern void _FA echo(void); /* set terminal echo mode */
  99. extern int _FA endwin(void); /* cleanup and finitialization */
  100. extern void _FA erase(void); /* erase stdscr */
  101. extern int _FA fixterm(void); /* compatibility dummy */
  102. extern void _FA flushinp(void); /* kill pending keyboard input */
  103. extern int _FA getstr(char *str); /* get string to stdscr and buffer */
  104. extern int _FA initscr(void); /* curses initialization */
  105. extern int _FA inch(void); /* get char at stdscr cursor */
  106. extern int _FA insch(pchar c); /* insert character in stdscr */
  107. extern int _FA insrawch(pchar c); /* insert character in stdscr, raw */
  108. extern int _FA insertln(void); /* insert new line in stdscr */
  109. extern char  * _FA longname(void); /* terminal description */
  110. extern void _FA leaveok(WINDOW *win,pchar flag);
  111. extern int _FA move(int y,int x); /* move cursor in stdscr */
  112. extern int mvaddstr(int y,int x,char *str);
  113. extern int _FA _mvcur(int newy,int newx);
  114. extern int _FA mvdelch(int y,int x); /* move & delete a char in stdscr */
  115. extern int _FA mvgetstr(int y,int x,char *str);
  116. extern int _FA mvinch(int y,int x); /* move & get char at stdscr cursor */
  117. extern int _FA mvinsch(int y,int x,pchar c);
  118. extern int _FA mvinsrawch(int y,int x,pchar c);
  119. extern int mvprintw _VARARGS((int y,int x,const char *fmt,...));
  120. extern int mvscanw(); /* move & get values via stdscr */
  121. extern int mvwaddch(WINDOW *win,int y,int x,pchar c);
  122. extern int mvwaddstr(WINDOW *win,int y,int x,char *str);
  123. extern int _FA mvwdelch(WINDOW *win,int y,int x);
  124. extern int _FA mvwgetstr(WINDOW *win,int y,int x,char *str);
  125. extern int _FA mvwinch(WINDOW *win,int y,int x);
  126. extern int _FA mvwinsch(WINDOW *win,int y,int x,pchar c);
  127. extern int _FA mvwinsrawch(WINDOW *win,int y,int x,pchar c);
  128. extern int _FA mvwin(WINDOW *win,int begy,int begx);
  129. extern int mvwprintw(); /* move & print string in a window */
  130. extern int mvwscanw(); /* move & get values via a window */
  131. extern WINDOW * _FA newwin(int num_lines,int num_columns,int begy,int begx);
  132. extern void _FA nocbreak(void); /* unset terminal cbreak mode */
  133. extern void _FA nocrmode(void); /* unset terminal cbreak mode */
  134. extern void _FA noecho(void); /* unset terminal echo mode */
  135. extern void _FA noraw(void); /* unset raw terminal mode */
  136. extern void _FA overlay(WINDOW *win1,WINDOW *win2);
  137. extern void _FA overwrite(WINDOW *win1,WINDOW *win2);
  138. extern int printw _VARARGS((const char *fmt,...));
  139. extern void _FA raw(void); /* set raw terminal mode */
  140. extern void _FA refresh(void); /* refresh stdscr */
  141. extern int _FA resetterm(void); /* compatibility dummy */
  142. extern int _FA resetty(void); /* restore terminal I/O modes */
  143. extern void _FA reset_prog_mode(void); /* restore terminal I/O modes */
  144. extern void _FA reset_shell_mode(void); /* set terminal to default modes */
  145. extern int _FA savetty(void); /* save terminal I/O modes */
  146. extern int scanw(); /* get values via stdscr */
  147. extern void scroll(WINDOW *win); /* scroll region in a window */
  148. extern WINDOW  * _FA subwin(WINDOW *orig,int num_lines,int num_columns,int begy,int begx);
  149. extern int _FA tabsize(int ts); /* set/get tabsize of stdscr */
  150. extern void _FA touchwin(WINDOW *win); /* mark a window as modified */
  151. extern int _FA waddch(WINDOW *win,pchar c);
  152. extern int waddstr(WINDOW *win,char *str);
  153. extern void _FA wborder(WINDOW *win,int l,int r,int t,int b,int tl,int tr,int bl,int br);
  154. extern int _FA wbox(WINDOW *win,int ymin,int xmin,int ymax,int xmax,int flag);
  155. extern void _FA wclear(WINDOW *win); /* clear a window */
  156. extern int _FA wclrtobot(WINDOW *win); /* clear end of a window */
  157. extern int _FA wclrtoeol(WINDOW *win); /* clear end of line in a window */
  158. extern int _FA wdelch(WINDOW *win); /* delete a char in a window */
  159. extern int _FA wdeleteln(WINDOW *win); /* delete a line in a window */
  160. extern void _FA werase(WINDOW *win); /* erase a window */
  161. extern int _FA wgetch(WINDOW *win); /* get char to a window */
  162. extern int _FA wgetstr(WINDOW *win,char *str);
  163. extern int _FA winch(WINDOW *win); /* get char at window cursor */
  164. extern int _FA winsch(WINDOW *win,pchar c);
  165. extern int _FA winsertln(WINDOW *win); /* insert new line in a window */
  166. extern int  wmove(WINDOW *win,int y,int x);
  167. extern void _FA wnoutrefresh(WINDOW *win);
  168. extern int  wprintw(); /* print string in a window */
  169. extern void _FA wrefresh(WINDOW *win); /* refresh screen */
  170. extern int wscanw(); /* get values via a window */
  171. extern int _FA wsetscrreg(WINDOW *win,int top,int bottom);
  172. extern int _FA wtabsize(WINDOW *win,int ts);
  173. extern int  _FA chadd(WINDOW *win,pchar c,pchar xlat);
  174. extern bool _cursespendch(void);
  175. extern int _FA setscrreg(int top,int bottom);
  176. extern int waddmem(WINDOW *win,char *str,int length);
  177. extern void _FA not_raw_output(void); /* Don't have raw output on screen */
  178. extern void _FA wapplic_color(WINDOW *w,uint offset);
  179. extern void _FA wfbreverse(WINDOW *w);