#ifndef	WIN_VGA_H
#define	WIN_VGA_H

#ifdef	__cplusplus
extern "C" {
#endif
	/*
	 *	graphInitWinDIB
	 *	Input:
	 *		- width, height: resolution of mode (bit depth of backbuffer == 32)
	 *	Output:
	 *		1 if no error, 0 otherwise.
	 */
	int		graphInitWinDIB(int width,int height);
	void	graphShutdownWinDIB(void);
	/* This sets window title */
	void	graphSetWindowTitle(char *title);
	/*	This routine returns pointer to the array of the start
	 *	addresses of each scanline in the backbuffer.
	 */
	void	**graphLockBackbuffer(void);
	/*	While backbuffer locked, window updates disabled. When all finishes
	 *	with backbuffer, it must graphUnlockBackbuffer() it.
	 */
	void	graphUnlockBackbuffer(void);
	/*
	 *	Blits backbuffer onto the screen.
	 */
	void	graphSwapBuffers(void);
	/*	NOTE. These two routines assume that backbuffer already locked.
	 */
	/* This routine draws single pixel in the backbuffer. */
	void	graphSetPixel32(int x,int y,unsigned int color);
	/* This clears entire backbuffer. */
	void	graphClear(unsigned int color);
#ifdef	__cplusplus
}
#endif

#endif	/* WIN_VGA_H */
