home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / program / lynxlib / curses.h < prev    next >
C/C++ Source or Header  |  1993-10-23  |  4KB  |  109 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 <stdio.h>
  22.  
  23. #ifdef CURSES_C
  24. #define    BYTE    char
  25. #define    WORD    int
  26. #define    LONG    long
  27. #define TRUE        1
  28. #define FALSE           0
  29. #else
  30. #ifndef STDDEF_H
  31. #include <stddef.h>
  32. #endif
  33. #endif
  34.  
  35. #define reg            register
  36. #define bool        BYTE
  37.  
  38. #define _SUBWIN        01
  39. #define _ENDLINE    02
  40. #define _FULLWIN    04
  41. #define    _SCROLLWIN    010
  42. #define    _STANDOUT    0200
  43. #define    WINDOW        struct _win_st
  44.  
  45. #define TOUCHED        0x0200
  46. #define STANDOUT    0x0100
  47.  
  48. #define addch(c)            waddch(stdscr, c)
  49. #define mvaddch(y,x,c)        { wmove(stdscr,y,x) ; waddch(stdscr,c) ; }
  50. #define mvwaddch(w,y,x,c)    { wmove(w,y,x) ; waddch(w,c) ; }
  51. #define addstr(s)            waddstr(stdscr,s)
  52. #define mvaddstr(y,x,s)        { wmove(stdscr,y,x) ; waddstr(stdscr,s) ; }
  53. #define mvwaddstr(w,y,x,s)    { wmove(w,y,x) ; waddstr(w,s) ; }
  54. #define clear()                wclear(stdscr)
  55. #define clearok(w,f)        { w->_clear = (w->_flags & _FULLWIN) ? f : w->_clear ; }
  56. #define clrtobot()            wclrtobot(stdscr)
  57. #define clrtoeol()            wclrtoeol(stdscr)
  58. #define delch()                wdelch(stdscr)
  59. #define mvdelch(y,x)        { wmove(stdscr,y,x) ; wdelch(stdscr) ; }
  60. #define mvwdelch(w,y,x)        { wmove(w,y,x) ; wdelch(w) ; }
  61. #define deleteln()            wdeleteln(stdscr)
  62. #define mvdeleteln(y,x)        { wmove(stdscr,y,x) ; wdeleteln(stdscr) ; }
  63. #define mvwdeleteln(w,y,x)    { wmove(w,y,x) ; wdeleteln(w) ; }
  64. #define erase()                werase(stdscr)
  65. #define insch(c)            winsch(stdscr,c)
  66. #define mvinsch(y,x,c)        { wmove(stdscr,y,x) ; winsch(stdscr,c) ; }
  67. #define mvwinsch(w,y,x,c)    { wmove(w,y,x) ; winsch(w,c) ; }
  68. #define insertln()            winsertln(stdscr)
  69. #define mvinsertln(y,x)        { wmove(stdscr,y,x) ; winsertln(stdscr) ; }
  70. #define mvwinsertln(w,y,x)    { wmove(w,y,x) ; winsertln(w) ; }
  71. #define move(y,x)            wmove(stdscr,y,x)
  72. #define refresh()            wrefresh(stdscr)
  73. #define standout()            wstandout(stdscr)
  74. #define standend()            wstandend(stdscr)
  75. #define getch()                wgetch(stdscr)
  76. #define mvgetch(y,x)        ( wmove(stdscr,y,x) , wgetch(stdscr) )
  77. #define mvwgetch(w,y,x)        ( wmove(w,y,x) , wgetch(w) )
  78. #define getstr(s)            wgetstr(stdscr,s)
  79. #define mvgetstr(y,x,s)        { wmove(stdscr,y,x) ; wgetstr(stdscr,s) ; }
  80. #define mvwgetstr(w,y,x,s)    { wmove(w,y,x) ; wgetstr(w,s) ; }
  81. #define getyx(w,y,x)        { y = w->_cury ; x = w->_curx ; }
  82. #define inch()                (stdscr->_y[stdscr->_cury][stdscr->_curx])
  83. #define mvinch(y,x)            ( wmove(stdscr,y,x) , stdscr->_y[stdscr->_cury][stdscr->_curx])
  84. #define mvwinch(w,y,x)        ( wmove(w,y,x) , w4->_y[w->_cury][w->_curx])
  85. #define winch(w)            (w->_y[w->_cury][w->_curx])
  86.  
  87. struct _win_st {
  88.     WORD    _cury, _curx ;
  89.     WORD    _maxy, _maxx ;
  90.     WORD    _begy, _begx ;
  91.     WORD    _flags ;
  92.     BYTE    _clear ;
  93.     BYTE    _leave ;
  94.     BYTE    _scroll ;
  95.     WORD    **_y ;
  96.     WORD    *_firstch ;
  97.     WORD    *_lastch ;
  98. } ;
  99.  
  100. extern WINDOW *curscr ;
  101. extern WINDOW *stdscr ;
  102. extern char    *Def_term ;
  103. extern bool    My_term ;
  104. extern char    *ttytype ;
  105. extern int    LINES ;
  106. extern int    COLS ;
  107. extern int    ERR ;
  108. extern int    OK ;
  109.