/*
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ライブラリ用ヘッダファイル       /////  Tab Size : 4  /////  ┃
┃                                  /////  Margin : 100  /////  ┃
┃ aoi_lib2.h   v1.0 L21                                        ┃
┃                                                              ┃
┃ (C)K.Konishi 10-Feb-94                                       ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
*/


#if !defined(___AOI_lib)
	#define	___AOI_lib
	#define	___AOI_libDate	16-08-92
	#define	___AOI_libVer	v1.0_L20

typedef struct AOIstringData {	/* AOIstringのデータ格納用の構造体 */
	short	ax, ay,					/* ANK 文字 大きさ */
			sx, sy;					/* SJIS文字 大きさ */
	int		sc,						/* 文字の色 */
			ss;						/* 文字のスタイル */
}AOIstringData;

typedef struct AOIbuttonData {	/* AOIbuttonのデータ格納用の構造体 */
	short	 x,  y,					/* ボタン座標 */
			lx, ly;					/* ボタン大きさ */
}AOIbuttonData;

#ifdef	LIB
char	para[64];
char	work[EgbWorkSize];
char	mwork[MosWorkSize];
char 	pat_work[258];

#define	BUTTON	100

#define	AOImbMaxSize	256




#endif



#if !defined(LIB)
#include <EGB.h>
#include <MOS.h>
extern	char	para[64];
extern	char	work[EgbWorkSize];
extern	char	mwork[MosWorkSize];
extern	char 	pat_work[258];

#define	BUTTON	100


#define	MDCL1	 1	/* 色の名前 */
#define	MDCL2	 2
#define	MDCL3	 3
#define	MDCL4	 4
#define	MDCL5	 5
#define	MDCL6	 6
#define	MDCL7	 7

#define	BLACK	 8
#define	BLUE	 9
#define	RED		10
#define	PURPLE	11
#define	GREEN	12
#define	SKYBLUE	13
#define	YELLOW	14
#define	WHITE	15

#define	AOImbMaxSize	256

#endif

int AOIpset(short x, short y, short c);

int AOIcircle(short x, short y, short r, short c);

int AOIstring(short x, short y, AOIstringData *Data, char *tx);

int AOIstrSetup(short zsx, short zsy, short zax, short zay, short sf, short sc);

int AOIstrSjis(short x, short y, char *tx);

int AOIanyChar(short x, short y, short fx, short fy, char *data);

int AOIline(short x0, short y0, short x1, short y1, short c);

int AOIconnectLeft(short x0, short y0, short x1, short y1, short c);

int AOIconnectRight(short x0, short y0, short x1, short y1, short c);

int AOIconnectLeftIGRB(short x0, short y0, short x1, short y1, int c);

int AOIconnectRightIGRB(short x0, short y0, short x1, short y1, int c);

int AOIbox(short x0, short y0, short x1, short y1, short c);

int AOIboxFull(short x0, short y0, short x1, short y1, int c);

int AOIboxFullIGRB(short x0, short y0, short x1, short y1, int c);

int AOIwinBase(short x, short y, short lx, short ly, short sd);

int AOIwinBase2(int x, int y, int lx, int ly, int sd);

int AOIbuttonBase(short x, short y, short lx, short ly);

int AOIbuttonBase2(int x, int y, int lx, int ly);

int AOIwinBase32k(int x, int y, int lx, int ly, int sd);

int AOIbuttonBase32k(int x, int y, int lx, int ly);

int AOIsetPalette(int cn, int cg, int cr, int cb);

int AOIsetPalette256(int cn, int cg, int cr, int cb);

int AOIsetStandardPalette(void);

int AOIcolorIGRB(int g, int r, int b);

short AOIbin2short(char *bin);

long AOIbin2long(char *bin);

void AOIsetButton(AOIbuttonData *Data, short x, short y, short lx, short ly);

int AOIbutton(short sx, short sy, int mx, int my, AOIbuttonData *Data);

void AOIfigureDraw(short sx, short sy, short figure);

void _AOIfigureDrawSet(short *fig, short *a);

