00001
00002 #ifndef __TERMLIB_H
00003 #define __TERMLIB_H
00004
00005
00006
00007
00008
00009 #define BLACK 0
00010 #define RED 1
00011 #define GREEN 2
00012 #define YELLOW 3
00013 #define BLUE 4
00014 #define VIOLET 5
00015 #define CYAN 6
00016 #define WHITE 7
00017
00018 #define FGND(color) ((color) << 3)
00019 #define BGND(color) ((color))
00020
00021 #define NORMAL (FGND(WHITE) | BGND(BLACK))
00022 #define UNDERLINED (FGND(BLUE) | BGND(BLACK))
00023 #define REVERSE (FGND(BLACK) | BGND(WHITE))
00024
00025 #define BLINKING 0x80
00026 #define BOLD 0x08
00027
00028
00029 typedef unsigned int WORD;
00030
00031 typedef WORD *IMAGEP;
00032 #define IMALLOC malloc
00033 #define IFREE free
00034
00035
00036 typedef struct SBUF
00037 {
00038 unsigned int top, bottom, left, right;
00039 IMAGEP image;
00040 } SBUF;
00041
00042
00043
00044
00045
00046
00047 extern int vb_iscolor ( void );
00048 extern void vb_getyx ( int *yp,int *xp );
00049 extern void vb_putc ( int c, int attrib );
00050 extern void vb_puts ( char *str,int move_cur );
00051 extern int vb_getchar ( void );
00052 extern SBUF *vb_save ( int l,int r,int t,int b );
00053 extern SBUF *vb_restore ( SBUF *sbuf );
00054 extern void vb_freesbuf ( SBUF *sbuf );
00055
00056 extern int _Vbios (int service, int al, int bx, int cx, int dx,
00057 char *return_this );
00058
00059
00060
00061
00062 extern int dv_init ( void );
00063 extern void dv_scroll_line ( int x_left,int x_right,int y_top, \
00064 int y_bottom, int dir,int attrib );
00065 extern void dv_scroll ( int x_left,int x_right,int y_top, \
00066 int y_bottom, int amt,int attrib );
00067 extern void dv_clrs ( int attrib );
00068 extern void dv_clr_region ( int l,int r,int t,int b,int attrib );
00069 extern void dv_ctoyx ( int y,int x );
00070 extern void dv_getyx ( int *rowp,int *colp );
00071 extern void dv_putc ( int c,int attrib );
00072 extern void dv_putchar ( int c );
00073 extern void dv_puts ( char *str,int move_cur );
00074 extern void dv_putsa ( char *str,int attrib );
00075 extern int dv_incha ( void );
00076 extern void dv_outcha ( int c );
00077 extern void dv_replace ( int c );
00078 extern void dv_printf ( int attribute,char *fmt,...);
00079 extern SBUF *dv_save ( int l,int r,int t,int b );
00080 extern SBUF *dv_restore ( SBUF *sbuf );
00081 extern void dv_freesbuf ( SBUF *sbuf );
00082 extern void dv_screen_attrib(int *nCols, int *nRows);
00083 extern void dv_putcyx(int y,int x,int c,int a);
00084
00085 #endif