//	ＡＩＧライブラリ　テキストウインドウ関数
//		Copyright (C) 1989-1994 by AIG-SOFT

#ifndef	__AIG_WIN__
#define	__AIG_WIN__	1

#include "menu.h"

/* Text Window System 構造体 V2 */
typedef struct WIN_DATA {
	short	x ,y;		/* ホーム座標 */
	short	wx,wy;		/* ウィンドウ幅 */
	
	short	cx,cy;		/* 相対カーソル位置 */
	short	ccx,ccy;	/* 相対カーソル位置（保存用）*/
	
	int	kanji1;		/* 漢字１バイト目（兼フラグ）*/
	int	col;		/* 表示属性 */
	short	num,num2;	/* ESCシーケンス数値処理用 */
	short	fcrlf;		/* 改行フラグ */
	short	fesc;		/* エスケープシーケンスフラグ */
	short	fcur;		/* カーソル表示フラグ */
	
	_MENU_DATA *mdata;	/* メニュー構造体アドレス */
	MCOLORS *colors;	/* 色構造体アドレス */
	unchar *wget;		/* ウインドウ退避エリアアドレス */
} _WIN_DATA;

/* 定数定義 */
#define WINMAX	20		/* 同時最大ウインドウオープン可能数 */
				/* charの範囲内にすること */

/* マクロ関数 */
#define	win_crlf(wno)	win_printc(wno,'\n')


#ifdef	__cplusplus
// 95/11 : G++対応
extern	"C" {
#endif
#ifdef	__PROTO_TYPE
	int	win_open(int,int,int,int,_MENU_DATA *,MCOLORS *);
	int	win_overrap(int);
	int	win_active_no(void);
	void	win_close(int,int);
	void	win_active(int);
	void	win_printc(int,unint);
	void	win_move(int);
	void	win_getput(int,int);
	void	win_color(int,int);
	void	win_prints(int,unchar *);
	void	win_cursor(int,int);
	void	win_locate(int,int,int);
	void	win_stat(int,_WIN_DATA *);
	void	win_inc_line(int);
	void	win_ctrlz(int);
	void	win_line_clear(int);
	void	win_cls(int);
	void	win_rewrite(int);
	void	win_back(int);
	void	set_dwin_data(_MENU_DATA *);
#else
	int	win_open();
	int	win_overrap();
	int	win_active_no();
	void	win_close();
	void	win_active();
	void	win_printc();
	void	win_move();
	void	win_getput();
	void	win_color();
	void	win_prints();
	void	win_cursor();
	void	win_locate();
	void	win_stat();
	void	win_inc_line();
	void	win_ctrlz();
	void	win_line_clear();
	void	win_cls();
	void	win_rewrite();
	void	win_back();
	void	set_dwin_data();
#endif
#ifdef	__cplusplus
}
#endif

#endif
