home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / SOUR / SWEARS.ZIP / SWEARS.H < prev   
C/C++ Source or Header  |  1991-08-28  |  6KB  |  178 lines

  1. #ifndef SWEARS_H
  2. #define SWEARS_H
  3.  
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <bios.h>
  7. #include <conio.h>
  8. #include <ctype.h>
  9. #include <string.h>
  10.  
  11. /* miscellaneous constants */
  12.  
  13. #ifndef FALSE
  14. #define FALSE (1!=1)
  15. #define TRUE (1==1)
  16. #endif
  17.  
  18. #define ERR -1
  19. #define OK 0
  20. #define YES -1
  21. #define NO 0
  22.  
  23. /* swears bool typedef */
  24. typedef short bool;
  25.  
  26. /* window typedef structure */
  27. typedef struct _window {
  28.     int    begy, begx;
  29.     int    cury, curx;
  30.     int    maxy, maxx;
  31.     int    flags;
  32.     int    ch_off;
  33.     bool   clear;
  34.     bool   leave;
  35.     bool   scroll;
  36.     int  **array;
  37.     int    boxset;
  38. } WINDOW;
  39.  
  40. /* boxset structure */
  41. struct _box {
  42.     int    tl;
  43.     int    tr;
  44.     int    bl;
  45.     int    br;
  46.     int    t;
  47.     int    b;
  48.     int    l;
  49.     int    r;
  50. };
  51.  
  52. /* external Swears declarations and typedefs */
  53. extern int LINES, COLS;
  54. extern WINDOW *stdscr;
  55.  
  56. /* swears function constants */
  57. #define clearok(win,bf)  (win->clear = bf)
  58. #define leaveok(win,bf)  (win->leave = bf)
  59. #define scrollok(win,bf) (win->scroll = bf)
  60. #define flushok(win,bf)  (bf ? (win->flags |= 1):(win->flags &= 0))
  61. #define getyx(win,y,x)   (y = win->cury, x = win->curx)
  62.  
  63. #define raw       _swears_dummy
  64. #define noraw     _swears_dummy
  65. #define cbreak    _swears_dummy
  66. #define nocbreak  _swears_dummy
  67. #define crmode    cbreak    /* backwards compatability */
  68. #define nocrmode  nocbreak  /* backwards compatability */
  69. #define echo      _swears_dummy
  70. #define noecho    _swears_dummy
  71. #define nl        _swears_dummy
  72. #define nonl      _swears_dummy
  73. #define savetty   _swears_dummy
  74. #define resetty   _swears_dummy
  75. #define erasechar _swears_dummy
  76. #define killchar  _swears_dummy
  77. #define baudrate  _swears_dummy
  78.  
  79. /* swears function declarations */
  80. int              initscr(void);
  81. void             endwin(void);
  82.  
  83. WINDOW          *newwin(int,int,int,int);
  84. void             delwin(WINDOW *);
  85. WINDOW          *subwin(WINDOW *,int,int,int,int);
  86.  
  87. #define          move(y, x)               (wmove(stdscr, y, x))
  88. void            wmove(WINDOW *, int, int);
  89.  
  90. #define          refresh()                (wrefresh(stdscr))
  91. void            wrefresh(WINDOW *);
  92.  
  93. #define          addch(ch)                (waddch(stdscr, ch))
  94. #define        mvaddch(y,x,ch)            (mvwaddch(stdscr,y,x,ch) )
  95. #define       mvwaddch(win,y,x,ch)        (wmove(win,y,x), waddch(win,ch))
  96. void            waddch(WINDOW *,int);
  97.  
  98. #define          addstr(str)              (waddstr(stdscr, str))
  99. #define        mvaddstr(y,x,str)          (mvwaddstr(stdscr,y,x,str) )
  100. #define       mvwaddstr(win,y,x,str)      (wmove(win,y,x), waddstr(win,str))
  101. void            waddstr(WINDOW *, char *);
  102.  
  103. #define          printw(str)              (wprintw(stdscr, str))
  104. #define        mvprintw(y,x,str)          (mvwprintw(stdscr,y,x,str) )
  105. #define       mvwprintw(win,y,x,str)      (wmove(win,y,x), wprintw(win,str))
  106. #define         wprintw(win,fmt)          (wmove(win,win->cury,win->curx),printf(fmt))
  107. /* void            wprintw(WINDOW *, char *, ...); */
  108.  
  109. #define          clear()                  (wclear(stdscr))
  110. void            wclear(WINDOW *);
  111.  
  112. #define          clrtobot()               (wclrtobot(stdscr))
  113. void            wclrtobot(WINDOW *);
  114.  
  115. #define          clrtoeol()               (wclrtoeol(stdscr))
  116. void            wclrtoeol(WINDOW *);
  117.  
  118. #define          delch()                  (wdelch(stdscr))
  119. #define        mvdelch(y,x)               (mvwdelch(stdscr,y,x))
  120. #define       mvwdelch(win,y,x)           (wmove(win,y,x), wdelch(win) )
  121. void            wdelch(WINDOW *);
  122.  
  123. #define          deleteln()               (wdeleteln(stdscr))
  124. void            wdeleteln(WINDOW *);
  125.  
  126. #define          erase()                  (werase(stdscr))
  127. void            werase(WINDOW *);
  128.  
  129. char            *getcap(char *);
  130.  
  131. /*
  132. #define          getch()                  (wgetch(stdscr))
  133. */
  134.  
  135. #define        mvgetch(y,x)               (mvwgetch(stdscr,y,x))
  136. #define       mvwgetch(win,y,x)           (wmove(win,y,x), wgetch(win) )
  137. void            wgetch(WINDOW *);
  138.  
  139. #define          getstr(str)              (wgetstr(stdscr, str))
  140. #define        mvgetstr(y,x,str)          (mvwgetstr(stdscr,y,x,str) )
  141. #define       mvwgetstr(win,y,x,str)      (wmove(win,y,x), wgetstr(win,str))
  142. void            wgetstr(WINDOW *, char *);
  143.  
  144. #define          inch()                   (winch(stdscr))
  145. #define        mvinch(y,x)                (mvwinch(stdscr,y,x) )
  146. #define       mvwinch(win,y,x)            (wmove(win,y,x), winch(win))
  147. void            winch(WINDOW *);
  148.  
  149. #define          insch(c)                 (winsch(stdscr,c))
  150. #define        mvinsch(y,x,c)             (mvwinsch(stdscr,y,x,c))
  151. #define       mvwinsch(win,y,x,c)         (wmove(win,y,x), winsch(win,c) )
  152. void            winsch(WINDOW *,int);
  153.  
  154. #define          insertln()               (winsertln(stdscr))
  155. void            winsertln(WINDOW *);
  156.  
  157. char            *longname(void);
  158.  
  159. #define          standend()               (wstandend(stdscr))
  160. void            wstandend(WINDOW *);
  161.  
  162. #define          standout()               (wstandout(stdscr))
  163. void            wstandout(WINDOW *);
  164.  
  165. #define          beep()                   (putc(7,stdout))
  166. void            _swears_dummy(void);
  167.  
  168. /**************************************************************************/
  169.  
  170. /* some unsigned far macros for memory access */
  171. #define Wtofaru(seg,off) ((void far *)((((unsigned long) (unsigned int) \
  172.                          (seg)) << 16L) | ((unsigned long) (unsigned int) \
  173.                          (off))))
  174. #define Wpeek(addr)         ( *((unsigned char far *) (addr)) )
  175. #define Wpoke(addr,cval)    ( *((unsigned char far *) (addr)) = (cval))
  176.  
  177. #endif
  178.