home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / jove-4.16-src.tgz / tar.out / bsd / jove / screen.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  2KB  |  71 lines

  1. /************************************************************************
  2.  * This program is Copyright (C) 1986-1996 by Jonathan Payne.  JOVE is  *
  3.  * provided to you without charge, and with no warranty.  You may give  *
  4.  * away copies of JOVE, including sources, provided that this notice is *
  5.  * included in all the files.                                           *
  6.  ************************************************************************/
  7.  
  8. #ifdef HIGHLIGHTING
  9.  
  10. typedef struct LErange {
  11.     unsigned
  12.         start,    /* starting column for highlighting */
  13.         width;    /* width of highlighting */
  14.     void (*norm) ptrproto((bool));
  15.     void (*high) ptrproto((bool));
  16. } *LineEffects;
  17.  
  18. #define    NOEFFECT    ((LineEffects) NULL)
  19. extern void US_effect proto((bool));
  20.  
  21. #else /* !HIGHLIGHTING */
  22.  
  23. typedef bool    LineEffects;    /* standout or not */
  24. #define    NOEFFECT    NO
  25.  
  26. #endif /* !HIGHLIGHTING */
  27.  
  28. struct screenline {
  29.     char
  30.         *s_line,
  31.         *s_roof;    /* character after last */
  32.     LineEffects s_effects;
  33. };
  34.  
  35. extern struct screenline
  36.     *Screen,
  37.     *Curline;
  38.  
  39. extern char *cursend;
  40.  
  41. extern int
  42.     AbortCnt,
  43.  
  44.     CapLine,    /* cursor line and cursor column */
  45.     CapCol;
  46.  
  47. extern bool
  48.     BufSwrite proto((int linenum)),
  49.     swrite proto((char *line, LineEffects hl, bool abortable));
  50.  
  51. extern LineEffects
  52.     WindowRange proto((Window *w));
  53.  
  54. extern void
  55.     Placur proto((int line,int col)),
  56.     cl_eol proto((void)),
  57.     cl_scr proto((bool doit)),
  58.     clrline proto((char *cp1,char *cp2)),
  59.     i_set proto((int nline,int ncol)),
  60.     make_scr proto((void)),
  61.     v_ins_line proto ((int num, int top, int bottom)),
  62.     v_del_line proto ((int num, int top, int bottom)),
  63.     SO_effect proto((bool)),
  64.     SO_off proto((void));
  65.  
  66. #define    TABDIST(col)    (tabstop - (col)%tabstop)    /* cols to next tabstop */
  67.  
  68. /* Variables: */
  69.  
  70. extern int    tabstop;        /* VAR: expand tabs to this number of spaces */
  71.