void AOIfigureDraw2(short sx, short sy, int figure);

short _AOIrandom(short max);	/* 0〜99までの特殊用途乱数発生 */

long AOIrandom(long max);		/* 0〜999999までの乱数発生 */

int AOIbuttonLamp(short sx, short sy, AOIbuttonData *Data);

int AOIslantingBox(short x0, short y0, short x1, short y1, short lx, short cl);

int AOIslantingBoxFull(short x0, short y0, short x1, short y1, short lx, short cl);

int AOIpadCheck(int *status);

int AOIpadCheck2(int *status, int a[]);

void ank2sjis(char string[], char str[]);

void AOIstrFJ2(FILE *fp, short fs, short sx, short sy, char st[], short gap);

void AOIstring_FJ2(FILE *fp, short fs, short sx, short sy, char st[], short sc, short gap);

void AOIstrFJ2Zoom(FILE *fp, short fs, short sx, short sy, char st[], short sc, short gap, short zx, short zy);

short _AOIsystem12FontSetup(char fnt12File[]);

void AOIsystem16Font(short x, short y, short c, char *str);

void AOIsystem12Font(short x, short y, short c, char *str);

int AOIgetGraph(char *buf, short x0, short y0, short x1, short y1);	/* 画像データ画面の読み込み */

int AOIgetGraphZoom(char *buf, short x0, short y0, short x1, short y1, short xs, short ys);
	/* 画像データ画面の読み込み */

int AOIputGraph(char *buf, short x0, short y0, short x1, short y1);	/*	画像データ画面の書き込み */

int AOIputGraphZoom(char *buf, short x0, short y0, short x1, short y1, short xs, short ys);
	/*	画像データ画面の書き込み */

void AOIwindowMove(char *dispTmp, short *sx, short *sy, short lx, short ly);	/*	ウインドゥ移動 */

void AOIwindowMove2(char *winData, char *dispTmp, int *sx, int *sy, int lx, int ly, int sd);

int AOIgetColorMode(void);

int	AOImessageBox(int x, int y, int fontSize, char title[], int num, char mes[][AOImbMaxSize], int attr);

int AOItiff(int sx, int sy, char filename[100]);

void AOIwide17(void);		/* WIDE display set */

void AOIwide3(void);

void AOIwide3_2(void);

short AOItownsName(void);	/*	ＴＯＷＮＳの機種判別 */

#define getB(c)	(c & 0xff)
#define getR(c)	((c>>8) & 0xff)
#define getG(c)	((c>>16) & 0xff)
#define RGBpack(r, g, b)	(((((g)<<16)&0xff0000)+(((r)<<8)&0xff00)+((b)&0xff))&0xffffff)

#define	shift32k(x)		(((x)<<3)&0xf8)
#define	shift32kG(g)	((shift32k(g)<<16)&0xf80000)
#define	shift32kR(r)	((shift32k(r)<< 8)&0x00f800)
#define	shift32kB(b)	((shift32k(b)    )&0x0000f8)
#define RGBpack32k(r, g, b)	((shift32kG(g)+shift32kR(r)+shift32kB(b))&0xffffff)

#define	DARKBULE32K		RGBpack32k(0x00,0x0e,0x15)
#define	LIGHTBULE32K	RGBpack32k(0x08,0x18,0x1f)
#define	WHITE32K		RGBpack32k(0x1f,0x1f,0x1f)

enum {MB_OK, MB_OKCANCEL, MB_YESNO};
enum {ID_OK, ID_CANCEL, ID_YES, ID_NO, ID_ERR};

enum {R32k, R16, R256};

enum {OFF, ON};

#endif



























