/* error num. */
#define	OUT_OF_MEMORY		7
#define	ILLEGAL_FILENAME	55
#define	ILLEGAL_DATA		58
#define	CANT_LOAD			1
#define	READ_FAIL			1
#define	CANT_SAVE			2
#define	WRITE_FAIL			2
#define	OUT_OF_WINDOW		1001
#define	NO_WINDOW			1002

#define	MinMem (1024*256)	/*	必要とする動作メモリの定義	*/
#define WINCOUNT 16		/*	最大ウィンドウ数	*/
#define BAR_SIZE 16		/*	スクロールバーの幅	*/

/* for tif load */
#define LOADBUFSIZE	 (151*1024)	/* ファイル読み込みバッファ */
#define EXPBUFSIZE   (100*1024)	/* 展開用バッファ */
/* for tif save */
#define SAVEBUFSIZE	 (151*1024)	/* ファイル読み込みバッファ */
#define GETBUFSIZE   (100*1024)	/* 展開用バッファ */

/*	構造体の定義							*/
typedef struct {
				int		windowId ;		/*	ウィンドウのID			*/
				int		vscrollId ;		/*	縦スクロールバーのID	*/
				int		hscrollId ;		/*	横スクロールバーのID	*/
				char	name[20] ;		/*	ウィンドウのタイトル	*/

				char	loadPath[80] ;	/* データの読み込みパス名 */
				char	savePath[80] ;	/* データの書き込みパス名 */
				int		lot ;			/* 保管領域のロット */
				char	*buf16m ;		/* 1600万色保管領域のアドレス */
				char	*bufAlpha ;		/* アルファ保管領域のアドレス */
				char	*buf32k ;		/* 32k色保管アドレス */

				int		dx ;				/* 絵全体の大きさ */
				int		dy ;
				int		ox ;			/* 左上表示開始座標 */
				int		oy ;
}GRAPHWIN ;

typedef struct {
				char	title[40] ;
				int		prt ;
				int		min ;
				int		max ;
}BASE ;

/* モードフラグBIT */
#define	__MODE_GO		0x100		/* セットパネルから即実行 */
#define	__MODE_AREA		0x200		/* エリアモードの指定がある */

typedef struct {
				char	title[80] ;
				int		setNum ;
				BASE	set[4] ;
				int		modeNum ;
				char	modeTitle[40] ;
				char	modeName[6][40] ;
				int		modeFlg[6] ;
				int		mode ;
				int		areaMode ;
}BASICSET ;

/* 関数の定義 */
extern int tifLoad16m( char *, char *, char *, int *, int * ) ;
extern int cov16mTo32k( char *sour, char *dest, int n ) ;
extern int tiffCheckHead( char *name, int *c, int *x, int *y,
						  int *comp, int *fill, long *strip, long *clut ) ;
extern int tifSave32kAnd16m( char *work, char *name, char *buffer,
							int bpp, int comp, int x, int y ) ;

