home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Linux / Divers / lynx2.8.1dev.10.tar.gz / lynx2.8.1dev.10.tar / lynx2-8 / src / LYGCurses.h < prev    next >
C/C++ Source or Header  |  1997-02-24  |  6KB  |  252 lines

  1. #ifndef __CURSES_LOADED
  2. #define __CURSES_LOADED    1
  3.  
  4. #include <ssdef.h>
  5. #include <stdio.h>
  6. #include <smgdef.h>
  7.  
  8. #define    reg    register
  9.  
  10. #ifndef    TRUE
  11. #define    TRUE    (1)
  12. #define    FALSE    (0)
  13. #endif
  14. #define    ERR    (0)
  15. #define    OK    (1)
  16.  
  17. #define    _SUBWIN        0001
  18. #define    _ENDLINE    0002
  19. #define    _FULLWIN    0004
  20. #define    _SCROLLWIN    0010
  21. #define    _FLUSH        0020
  22. #define    _STANDOUT    0200
  23.  
  24. #define    _NOECHO        001
  25. #define    _NONL        002
  26. #define    _NOCRMODE    004
  27. #define    _NORAW        010
  28.  
  29. #define    _BLINK        SMG$M_BLINK
  30. #define    _BOLD        SMG$M_BOLD
  31. #define    _REVERSE    SMG$M_REVERSE
  32. #define    _UNDERLINE    SMG$M_UNDERLINE
  33.  
  34. struct    _win_st
  35. {
  36.     int    _cur_y, _cur_x;
  37.     int    _max_y, _max_x;
  38.     int    _beg_y, _beg_x;
  39.     short    _flags;
  40.     char    _clear, _leave, _scroll, _wrap;
  41.     char    **_y;
  42.     short    *_firstch, *_lastch;
  43.     struct _win_st    *_next, *_parent, *_child;
  44.     int    _id;
  45. };
  46.  
  47.  
  48. struct    _kb_st
  49. {
  50.     int    _id;
  51.     unsigned char    _flags;
  52.     struct
  53.     {
  54.         unsigned short    length;
  55.         unsigned char    type;
  56.         unsigned char    class;
  57.         char        *address;
  58.     }    _buffer_desc;
  59.     int    _count;
  60.     char    *_ptr;
  61. };
  62.  
  63. struct    _pb_st
  64. {
  65.     int    _id;
  66.     int    _rows, _cols;
  67.     union    SMGDEF    *_attr;
  68.     int    _attr_size;
  69. };
  70.  
  71. #define    _KEYBOARD    struct _kb_st
  72. #define    WINDOW        struct _win_st
  73. #define    _PASTEBOARD    struct _pb_st
  74.  
  75.  
  76. extern int LINES __asm("_$$PsectAttributes_NOSHR$$LINES");
  77. extern int COLS __asm("_$$PsectAttributes_NOSHR$$COLS");
  78. extern WINDOW *stdscr __asm("_$$PsectAttributes_NOSHR$$stdscr");
  79. extern WINDOW *curscr __asm("_$$PsectAttributes_NOSHR$$curscr");
  80. extern _KEYBOARD *stdkb __asm("_$$PsectAttributes_NOSHR$$stdkb");
  81. extern _PASTEBOARD *stdpb __asm("_$$PsectAttributes_NOSHR$$stdpb");
  82.  
  83. #define    getch()        wgetch    (stdscr)
  84. #define    addch(ch)    waddch    (stdscr, ch)
  85. #define    addstr(string)    waddstr    (stdscr, string)
  86. #define    move(y, x)    wmove    (stdscr, y, x)
  87. #define    refresh()    wrefresh (stdscr)
  88. #define    clear()        wclear    (stdscr)
  89. #define    clrtobot()    wclrtobot (stdscr)
  90. #define    clrtoeol()    wclrtoeol (stdscr)
  91. #define    delch()        wdelch     (stdscr)
  92. #define    erase()        werase (stdscr)
  93. #define    insch(ch)    winsch    (stdscr, ch)
  94. #define    insertln()    winsertln (stdscr)
  95. #define    standout()    wstandout (stdscr)
  96. #define    standend()    wstandend (stdscr)
  97. #define    getstr(string)    wgetstr    (stdscr, string)
  98. #define    inch()        winch    (stdscr)
  99. #define    setattr(attr)    wsetattr (stdscr, attr)
  100. #define    clrattr(attr)    wclrattr (stdscr, attr)
  101. #define    deleteln()    wdeleteln (stdscr)
  102. #define    insstr(string)    winsstr (stdscr, string)
  103.  
  104. #define mvwaddch(win,y,x,ch)    (wmove(win,y,x)==ERR)?ERR:waddch(win,ch)
  105. #define mvwgetch(win,y,x)    (wmove(win,y,x)==ERR)?ERR:wgetch(win)
  106. #define mvwaddstr(win,y,x,str)    (wmove(win,y,x)==ERR)?ERR:waddstr(win,str)
  107. #define mvwinsstr(win,y,x,str)    (wmove(win,y,x)==ERR)?ERR:winsstr(win,str)
  108. #define mvwgetstr(win,y,x,str)    (wmove(win,y,x)==ERR)?ERR:wgetstr(win,str)
  109. #define mvwinch(win,y,x)    (wmove(win,y,x)==ERR)?ERR:winch(win)
  110. #define mvwdelch(win,y,x)    (wmove(win,y,x)==ERR)?ERR:wdelch(win)
  111. #define mvwinsch(win,y,x,ch)    (wmove(win,y,x)==ERR)?ERR:winsch(win,ch)
  112. #define mvwdeleteln(win,y,x)    (wmove(win,y,x)==ERR)?ERR:wdeleteln(win)
  113. #define mvaddch(y,x,ch)    mvwaddch (stdscr, y, x, ch)
  114. #define mvgetch(y,x)        mvwgetch (stdscr, y, x)
  115. #define mvaddstr(y,x,str)    mvwaddstr (stdscr, y, x, str)
  116. #define mvinsstr(y,x,str)    mvwinsstr (stdscr, y, x, str)
  117. #define mvgetstr(y,x,str)    mvwgetstr (stdscr, y, x, str)
  118. #define mvinch(y,x)        mvwinch (stdscr, y, x)
  119. #define mvdelch(y,x)        mvwdelch (stdscr, y, x)
  120. #define mvinsch(y,x,ch)    mvwinsch (stdscr, y, x, ch)
  121. #define mvdeleteln(y,x)    mvwdeleteln (stdscr, y, x)
  122. #define mvcur(ly,lx,ny,nx)    wmove (stdscr, ny, nx)
  123. #pragma standard
  124.  
  125. #define clearok(win, bf)    (win->_clear = bf)
  126. #define leaveok(win, bf)    (win->_leave = bf)
  127. #define scrollok(win, bf)    (win->_scroll = bf)
  128. #define wrapok(win, bf)    (win->_wrap = bf)
  129. #define flushok(win,bf) (bf ? win->_flags |= _FLUSH : (win->_flags &= ~_FLUSH))
  130. #define getyx(win,y,x)        y = win->_cur_y, x = win->_cur_x
  131.  
  132. #define echo()            (stdkb->_flags &= ~_NOECHO)
  133. #define noecho()        (stdkb->_flags |= _NOECHO)
  134. #define nl()            (stdkb->_flags &= ~_NONL)
  135. #define nonl()            (stdkb->_flags |= _NONL)
  136. #define crmode()        ((stdkb->_flags &= ~_NOCRMODE), nonl ())
  137. #define nocrmode()        (stdkb->_flags |= _NOCRMODE)
  138. #define raw()            (stdkb->_flags &= ~_NORAW)
  139. #define noraw()        (stdkb->_flags |= _NORAW)
  140.  
  141. #define check(status)    if (!(status & SS$_NORMAL))    \
  142.             {    c$$translate (status);     \
  143.                 return ERR;        \
  144.             }
  145.  
  146. #define bool int
  147.  
  148. int waddch (WINDOW *win, char ch);
  149.  
  150. int waddstr (WINDOW *win, char *str);
  151.  
  152. int box (WINDOW *win, char vert, char hor);
  153.  
  154. int wclear (WINDOW *win);
  155.  
  156. int wclrattr (WINDOW *win, int attr);
  157.  
  158. int wclrtobot (WINDOW *win);
  159.  
  160. int wclrtoeol (WINDOW *win);
  161.  
  162. int wdelch (WINDOW *win);
  163.  
  164. int wdeleteln (WINDOW *win);
  165.  
  166. int delwin (WINDOW *win);
  167.  
  168. int endwin (void);
  169.  
  170. int werase (WINDOW *win);
  171.  
  172. int wgetch (WINDOW *win);
  173.  
  174. int wgetstr (WINDOW *win, char *str);
  175.  
  176. char winch (WINDOW *win);
  177.  
  178. WINDOW *initscr (void);
  179.  
  180. int winsch (WINDOW *win, char ch);
  181.  
  182. int winsertln (WINDOW *win);
  183.  
  184. int winsstr (WINDOW *win, char *str);
  185.  
  186. int longname (char *termbuf, char *name);
  187.  
  188. int mvwin (WINDOW *win, int st_row, int st_col);
  189.  
  190. int wmove (WINDOW *win, int y, int x);
  191.  
  192. WINDOW *newwin (int numlines, int numcols, int begin_y, int begin_x);
  193.  
  194. int overlay (WINDOW *win1, WINDOW *win2);
  195.  
  196. int overwrite (WINDOW *win1, WINDOW *win2);
  197.  
  198. #pragma NOSTANDARD
  199. #undef printw
  200. #undef wprintw
  201. #undef wscanw
  202. #undef scanw
  203. #pragma STANDARD
  204.  
  205. int printw (char *format_spec, ...);
  206.  
  207. int wprintw (WINDOW *win, char *format_spec, ...);
  208.  
  209. int wrefresh (WINDOW *win);
  210.  
  211. int wscanw (WINDOW *win, char *format_spec, ...);
  212.  
  213. int    scanw (char *fmt, int arg1);
  214.  
  215. int scroll (WINDOW *win);
  216.  
  217. int wsetattr (WINDOW *win, int attr);
  218.  
  219. WINDOW *subwin (WINDOW *win, int numlines, int numcols,
  220.             int begin_y, int begin_x);
  221.  
  222. int wstandend (WINDOW *win);
  223.  
  224. int wstandout (WINDOW *win);
  225.  
  226. int touchwin (WINDOW *win);
  227.  
  228. #if defined(CC$mixed_float) || defined(CC$VAXCSHR)
  229.  
  230. #ifndef CC$gfloat
  231. #define CC$gfloat 0
  232. #endif
  233.  
  234. #if CC$gfloat
  235.  
  236. #define printw  vaxc$gprintw
  237. #define scanw   vaxc$gscanw
  238. #define wprintw vaxc$gwprintw
  239. #define wscanw  vaxc$gwscanw
  240.  
  241. #else
  242.  
  243. #define printw  vaxc$dprintw
  244. #define scanw   vaxc$dscanw
  245. #define wprintw vaxc$dwprintw
  246. #define wscanw  vaxc$dwscanw
  247.  
  248. #endif
  249. #endif
  250.  
  251. #endif                    /* __CURSES_LOADED */
  252.