home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / program / curses / curses.h < prev    next >
Encoding:
C/C++ Source or Header  |  1987-08-24  |  3.8 KB  |  100 lines

  1. /* ************************************************************************ */
  2. /*                                                                          */
  3. /*   CURSES.H                      include file for programs using CURSES   */
  4. /*                                                                          */
  5. /* ************************************************************************ */
  6. /*                                         */
  7. /* This source and resulting object may be modified, used or distributed by */
  8. /* anyone who so desires under the following conditions :                   */
  9. /*                                        */
  10. /*    1) This notice and the copyright notice shall not be removed or     */
  11. /*       changed.                                */
  12. /*    2) No credit shall be taken for this source and resulting objects   */
  13. /*    3) This source or resulting objects is not to be traded, sold or    */
  14. /*       used for personal gain or profit.                    */
  15. /*    4) Inclusion of this source or resulting objects in commercially    */
  16. /*       available packages is forbidden without written consent of the   */
  17. /*       author of this source.                        */
  18. /*                                                                          */
  19. /* ************************************************************************ */
  20.  
  21. #include "portab.h"
  22. #include "stdio.h"
  23.  
  24. #define reg            register
  25. #define bool        BYTE
  26. #define TRUE        1
  27. #define FALSE           0
  28.  
  29. #define _SUBWIN        01
  30. #define _ENDLINE    02
  31. #define _FULLWIN    04
  32. #define    _SCROLLWIN    010
  33. #define    _STANDOUT    0200
  34. #define    WINDOW        struct _win_st
  35.  
  36. #define TOUCHED        0x0200
  37. #define STANDOUT    0x0100
  38.  
  39. #define addch(c)            waddch(stdscr, c)
  40. #define mvaddch(y,x,c)        { wmove(stdscr,y,x) ; waddch(stdscr,c) ; }
  41. #define mvwaddch(w,y,x,c)    { wmove(w,y,x) ; waddch(w,c) ; }
  42. #define addstr(s)            waddstr(stdscr,s)
  43. #define mvaddstr(y,x,s)        { wmove(stdscr,y,x) ; waddstr(stdscr,s) ; }
  44. #define mvwaddstr(w,y,x,s)    { wmove(w,y,x) ; waddstr(w,s) ; }
  45. #define clear()                wclear(stdscr)
  46. #define clearok(w,f)        { w->_clear = (w->_flags & _FULLWIN) ? f : w->_clear ; }
  47. #define clrtobot()            wclrtobot(stdscr)
  48. #define clrtoeol()            wclrtoeol(stdscr)
  49. #define delch()                wdelch(stdscr)
  50. #define mvdelch(y,x)        { wmove(stdscr,y,x) ; wdelch(stdscr) ; }
  51. #define mvwdelch(w,y,x)        { wmove(w,y,x) ; wdelch(w) ; }
  52. #define deleteln()            wdeleteln(stdscr)
  53. #define mvdeleteln(y,x)        { wmove(stdscr,y,x) ; wdeleteln(stdscr) ; }
  54. #define mvwdeleteln(w,y,x)    { wmove(w,y,x) ; wdeleteln(w) ; }
  55. #define erase()                werase(stdscr)
  56. #define insch(c)            winsch(stdscr,c)
  57. #define mvinsch(y,x,c)        { wmove(stdscr,y,x) ; winsch(stdscr,c) ; }
  58. #define mvwinsch(w,y,x,c)    { wmove(w,y,x) ; winsch(w,c) ; }
  59. #define insertln()            winsertln(stdscr)
  60. #define mvinsertln(y,x)        { wmove(stdscr,y,x) ; winsertln(stdscr) ; }
  61. #define mvwinsertln(w,y,x)    { wmove(w,y,x) ; winsertln(w) ; }
  62. #define move(y,x)            wmove(stdscr,y,x)
  63. #define refresh()            wrefresh(stdscr)
  64. #define standout()            wstandout(stdscr)
  65. #define standend()            wstandend(stdscr)
  66. #define getch()                wgetch(stdscr)
  67. #define mvgetch(y,x)        ( wmove(stdscr,y,x) , wgetch(stdscr) )
  68. #define mvwgetch(w,y,x)        ( wmove(w,y,x) , wgetch(w) )
  69. #define getstr(s)            wgetstr(stdscr,s)
  70. #define mvgetstr(y,x,s)        { wmove(stdscr,y,x) ; wgetstr(stdscr,s) ; }
  71. #define mvwgetstr(w,y,x,s)    { wmove(w,y,x) ; wgetstr(w,s) ; }
  72. #define getyx(w,y,x)        { y = w->_cury ; x = w->_curx ; }
  73. #define inch()                (stdscr->_y[stdscr->_cury][stdscr->_curx])
  74. #define mvinch(y,x)            ( wmove(stdscr,y,x) , stdscr->_y[stdscr->_cury][stdscr->_curx])
  75. #define mvwinch(w,y,x)        ( wmove(w,y,x) , w4->_y[w->_cury][w->_curx])
  76. #define winch(w)            (w->_y[w->_cury][w->_curx])
  77.  
  78. struct _win_st {
  79.     WORD    _cury, _curx ;
  80.     WORD    _maxy, _maxx ;
  81.     WORD    _begy, _begx ;
  82.     WORD    _flags ;
  83.     BYTE    _clear ;
  84.     BYTE    _leave ;
  85.     BYTE    _scroll ;
  86.     WORD    **_y ;
  87.     WORD    *_firstch ;
  88.     WORD    *_lastch ;
  89. } ;
  90.  
  91. extern WINDOW *curscr ;
  92. extern WINDOW *stdscr ;
  93. extern char    *Def_term ;
  94. extern bool    My_term ;
  95. extern char    *ttytype ;
  96. extern int    LINES ;
  97. extern int    COLS ;
  98. extern int    ERR ;
  99. extern int    OK ;
  100.