/*
	video.H

	Video Interface Header File

	Copyright (C) 1992, Geoff Friesen B.Sc.
	All rights reserved.

	Borland C++ 3.1
*/

#define	MDA		0
#define	CGA		1
#define	EGA_BW		2
#define	EGA_COLOR	3
#define	VGA_BW		4
#define	VGA_COLOR	5

#define	BW80		2
#define	C80		3
#define	MONO		7

#define	BLACK		0
#define	BLUE		1
#define	GREEN		2
#define	CYAN		3
#define	RED		4
#define	MAGENTA		5
#define	BROWN		6
#define	LIGHTGRAY	7

#define	DARKGRAY	8
#define	LIGHTBLUE	9
#define	LIGHTGREEN	10
#define	LIGHTCYAN	11
#define	LIGHTRED	12
#define	LIGHTMAGENTA	13
#define	YELLOW		14
#define	WHITE		15

#define	BLINK		128

#define	SINGLE_LINE	0
#define	DOUBLE_LINE	1
#define	BLOCK_LINE	2
#define	NOBORDER	3

#define	SCREEN_SAVE	0
#define	SCREEN_RESTORE	1

#define	SCROLL_UP	0
#define	SCROLL_DN	1

#define	CBLOCK		1
#define	CHIDE		2
#define	CLINE		4
#define	CSAVE		8
#define	CRESTORE	16
#define	CSETFUNC	32

#define	v_clear(a,b,c,d)	v_paint (' ', (a), (b), (c), (d))

#ifdef __cplusplus
extern "C"
{
#endif

int	v_aa		(void);
int	v_attr		(char *str, int *attr);
void	v_border	(int style, int x, int y, int nx, int ny);
void	v_cleanup	(void);
int	v_cputs		(const char *str);
void	v_cursor	(int cmd, ...);
int	v_getattr	(void);
int	v_getch		(void);
int	v_getmode	(void);
int	v_getrows	(void);
int	v_getshape	(void);
void	v_gotoxy	(int x, int y);
void	v_paint		(int c, int x, int y, int nx, int ny);
int	v_putch		(int c, int count);
int	v_putcha	(int *ca, int szca);
void	v_screen	(int cmd, int x, int y, int nx, int ny,
			 void *buffer);
void	v_scroll	(int x, int y, int nx, int ny, int dir,
			 int nblines, int attr);
void	v_setattr	(int attr);
void	v_setmode	(int mode);
void	v_setrows	(int _rows);
int	v_setup		(int _rows);
void	v_setshape	(int shape);
void	v_shadow	(int x1, int y1, int nx, int ny);
int	v_wherex	(void);
int	v_wherey	(void);

#ifdef __cplusplus
}
#endif