/*
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃  葵ライブラリ    AOI_LIB2    v1.0 L20    マニュアル                    ┃
┃                                                                        ┃
┃    (C)K.Konishi  16-Aug-93                                             ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

	1 葵ライブラリについて

 		  葵ライブラリは、私、小西国造が製作した HighC 用簡易ライブラリです。
		Ｃ言語を始めたばかりの時の関数群もそのまま残っているので、かなり、
		目茶苦茶な物もあります。


		1.1 葵ライブラリ使用上の注意

			  葵ライブラリによって、生じたあらゆる不都合について、私は一切
			責任を負いません。一部、バグも野放しになっている場合もあります。


		1.2 葵ライブラリの使い方

			  以下、葵ライブラリを使うソースプログラムを TEST.C と呼びます。
			ソースプログラム TEST.C の適当な所に、

				#include <aoi_lib2.h>

			と記述して下さい。

				[参考]葵ライブラリは、以下が定義されています。

						#define	___AOI_lib

			  後、aoi_lib2.obj をリンクしてください。例えば、TLINK なら、

			  	run386 tlinkp.exp TEST.OBJ @link01.lnk

			です。link01.lnk 内のパスは各自適当に指定してください。



	2 葵ライブラリ リファレンス

		■ AOIpset			点描画

			int AOIpset(short x, short y, short c);
				//	0:正常終了
			short	x;		//	開始Ｘ座標
			short	y;		//	開始Ｙ座標
			short	c;		//	描画色

			例
				int	 ret;

				ret = AOIpset(320, 200, 15);
				//	座標(320, 200) に色番号15で点を描画します。





		■ AOIstring		文字列描画 (旧)

			int AOIstring(short x, short y, AOIstringData *Data, char *tx)
				//	0:正常終了
			short			x;		//	開始Ｘ座標
			short			y;		//	開始Ｙ座標
			AOIstringData	*Data;	//	文字列装飾データ
			char			*tx;	//	描画文字列

			例
				int	 ret;
				AOIstringData	asD;	// AOIstrData型の変数宣言

				asD.sx = 32;	//	全角のＸ方向大きさ
				asD.sy = 32;	//	全角のＹ方向大きさ
				asD.ax = 16;	//	半角のＸ方向大きさ
				asD.ay = 32;	//	半角のＹ方向大きさ
				asD.sc = BLACK;	//	描画色
				asD.ss = 0x00;	//	スタイル(HighC ﾏﾆｭｱﾙ EGB_fontStyle()参照)

				ret = AOIstring(320, 200, &asD, "文字列ABCＡＢＣ");
				//	座標(320, 200) に文字列を描画します。

			注意
				AOIstrSjis() の使用をお勧めします。





		■ AOIstrSetup		AOIstrSjis() に対する文字列装飾設定

			int AOIstrSetup(zsx, zsy, zax, zay, sf, sc);
				//	0:正常終了
			short	zsx;		//	全角のＸ方向大きさ
			short	zsy;		//	全角のＹ方向大きさ
			short	zax;		//	半角のＸ方向大きさ
			short	zay;		//	半角のＹ方向大きさ
			short	sf;			//	スタイル(HighC ﾏﾆｭｱﾙ EGB_fontStyle()参照)
			short	sc;			//	描画色

		例
			AOIstrSjis() の例を参照





		■ AOIstrSjis		文字列描画 (新)

			int AOIstrSjis(short x, short y, char *tx)
				//	0:正常終了
			short	x;			//	開始Ｘ座標
			short	y;			//	開始Ｙ座標
			char	*tx;		//	描画文字列

			例
				int	 ret1, ret2;

				ret1 = AOIstrSetup(32, 32, 16, 32, 0x00, BLACK);
				ret2 = AOIstrSjis(320, 200, "文字列ABCＡＢＣ");
				//	座標(320, 200) に文字列を描画します。

			注意
				AOIstrSjis() を呼び出す前に AOIstrSetup() で各種設定を
				行ってください。





		■ AOIanyChar		座標設定も行う EGB_anyChar()

			int AOIanyChar(short x, short y, short fx, short fy, char *data);
				//	0:正常終了
			short	x;			//	開始Ｘ座標
			short	y;			//	開始Ｙ座標
			short	fx;			//	データの横サイズ(8ドット単位)
			short	fy;			//	データの縦サイズ
			char	*data;		//	データのアドレス

			例
				int		ret;
				char	data[] = {
							0x1c, 0x00, 0x3e, 0x00, 0x63, 0x00, 0x41, 0x00,
                   			0xc1, 0x80, 0xff, 0x80, 0xc1, 0x80, 0xc1, 0x80
                   		};

				ret = AOIanyChar(320, 200, 8, 16, data);
				//	座標(320, 200) にdataの指すデータを描画します。





		■ AOIline			線描画

			int AOIline(short x0, short y0, short x1, short y1, short c);
				//	0:正常終了
			short	x0;			//	開始Ｘ座標
			short	y0;			//	開始Ｙ座標
			short	x1;			//	終了Ｘ座標
			short	y1;			//	終了Ｙ座標
			short	c;			//	描画色

			例
				int		ret;

				ret = AOIline(320, 200, 600, 450, 15);
				// 座標(320, 200)から座標(320, 200)へ色番号15で線を描画します





		■ AOIconnectLeft	┌─ のように線を描画します

			int AOIconnectLeft(x0, y0, x1, y1, c);
				//	0:正常終了
			short	x0;			//	開始Ｘ座標
			short	y0;			//	開始Ｙ座標
			short	x1;			//	終了Ｘ座標
			short	y1;			//	終了Ｙ座標
			short	c;			//	描画色

			例
				int		ret;

				ret = AOIconnectLeft(320, 200, 600, 450, 15);
				// 座標(320, 450)〜座標(320, 200)〜座標(600, 200)の順に
					色番号15で線を描画します。





		■ AOIconnectRight	─┘ のように線を描画します

			int AOIconnectRight(x0, y0, x1, y1, c);
				//	0:正常終了
			short	x0;			//	開始Ｘ座標
			short	y0;			//	開始Ｙ座標
			short	x1;			//	終了Ｘ座標
			short	y1;			//	終了Ｙ座標
			short	c;			//	描画色

			例
				int		ret;

				ret = AOIconnectRight(320, 200, 600, 450, 15);
				// 座標(320, 450)〜座標(600, 450)〜座標(600, 200)の順に
					色番号15で線を描画します。





		■ AOIbox			矩形描画

			int AOIbox(short x0, short y0, short x1, short y1, short c);
				//	0:正常終了
			short	x0;			//	開始Ｘ座標
			short	y0;			//	開始Ｙ座標
			short	x1;			//	終了Ｘ座標
			short	y1;			//	終了Ｙ座標
			short	c;			//	描画色

			例
				int		ret;

				ret = AOIbox(320, 200, 600, 450, 15);
				// 座標(320, 200)から(600, 450)へ色番号15で矩形を描画します。





		■ AOIboxFull		塗りつぶし矩形描画

			int AOIboxFull(short x0, short y0, short x1, short y1, short c);
				//	0:正常終了
			short	x0;			//	開始Ｘ座標
			short	y0;			//	開始Ｙ座標
			short	x1;			//	終了Ｘ座標
			short	y1;			//	終了Ｙ座標
			short	c;			//	描画色

			例
				int		ret;

				ret = AOIboxFull(320, 200, 600, 450, 15);
				// 座標(320, 200)から座標(600, 450)へ色番号15で
					塗りつぶし矩形を描画します。





		■ AOIwinBase		ウィンドウの下地描画

			int AOIwinBase(short x, short y, short lx, short ly, short sd);
				//	0:正常終了
			short	x;			//	開始Ｘ座標
			short	y;			//	開始Ｙ座標
			short	lx;			//	Ｘ方向大きさ
			short	ly;			//	Ｙ方向大きさ
			short	sd;			//	影処理(1 : あり)

			例
				int		ret;

				ret = AOIwinBase(320, 200, 100, 150, 1);
				// 座標(320, 200)から(100, 150)の大きさでウィンドウの下地描画
					します。影付き





		■ AOIbuttonBase	ボタンの下地描画

			int AOIbuttonBase(short x, short y, short lx, short ly);
				//	0:正常終了
			short	x;			//	開始Ｘ座標
			short	y;			//	開始Ｙ座標
			short	lx;			//	Ｘ方向大きさ
			short	ly;			//	Ｙ方向大きさ

			例
				int		ret;

				ret = AOIbuttonBase(320, 200, 100, 16);
				// 座標(320, 200)から(100,16)の大きさでボタンの下地描画します





		■ AOIsetPalette	パレット設定(16色)

			int AOIsetPalette(int cn, int cg, int cr, int cb);
				//	0:正常終了
			int		cn;			//	色識別番号
			int		cg;			//	緑(16段階)
			int		cr;			//	赤(16段階)
			int		cb;			//	青(16段階)

			例
				int		ret;

				ret = AOIsetPalette(14, 1, 2, 3);
					//	色識別番号14のパレットを(G, R, B) = (1, 2, 3)に設定。





		■ AOIsetPalette256	パレット設定(256色)

			int AOIsetPalette256(int cn, int cg, int cr, int cb);
				//	0:正常終了
			int		cn;			//	色識別番号
			int		cg;			//	緑(256段階)
			int		cr;			//	赤(256段階)
			int		cb;			//	青(256段階)

			例
				int		ret;

				ret = AOIsetPalette256(254, 10, 20, 30);
					//	色識別番号254のパレットを(G,R,B)=(10,20,30)に設定。





		■ AOIcolorIGRB		RGBの値で描画色を設定

			int AOIcolorIGRB(int g, int r, int b);
				//	0:正常終了
			int		g;			//	緑
			int		r;			//	赤
			int		b;			//	青

			例
				int		ret;

				ret = AOIcolorIGRB(10, 20, 30);
					//	描画色を(G, R, B) = (10,20,30)に設定します。





		■ AOIsetStandardPalette	16色モードの高輝度色のパレットを標準設定

			int AOIsetStandardPalette(void)
				//	0:正常終了

			例
				int		ret;

				ret = AOIsetStandardPalette();
					//	16色モードの高輝度色のパレットを標準設定





		■ AOIbin2short		2進数をshort型に変換し返します。

			short AOIbin2short(char *bin)
				//	2進数をshort型に変換し返します
			char	*bin		//	2進数

			例
				short		ret;

				ret = AOIbin2short("010101010");
					//	2進数 010101010 を short 型に変換し ret に格納します





		■ AOIbin2long 		2進数をlong 型に変換し返します。

			long  AOIbin2long (char *bin)
				//	2進数をlong 型に変換し返します
			char	*bin		//	2進数

			例
				long 	ret;

				ret = AOIbin2long ("010101010");
					//	2進数 010101010 を long  型に変換し ret に格納します





		■ AOIsetButton		指定範囲をボタンとして登録します

			void AOIsetButton(Data, x, y, lx, ly);
				//	戻りなし
			AOIbuttonData	*Data;	//	ボタン属性
			short			x;		//	開始Ｘ座標(0はウィンドウの開始Ｘ座標)
			short			y;		//	開始Ｙ座標(0はウィンドウの開始Ｙ座標)
			short			lx;		//	Ｘ方向大きさ
			short			ly;		//	Ｙ方向大きさ

			例
				AOIsetButton(&AbD[10], 10, 20, 100, 16);
				//	座標(10, 20)から(100, 16)の大きさの範囲をボタンとして
					登録番号10で登録します。

			注意
				AbD は aoi_lib2.h 内で予約されています。
				ユーザーが AOIbuttonData 型の宣言をしてはいけません。
				登録番号は 1 から 100 までです。





		■ AOIbutton		今、押されているボタンの登録番号を返します

			int AOIbutton(sx, sy, mx, my, Data);
				//	今、押されているボタンの登録番号を返します
					何も、押されていないときは -1 を返します
			short			sx;		//	現在のウィンドウの開始Ｘ座標
			short			sy;		//	現在のウィンドウの開始Ｙ座標
			int				mx;		//	現在のマウスカーソルのＸ座標
			int				my;		//	現在のマウスカーソルのＹ座標
			AOIbuttonData	*Data;	//	ボタン属性

			例
				int		button;
				int		ch;
				int		mx;
				int		my;

				MOS_rdpos(&ch, &mx, &my);
				button = AOIbutton(400, 200, mx, my, AbD);
				//	ウィンドウ開始座標(400, 200), マウスカーソル座標(mx, my)
					の時、押されているボタンの登録番号を button に返します。

			注意
				AbD は aoi_lib2.h 内で予約されています。
				ユーザーが AOIbuttonData 型の宣言をしてはいけません。
				登録番号は 1 から 100 までです。





		■ AOIfigureDraw	２桁の数字をディジタル時計風12ドットで表示します

			void AOIfigureDraw(short sx, short sy, short figure);
				//	戻りなし
			short	sx;			//	開始Ｘ座標
			short	sy;			//	開始Ｙ座標
			short	figure;		//	表示数値

			例
				AOIfigureDraw(320, 200, 23);
				//	座標(320, 200)に数値 23 をディジタル12ドットで表示します





		■ AOIfigureDraw2	２桁の数字をディジタル時計風25ドットで表示します

			void AOIfigureDraw(short sx, short sy, int figure);
				//	戻りなし
			short	sx;			//	開始Ｘ座標
			short	sy;			//	開始Ｙ座標
			int		figure;		//	表示数値

			例
				AOIfigureDraw2(320, 200, 23);
				//	座標(320, 200)に数値 23 をディジタル25ドットで表示します





		■ AOIrandom		0〜999999までの乱数発生

			long AOIrandom(long max);
				//	0〜999999までの乱数
			long	max;		//	最大値

			例
				long	ret;

				ret = AOIrandom(250000);
				//	1〜250000の間の乱数を ret に格納します

			注意
				乱数の種に内蔵時計を使用しています。






		■ AOIbuttonLamp	指定された登録番号のボタンを反転表示します

			int AOIbuttonLamp(short sx, short sy, AOIbuttonData *Data);
				//	0 : 正常終了
			short			sx;		//	現在のウィンドウの開始Ｘ座標
			short			sy;		//	現在のウィンドウの開始Ｙ座標
			AOIbuttonData	*Data;	//	ボタン属性

			例
				int	ret;

				ret = AOIbuttonLamp(400, 200, AbD[23]);
				//	ウィンドウ開始座標(400, 200), ボタンの登録番号 23 の
					ボタンを反転表示します。

			注意
				AbD は aoi_lib2.h 内で予約されています。
				ユーザーが AOIbuttonData 型の宣言をしてはいけません。
				登録番号は 1 から 100 までです。





		■ AOIslantingBox	平行四辺形描画

			int AOIslantingBox(x0, y0, x1, y1, lx, cl);
				//	0 : 正常終了            ＿＿＿＿＿＿＿＿  
			short	x0;		//	   (x0,y0)／       　　　 ／
			short	y0;		//	        ／              ／
			short	x1;		//	      ／←――lx――→／
			short	y1;		//	    ／              ／
			short	lx;		//	  ／＿＿＿＿＿＿＿／(x1,y1)
			short	cl;		//	描画色

			例
				int	ret;

				ret = AOIslantingBox(320, 200, 100, 50, 30, 14);
				//	平行四辺形を描画します





		■ AOIslantingBoxFull	塗りつぶし平行四辺形描画

			int AOIslantingBoxFull(x0, y0, x1, y1, lx, cl);
				//	0 : 正常終了            ＿＿＿＿＿＿＿＿  
			short	x0;		//	   (x0,y0)／       　　　 ／
			short	y0;		//	        ／              ／
			short	x1;		//	      ／←――lx――→／
			short	y1;		//	    ／              ／
			short	lx;		//	  ／＿＿＿＿＿＿＿／(x1,y1)
			short	cl;		//	描画色

			例
				int	ret;

				ret = AOIslantingBoxFull(320, 200, 100, 50, 30, 14);
				//	塗りつぶし平行四辺形を描画します





		■ ank2sjis			半角を含む文字列を全角のみの文字列を変換します

			void ank2sjis(char string[], char str[]);
				//	戻りなし
			char	string[];	//	変換後の文字列
			char	str[];		//	変換前の文字列

			例
				char	string[50];

				ank2sjis(string, "文字列ABCＡＢＣ");
				//	文字列"文字列ABCＡＢＣ"を全角"文字列ＡＢＣＡＢＣ"に変換し
					string に格納します。

			注意
				変換後の文字列は十分に大きく取っておいた方が無難です。





		■ sjisToJis		シフトJISをJISに変換します

			unsigned int sjisToJis(unsigned int sjis);
				//	変換結果を返します。
			unsigned int	sjis;	//	変換前 SJISコード

			例
				unsigned int	jis;

				jis = sjisToJis("愛");
				//	SJISコード"愛" を JISコードに変換して jis に格納します





		■ AOIstrFJ2		FJ2ﾌｫﾝﾄによる文字列描画 (新)

			void AOIstrFJ2(fp, fs, sx, sy, st, gap);
				//	戻りなし
			FILE	*fp;		//	FJ2ﾌｫﾝﾄﾌｧｲﾙのFILE *fp
			short	fs;			//	FJ2ﾌｫﾝﾄﾌｧｲﾙのサイズ(12,24,32,48,60)
			short	sx;			//	開始Ｘ座標
			short	sy;			//	開始Ｙ座標
			char	st[];		//	文字列
			short	gap;		//	文字間隔

		例
			FILE	*fp;

			if ((fp = fopen("Q:\\fj2\\font\\minn60.fnt", "rb")) == NULL) {
				perror("minn60.fnt のオープンを失敗しました");
			}
			AOIstrFJ2(fp, 60, 320, 200, "文字列ＡＢＣ", 0);
			//	座標(320, 200)に文字列を MINN60.FNT を使って描画します。

		注意
			文字列は全角のみ





		■ AOIstring_FJ2	FJ2ﾌｫﾝﾄによる文字列描画 (旧)

			void AOIstring_FJ2(fp, fs, sx, sy, st, sc, gap);
				//	戻りなし
			FILE	*fp;		//	FJ2ﾌｫﾝﾄﾌｧｲﾙのFILE *fp
			short	fs;			//	FJ2ﾌｫﾝﾄﾌｧｲﾙのサイズ(12,24,32,48,60)
			short	sx;			//	開始Ｘ座標
			short	sy;			//	開始Ｙ座標
			char	st[];		//	文字列
			short	sc;			//	描画色
			short	gap;		//	文字間隔

		例
			FILE	*fp;

			if ((fp = fopen("Q:\\fj2\\font\\minn60.fnt", "rb")) == NULL) {
				perror("minn60.fnt のオープンを失敗しました");
			}
			AOIstring_FJ2(fp, 60, 320, 200, "文字列ＡＢＣ", 14, 0);
			//	座標(320, 200)に文字列を MINN60.FNT を使って描画します。

		注意
			文字列は全角のみ
			なるべく AOIstrFJ2() を使ってください





		■ AOIstrFJ2Zoom	FJ2ﾌｫﾝﾄによる文字列描画

			void AOIstrFJ2Zoom(fp, fs, sx, sy, st, gap, zx, zy);
				//	戻りなし
			FILE	*fp;		//	FJ2ﾌｫﾝﾄﾌｧｲﾙのFILE *fp
			short	fs;			//	FJ2ﾌｫﾝﾄﾌｧｲﾙのサイズ(12,24,32,48,60)
			short	sx;			//	開始Ｘ座標
			short	sy;			//	開始Ｙ座標
			char	st[];		//	文字列
			short	gap;		//	文字間隔
			short	zx;			//	Ｘ方向大きさ
			short	zy;			//	Ｙ方向大きさ

		例
			FILE	*fp;

			if ((fp = fopen("Q:\\fj2\\font\\minn60.fnt", "rb")) == NULL) {
				perror("minn60.fnt のオープンを失敗しました");
			}
			AOIstrFJ2Zoom(fp, 60, 320, 200, "文字列ＡＢＣ", 0, 120, 80);
			//	座標(320, 200)に文字列を MINN60.FNT を使って描画します。

		注意
			文字列は全角のみ





		■ AOIsystem12Font	12ドットフォントによる文字列描画

			void AOIsystem12Font(short x, short y, short c, char *str)
				//	戻りなし
			short	x;			//	開始Ｘ座標
			short	y;			//	開始Ｙ座標
			char	*str;		//	文字列

		例
			AOIsystem12Font(320, 200, "文字列ABCＡＢＣ");
			//	座標(320, 200)に文字列を 12ドットフォント を使って描画します。





		■ AOIgetGraph		画像データ画面の読み込み

			int AOIgetGraph(char *buf, short x0, short y0, short x1, short y1);
				//	0:正常終了
			char	*buf;		//	画像保存用バッファ
			short	x0;			//	開始Ｘ座標
			short	y0;			//	開始Ｙ座標
			short	x1;			//	終了Ｘ座標
			short	y1;			//	終了Ｙ座標

		例
			char	dispTmp[(320 / 8) * 240];

			AOIgetGraph(dispTmp, 0, 0, 320, 240);
			AOIputGraph(dispTmp, 160, 240, 480, 480);
			//	(0, 0)-(320, 240) の画像を (160, 240)-(480, 480)に複写します。





		■ AOIputGraph		画像データ画面の読み込み

			int AOIputGraph(char *buf, short x0, short y0, short x1, short y1);
				//	0:正常終了
			char	*buf;		//	画像保存用バッファ
			short	x0;			//	開始Ｘ座標
			short	y0;			//	開始Ｙ座標
			short	x1;			//	終了Ｘ座標
			short	y1;			//	終了Ｙ座標

		例
			AOIgetGraph() の例 参照





		■ AOIgetGraphZoom	画像データ画面の読み込み

			int AOIgetGraphZoom(buf, x0, y0, x1, y1, xs, ys);
				//	0:正常終了
			char	*buf;		//	画像保存用バッファ
			short	x0;			//	開始Ｘ座標
			short	y0;			//	開始Ｙ座標
			short	x1;			//	終了Ｘ座標
			short	y1;			//	終了Ｙ座標
			short	xs;			//	Ｘ方向大きさ
			short	ys;			//	Ｙ方向大きさ

		例
			char	dispTmp[(640 / 8) * 480];

			AOIgetGraphZoom(dispTmp, 0, 0, 320, 240, 640, 480);
			AOIputGraph(dispTmp, 0, 0, 640, 480);
			//	(0, 0)-(320, 240) の画像を 拡大します。





		■ AOIputGraphZoom	画像データ画面の読み込み

			int AOIputGraphZoom(buf, x0, y0, x1, y1, xs, ys);
				//	0:正常終了
			char	*buf;		//	画像保存用バッファ
			short	x0;			//	開始Ｘ座標
			short	y0;			//	開始Ｙ座標
			short	x1;			//	終了Ｘ座標
			short	y1;			//	終了Ｙ座標
			short	xs;			//	Ｘ方向大きさ
			short	ys;			//	Ｙ方向大きさ

		例
			char	dispTmp[(320 / 8) * 240];

			AOIgetGraph(dispTmp, 0, 0, 320, 240);
			AOIputGraphZoom(dispTmp, 0, 0, 320, 240, 640, 480);
			//	(0, 0)-(320, 240) の画像を 拡大します。





		■ AOIwindowMove	ウインドウの移動

			void AOIwindowMove(dispTmp, sx, sy, lx, ly);
				//	戻りなし
			char	*dispTmp;	//	ウィンドウ描画前の画像データ
			short	*sx;		//	現在のウィンドウ開始Ｘ座標
			short	*sy;		//	現在のウィンドウ開始Ｙ座標
			short	lx;			//	ウィンドウのＸ方向大きさ
			short	ly;			//	ウィンドウのＹ方向大きさ

		例





		■ AOIwide3			画面モード 3をワイド化します(720 * 490相当)

			void AOIwide3(void);

		例
			AOIwide3();
			//	画面モード 3をワイド化します





		■ AOIwide17		画面モード 17を横方向に 1.2倍拡大します

			void AOIwide17(void);

		例
			AOIwide17();
			//	画面モード 17を横方向に 1.2倍拡大します










*/
