/*
 * $Id: sys_cfb.h,v 1.2 2004/02/12 22:54:41 tong Exp $
 *
 * カラーフレームバッファ領域
 * バッファ数:３
 * １ドットのビット数:１６
 * 横ドット数:３２０
 * 縦ドット数:２４０
 *
 * $Log: sys_cfb.h,v $
 * Revision 1.2  2004/02/12 22:54:41  tong
 * new header files to compile cpak, flash, rtc stuff
 *
 * Revision 3.1  2001-03-13 18:19:23+09  forest
 * All Files Revision Up!
 *
 * Revision 1.8  2001-01-30 15:06:30+09  hayakawa
 * *** empty log message ***
 *
 * Revision 1.7  2001-01-11 22:09:30+09  hayakawa
 * SYS_CFB_WD/SYS_CFB_HTを外部から定義できるようにした
 *
 * Revision 1.6  2000-09-22 17:53:57+09  hayakawa
 * *** empty log message ***
 *
 * Revision 1.5  2000-09-12 13:36:38+09  hayakawa
 *
 */

#ifndef __SYS_CFB_H_
#define __SYS_CFB_H_

#include "u64basic.h"
#include "sys_screen.h"

#define SYS_CFB_TYPE	u16		/* 配列の要素の型 */
#define SYS_CFB_PIXBIT	16		/* １ドットのビット数:１６ */
#define SYS_CFB_MAX 	3		/* バッファ数:２ */
#if !defined(SYS_CFB_WD)
#define	SYS_CFB_WD	SCREEN_WD	/* 横ドット数:３２０ */
#endif
#if !defined(SYS_CFB_HT)
#define	SYS_CFB_HT	SCREEN_HT	/* 縦ドット数:２４０ */
#endif
#define	SYS_CFB_BOUND	64		/* バウンダリ:６４バイト */

#ifdef _LANGUAGE_C_PLUS_PLUS
extern "C" {
#endif
#if 0
}
#endif

extern void *sys_cfb_ram_init(void);
extern void sys_cfb_ram_cleanup(void);
extern void sys_cfb_init(void);
extern void sys_cfb_cleanup(void);
extern void sys_cfb_alloc( int kind /* 0:CFB0 1:CFB1 2:ZB 3:CFB2 */ );
extern void sys_cfb_free( int kind /* 0:CFB0 1:CFB1 2:ZB 3:CFB2 */ );
extern void *sys_cfb_get_pointer(int page);
extern int  sys_cfb_get_number(void);
extern void *sys_cfb_get_bottom(void);
extern void *sys_zb_get_pointer(void);

#if 0
{
#endif
#ifdef _LANGUAGE_C_PLUS_PLUS
} /* extern "C" */
#endif

#endif /* __SYS_CFB_H_ */
