#ifndef	_TB_SCN_H
#define	_TB_SCN_H

#define	PSET	0
#define	PRESET	1
#define	OR		2
#define	AND		3
#define	XOR		4
#define	NOT		5
#define	OPAQUE	9

typedef struct						/* 解像度情報	*/
{
	unsigned int		pixel;		/* 色数						*/
	unsigned int		maxcol;		/* 最大色番号				*/
	unsigned int		sel;		/* セレクタ					*/
	unsigned int		off;		/* オフセット（アドレス）	*/
	unsigned int		xbyte;		/* 横方向のバイト数			*/

	struct
	{
		int				xs, ys;
		FRAME			fr;
	} v;							/* 仮想画面					*/

	struct
	{
		int				xs, ys;
		FRAME			fr;
	} d;							/* 表示画面					*/
} TBRESO;


typedef struct
{
	int			page;
	TBRESO	   *resoptr;

	int			numPage;
	TBRESO		reso[2];
} TBSCN;

extern void		   *EgbPtr;
extern TBSCN		TBscn;

extern int		tbSCN_initCrtc(int pixel, int flagHR);
extern int		tbSCN_setTestFrame(void);
extern void		tbSCN_clearTestFrame(void);

extern int		tbTST_egb_clearScreen(void);
extern int		tbTST_dac_clearScreen(void);

extern int		tbTST_egb_pointset(void);
extern int		tbTST_egb_line(void);
extern int		tbTST_egb_boxfill(void);
extern int		tbTST_egb_circle(void);
extern int		tbTST_egb_polygon(void);
extern int		tbTST_egb_putchar(void);
extern int		tbTST_dac_scroll(void);
extern int		tbTST_egb_block(void);
extern int		tbTST_dac_block(void);
extern int		tb_get_blockbuffer(int n);
extern int		tb_put_blockbuffer(int n);
extern void		tb_clear_blockbuffer(void);
extern int		tb_check_blockbuffer(void);

#endif
