/************************************************************************/
/*	乙女座用プラグインツール											*/
/*	ヘッダーファイル "tpspin.h"											*/
/*	Create 1995.05.27 by Yahara (Nifty@GAH00716)						*/
/************************************************************************/

/*======================================================================*/
/*	乙女座でﾌﾟﾗｸﾞｲﾝﾂｰﾙの判断を行う為のﾌﾗｸﾞでﾌﾟﾗｸﾞｲﾝﾂｰﾙ内では使用しては	*/
/*	いけません。														*/
/*======================================================================*/
#define PI_CMD_MASK		0x00F0		/*	コマンドマスク			*/
#define PI_CMD_FILE		0x0010		/*	コマンドファイル		*/
#define PI_CMD_DRAW		0x0020		/*	コマンド描画			*/
#define PI_CMD_EFFC		0x0040		/*	コマンド効果			*/

/*======================================================================*/
/*	乙女座でﾌﾟﾗｸﾞｲﾝﾂｰﾙﾀｲﾌﾟの設定ﾌﾗｸﾞです								*/
/*======================================================================*/
/*	ﾌｧｲﾙ系ﾂｰﾙ													*/
#define PI_LOAD			0x0010		/*	読み込みのみ			*/
#define PI_SAVE			0x0011		/*	保存のみ				*/

/*	描画系ﾂｰﾙ													*/
#define PI_DRAW_DOT		0x0020		/*	点描画					*/
#define PI_DRAW_LINE	0x0021		/*	ライン描画				*/
#define PI_DRAW_DRAG	0x0022		/*	ドラッグ描画			*/
#define PI_DRAW_BOX		0x0023		/*	四角描画				*/
#define PI_DRAW_BOXF	0x0024		/*	四角描画(塗り)			*/
#define PI_DRAW_ELLP	0x0025		/*	楕円描画				*/
#define PI_DRAW_ELLF	0x0026		/*	楕円描画(塗り)			*/
#define PI_DRAW_POLY	0x0027		/*	ポリゴン描画			*/
#define PI_DRAW_POLF	0x0028		/*	ポリゴン描画(塗り)		*/
#define PI_DRAW_STAMP	0x0029		/*	スタンプ描画			*/

/*	効果系ﾂｰﾙ													*/
#define PI_EFFC_ALL		0x0040		/*	全領域指定				*/
#define PI_EFFC_SEL		0x0041		/*	範囲指定				*/
#define PI_EFFC_ALORSL	0x0042		/*	任意選択				*/
#define PI_EFFC_POLY	0x0043		/*	ポリゴン指定			*/

/*	PI_TYPEのenv1にセットする。環境ｾｯﾄするかしないかのﾌﾗｸﾞ		*/
#define PI_NOSET_ENV	0x0000		/*	環境設定あり			*/
#define PI_SET_ENV		0x0001		/*	環境設定あり			*/

/*	PI_TYPEのenv2にセットする。但し、ﾍﾟﾝﾂｰﾙ系のみ有効			*/
#define PI_SYS_PEN		0x0000		/*	ﾍﾟﾝ形状を乙女座に依存	*/
#define PI_USER_PEN		0x0001		/*	ﾍﾟﾝ形状はﾌﾟﾗｸﾞｲﾝﾂｰﾙ内で	*/
									/*	行う。このとき32X32ﾄﾞｯﾄ	*/
									/*	の四角形ｼｽﾃﾑﾍﾟﾝで行う。	*/

/*	コメント	*/
#define PI_COMMENT_MAX		80		/*	コメント最大文字数		*/

/*	プラグインエラー											*/
#define PI_ERROR_SYSTEM		-1		/*	システムエラー			*/
#define PI_ERROR_NO_MEMORY	-2		/*	メモリー不足			*/
#define PI_ERROR_FILE_OPEN	-3		/*	ファイルオープンエラー	*/
#define PI_ERROR_ETC		-4		/*	上記該当外エラー		*/

/*======================================================================*/
/*	乙女座ﾌﾟﾗｸﾞｲﾝﾂｰﾙ引数の型です。										*/
/*======================================================================*/
/*	プラグインタイプ設定引数	*/
typedef struct {
	char	name[32];			/*	モジュール名				*/
	int		type;				/*	プラグインタイプ			*/
	int		env1;				/*	属性1						*/
	int		env2;				/*	属性2						*/
} PI_TYPE;

/*	パラメータの諸設定	*/
typedef struct {
	char	*fname;				/*	file name adress			*/
	char	*comment;			/*	file commnet (ﾘｻﾞｰﾌﾞ)		*/
	int		fore_color;			/*	前景色						*/
	int		back_color;			/*	背景色						*/
	int		trans_mode;			/*	透過モード					*/
	int		til_mode;			/*	タイルフラグ				*/
	int		grd_ptn_max;		/*	ｸﾞﾗﾃﾞｰｼｮﾝﾊﾟﾀｰﾝ数			*/
	POINT	grd_size;			/*	ｸﾞﾗﾃﾞｰｼｮﾝの幅･高さ			*/
	char	*grdPtn;			/*	ｸﾞﾗﾃﾞｰｼｮﾝ2値ﾊﾟﾀｰﾝ			*/
	POINT	til_size;			/*	ﾀｲﾙﾊﾟﾀｰﾝの幅,高さ			*/
	char	*tilPtn;			/*	タイルパターン				*/
	int		ds;					/*	データセレクタ値			*/
	int		(*func1)();			/*	malloc関数					*/
	void	(*func2)();			/*	free関数					*/
} PI_DATA;

/*	イメージのやり取りを行う引数	*/
typedef struct {
	char	*egbWork;			/*	EGBワークアドレス			*/
	int		page;				/*	EGBのページ番号(0x80〜0x83)	*/
	int		pix;				/*	pixel(色数)					*/
	POINT	size;				/*	イメージサイズ				*/
	char	*clut;				/*	パレット					*/
	char	*image;				/*	イメージ					*/
	char	*edit;				/*	2値イメージ					*/
} PI_IMAGE;

/*	描画座標系を扱う引数	*/
typedef struct {
	int		type;				/*	設定したタイプ				*/
	char	*gpara;				/*	EGB形式のパラメーター		*/
	int		count;				/*	カウンター					*/
} PI_PARA;

/*	ﾌﾟﾗｸﾞｲﾝの変数の設定を行う	*/
typedef struct {
	char	title[16];			/*	項目名						*/
	int		min;				/*	最小値						*/
	int		max;				/*	最大値						*/
	int		def;				/*	デフォルト値				*/
	int		val;				/*	ユーザ設定値				*/
} PI_CNFG;

/*======================================================================*/
