#ifndef __GRPHCON_H__
#define __GRPHCON_H__

/* Color definition in aRGB4444 */
#define	C_RED		0x0F00
#define	C_YELLOW	0x0FF0
#define	C_LIME		0x00F0
#define	C_AQUA		0x00FF
#define	C_BLUE		0x000F
#define	C_FUCHSIA	0x0F0F
#define	C_MAROON	0x0800
#define	C_OLIVE		0x0880
#define	C_GREEN		0x0080
#define	C_TEAL		0x0088
#define	C_NAVY		0x0008
#define	C_PURPLE	0x0808
#define	C_BLACK		0x0000
#define	C_GRAY		0x0888
#define	C_SILVER	0x0ccc
#define	C_WHITE		0x0FFF
#define	C_ORANGE	0x0FA0

#define	ALPHA0		0x0000
#define	ALPHA8		0x8000
#define	ALPHA15		0xF000

struct scinfo {
  int cols, rows;
  int col_width;
  int row_height;
};

#define	sc_cols	screen_info.cols
#define	sc_rows	screen_info.rows
#define	sc_col_width	screen_info.col_width
#define	sc_row_height	screen_info.row_height

extern struct scinfo screen_info;

/* 関数プロトタイプ */

void	GCON_Initialize	( void );
void	GCON_SelectPlane( PIXEL *base );
int		GCON_locate		( int x, int y );
int		GCON_cursor_on	( void );
int		GCON_cursor_off	( void );
int		GCON_insert_line( int y );
int		GCON_delete_line( int y );
int		GCON_putc		( int c );
int		GCON_putstr		( char *s );
int		GCON_putstrL	( char *s, int len );
void		GCON_set_color(int fgcolor, int bgcolor);
void		GCON_clear (void);
void 		GCON_clear_line(int row);

#endif
