add directory study
This commit is contained in:
124
study/linux-travel/MINIX-1.5/1.5/Source/commands/elvis/curses.h
Normal file
124
study/linux-travel/MINIX-1.5/1.5/Source/commands/elvis/curses.h
Normal file
@@ -0,0 +1,124 @@
|
||||
/* curses.h */
|
||||
|
||||
/* Author:
|
||||
* Steve Kirkendall
|
||||
* 16820 SW Tallac Way
|
||||
* Beaverton, OR 97006
|
||||
* kirkenda@jove.cs.pdx.edu, or ...uunet!tektronix!psueea!jove!kirkenda
|
||||
*/
|
||||
|
||||
|
||||
/* This is the header file for a small, fast, fake curses package */
|
||||
|
||||
/* termcap stuff */
|
||||
extern char *tgoto();
|
||||
extern char *tgetstr();
|
||||
|
||||
/* faddch() is a function. a pointer to it is passed to tputs() */
|
||||
extern int faddch();
|
||||
|
||||
/* data types */
|
||||
#define ushort unsigned short
|
||||
#define WINDOW char
|
||||
|
||||
/* CONSTANTS & SYMBOLS */
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
#define A_NORMAL 0
|
||||
#define A_STANDOUT 1
|
||||
#define A_BOLD 2
|
||||
#define A_UNDERLINE 3
|
||||
#define A_ALTCHARSET 4
|
||||
#define KBSIZ 6144
|
||||
|
||||
/* extern variables, defined in curses.c */
|
||||
extern short ospeed; /* tty speed, eg B2400 */
|
||||
extern WINDOW *stdscr; /* pointer into kbuf[] */
|
||||
extern WINDOW kbuf[KBSIZ]; /* a very large output buffer */
|
||||
extern int LINES; /* :li#: number of rows */
|
||||
extern int COLS; /* :co#: number of columns */
|
||||
extern int AM; /* :am: boolean: auto margins? */
|
||||
extern int PT; /* :pt: boolean: physical tabs? */
|
||||
extern char *VB; /* :vb=: visible bell */
|
||||
extern char *UP; /* :up=: move cursor up */
|
||||
extern char *SC; /* :sc=: save cursor posn & char attributes */
|
||||
extern char *RC; /* :rc=: restore cursor posn & char attr */
|
||||
extern char *SO; /* :so=: standout start */
|
||||
extern char *SE; /* :se=: standout end */
|
||||
extern char *US; /* :us=: underline start */
|
||||
extern char *UE; /* :ue=: underline end */
|
||||
extern char *VB_s; /* :VB=: bold start */
|
||||
extern char *VB_e; /* :Vb=: bold end */
|
||||
extern char *AS; /* :as=: alternate (italic) start */
|
||||
extern char *AE; /* :ae=: alternate (italic) end */
|
||||
extern char *CM; /* :cm=: cursor movement */
|
||||
extern char *CE; /* :ce=: clear to end of line */
|
||||
extern char *CL; /* :cl=: home cursor & clear screen */
|
||||
extern char *CD; /* :cd=: clear to end of screen */
|
||||
extern char *AL; /* :al=: add a line */
|
||||
extern char *DL; /* :dl=: delete a line */
|
||||
extern char *SR; /* :sr=: scroll reverse */
|
||||
extern char *KU; /* :ku=: sequence sent by up key */
|
||||
extern char *KD; /* :kd=: sequence sent by down key */
|
||||
extern char *KL; /* :kl=: sequence sent by left key */
|
||||
extern char *KR; /* :kr=: sequence sent by right key */
|
||||
extern char *PU; /* :PU=: key sequence sent by PgUp key */
|
||||
extern char *PD; /* :PD=: key sequence sent by PgDn key */
|
||||
extern char *HM; /* :HM=: key sequence sent by Home key */
|
||||
extern char *EN; /* :EN=: key sequence sent by End key */
|
||||
extern char *IM; /* :im=: insert mode start */
|
||||
extern char *IC; /* :ic=: insert following char */
|
||||
extern char *EI; /* :ei=: insert mode end */
|
||||
extern char *DC; /* :dc=: delete a character */
|
||||
extern char *aend; /* end an attribute -- either UE or VB_e */
|
||||
extern char ERASEKEY; /* taken from the ioctl structure */
|
||||
|
||||
#define _addCR (stdscr[-1] == '\n' ? qaddch('\r') : 0)
|
||||
#define qaddch(ch) (*stdscr++ = (ch))
|
||||
#define addch(ch) if (qaddch(ch) == '\n') qaddch('\r'); else
|
||||
#ifdef CRUNCH
|
||||
extern void attrset();
|
||||
extern void insch();
|
||||
extern void qaddstr();
|
||||
#else
|
||||
# define attrset(a) {tputs(aend, 1, faddch); if ((a) == A_BOLD)\
|
||||
{tputs(VB_s, 1, faddch); aend = VB_e;}\
|
||||
else if ((a) == A_UNDERLINE)\
|
||||
{tputs(US, 1, faddch); aend = UE;}\
|
||||
else if ((a) == A_ALTCHARSET)\
|
||||
{tputs(AS, 1, faddch); aend = AE;}\
|
||||
else aend = "";}
|
||||
# define insch(ch) {if (IM) tputs(IM, 1, faddch);\
|
||||
tputs(IC, 1, faddch);\
|
||||
qaddch(ch);\
|
||||
if (EI) tputs(EI, 1, faddch);\
|
||||
}
|
||||
# define qaddstr(str) {register char *s_, *d_;\
|
||||
for (s_=(str), d_=stdscr; *d_++ = *s_++; ){}\
|
||||
stdscr = d_ - 1;\
|
||||
}
|
||||
#endif
|
||||
#define addstr(str) {qaddstr(str); _addCR;}
|
||||
#define move(y,x) tputs(tgoto(CM, x, y), 1, faddch);
|
||||
#define wprintw for (*stdscr = 1; *stdscr; stdscr += strlen(stdscr), _addCR, *stdscr = 0)\
|
||||
sprintf
|
||||
#define mvaddch(y,x,ch) {move(y,x); addch(ch);}
|
||||
#define refresh() wrefresh(stdscr)
|
||||
#define wrefresh(w) if ((w) != kbuf) {write(1, kbuf, (int)((w) - kbuf)); (w) = kbuf;}else;
|
||||
#define wqrefresh(w) if ((w) - kbuf > 2000) {write(1, kbuf, (int)((w) - kbuf)); (w) = kbuf;}else;
|
||||
#define standout() tputs(SO, 1, faddch)
|
||||
#define standend() tputs(SE, 1, faddch)
|
||||
#define clear() tputs(CL, 1, faddch)
|
||||
#define clrtoeol() tputs(CE, 1, faddch)
|
||||
#define clrtobot() tputs(CD, 1, faddch)
|
||||
#define insertln() tputs(AL, LINES, faddch)
|
||||
#define deleteln() tputs(DL, LINES, faddch)
|
||||
#define delch() tputs(DC, COLS, faddch)
|
||||
#define scrollok(w,b)
|
||||
#define raw()
|
||||
#define echo()
|
||||
#define cbreak()
|
||||
#define noraw()
|
||||
#define noecho()
|
||||
#define nocbreak()
|
||||
|
||||
Reference in New Issue
Block a user