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