/* *****************************************************************************

	Title		: Nine-Tails
	Filename	: Vblk.h
	Contents	: VBLANK 関連ヘッダファイル

	History		: Ver 0.01		1999/07/13		K.Kimura		初版

***************************************************************************** */

#define	VBLK_MV_FUNC_MAX		( 16)						/* 動作関数 MAX					*/
#define	VBLK_DR_FUNC_MAX		( 16)						/* 描画関数 MAX					*/

#define	VBLK_MOVE_MODE			( 1)						/* 動作ﾓｰﾄﾞ						*/
#define	VBLK_DRAW_MODE			( 0)						/* 描画ﾓｰﾄﾞ						*/

#define	VBLK_PAUSE				0x0001						/* Pasue ﾌﾗｸﾞ					*/
#define	VBLK_PAUSE_T			0x0002						/* Pasue ﾌﾗｸﾞ解除（一時的）		*/

#define	VBLK_FLAG_NOFILL_BF		0x0001						/* BackBuffer NOT 塗りつぶし	*/
#define	VBLK_FLAG_PAUSE_ON		0x0008						/* Pasue 機能 ON ﾌﾗｸﾞ			*/




/*-------------------------------------------
	★ 構造体宣言
--------------------------------------------*/
typedef struct __tagVblkMng
{
	u_char		loopExit;									/* ﾙｰﾌﾟﾌﾗｸﾞ				*/

	u_char		pause;										/* ﾎﾟｰｽﾞ･ﾌﾗｸﾞ			*/
	u_short		count;										/* 汎用ｶｳﾝﾀ				*/
	u_short		flag;										/* ﾌﾗｸﾞ					*/

	u_short		fpsCount;
	u_short		fps;

} VBLKMNG;


/*-------------------------------------------
	★ 外部関数宣言
--------------------------------------------*/
void	VblkLoopInit( void);										/* 初期化				*/
void	*VblkRegEvent( u_long mode, void ( *func)( void *));		/* 関数登録				*/
char	VblkCheckPause( void);										/* ﾎﾟｰｽﾞﾁｪｯｸ			*/
char	VblkCOutFunc( void);										/* 登録関数の実行		*/
u_char	VblkLoop( void);											/* VBLANK ﾙｰﾌﾟ			*/
void	VblkSetFps( u_short);										/* FPS Set				*/
void	VblkDispFps( void);											/* FPS Disp				*/
u_short	VblkGetCount( void);										/* Count Get			*/
void	VblkSetPause( u_char mode);


