home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1997 July
/
VPR9707B.ISO
/
DRIVER
/
IODATA
/
GA360
/
DISK2.EXE
/
GALIB.DOC
< prev
next >
Wrap
Text File
|
1993-04-01
|
47KB
|
1,204 lines
*******************************************************************************
* *
* GA-1024シリーズ用グラフィック関数ライブラリ仕様 *
* *
*******************************************************************************
●ライブラリファイル名
GALIB.LIB
●インクルードファイル
GAGRAPH.H
グラフィックライブラリを使用するときは必ず,このファイルをインクル-ド
すること
●座標系
左上を 起点 0,0(X,Y) とする
GA-1024A の場合
1024×768 mode
ョ「「「「「「「「「「「「「「「「「「「イ
、0,0 1023,0、
、 、
、 、
、 、
、 、
、 表示エリア 、
、 、
、 、
、 、
、0,767 1023,767、
セェェェェェェェェェェェェェェェェェェェニ
、0,768 1023,768、
、 、
、 非表示エリア(Shadow screen) 、
、 、
、0,1023 1023,1023、
カ「「「「「「「「「「「「「「「「「「「コ
非表示エリア(Shadow screen)は画面退避やパターン設定用に使用する
非表示エリアは画面サイズによって異なる
( 例 )1024*768 mode
512, 769 から 639, 769 (16Byte) タイルパターン保存用
640, 769 から 655, 769 (2Byte) タイルレジスタ保存
656, 769 から 143, 770 (64Byte) HGA用タイルパターン保存用
0, 771 から 1023,1022 (31.5KB) 画面退避用
0,1023 から 1023,1023 (128Byte) マウスカーソル退避用
GA-1280A の場合
1024×768 mode
ョ「「「「「「「「「「「「「「「「「「「イ
、0,0 1023,0、
、 、
、 、
、 、
、 、
、 表示エリア 、
、 、
、 、
、 、
、0,767 1023,767、
セェェェェェェェェェェェェェェェェェェェニ
、0,768 1023,768、
、 、
、 非表示エリア(Shadow screen) 、
、 、
、 、
、 、
、 、
、0,2047 1023,2047、
カ「「「「「「「「「「「「「「「「「「「コ
非表示エリア(Shadow screen)は画面退避やパターン設定用に使用する
非表示エリアは画面サイズによって異なる
( 例 )1024*768 mode
512,961 から 639, 961 (16Byte) タイルパターン保存用
640,961 から 655, 961 (2Byte) タイルレジスタ保存
656,961 から 143, 962 (64Byte) HGA用タイルパターン保存用
0,963 から 1023,2047 (135.6KB) 画面退避用
GA-1280A の場合
1280×960 mode
ョ「「「「「「「「「「「「「「「「「「「ホ「「「「「「「「「イ
、0,0 1279,0、 2047,0、
、 、 、
、 、 、
、 、 、
、 、 、
、 表示エリア 、 非表示エリア 、
、 、 、
、 、 、
、 、 、
、0,959 1279,959、 、
セェェェェェェェェェェェェェェェェェェェヨェェェェェェェェェニ
、0,960 1279,960 2047,960、
、 、
、 非表示エリア(Shadow screen) 、
、 、
、 、
、 、
、 、
、0,1023 2047,1023、
カ「「「「「「「「「「「「「「「「「「「「「「「「「「「「「コ
非表示エリア(Shadow screen)は画面退避やパターン設定用に使用する
512,961 から 639, 961 (16Byte) タイルパターン保存用
640,961 から 655, 961 (2Byte) タイルレジスタ保存
656,961 から 1167, 961 (64Byte) HGA用タイルパターン保存用
0,962 から 2047,1023 (15.5KB) 画面退避用
GA-1280A の場合
1280×1024 mode
ョ「「「「「「「「「「「「「「「「「「「ホ「「「「「「「「「イ
、0,0 1279,0、 2047,0、
、 、 、
、 、 、
、 、 、
、 、 、
、 、 、
、 、 、
、 、 、
、 、 、
、 表示エリア 、 非表示エリア 、
、 、 、
、 、 、
、 、 、
、 、 、
、 、 、
、 、 、
、 、 、
、 、 、
、0,1023 1280,1023、 2047,1023、
カ「「「「「「「「「「「「「「「「「「「ヨ「「「「「「「「「コ
非表示エリア(Shadow screen)は使用しないためタイルパターンの
表示は行えない
●クリッピング
GAsetClipRgn()でクリッピングエリアを指定する
基本的にはクリッピングエリア(デフォルト 0,0 1023,767)からはみ出す所
には描画しない
デフォルト GA-1024A, GA1280A( 1024*768 mode まで )
0,0 1023,767
GA-1280A( 1280*960 mode )
0,0 1279,959
GA-1280A( 1280*1024 mode )
0,0 1279,1023
追加機能
GAclipContRgn()でクリッピングの設定 解除 又は、クリッピング
エリアの内か外にクリッピングを行うかを決められる
●表示プレーンとアクティブプレーン
GA-1024A 及び GA-1280A には 8プレーンモードと 16プレーンモードの 2種類
のプレーンモードがある
8プレーンモードの時のみ 4プレーンづつ 16色 2ページにわけたり 1プレーン
づつモノクロ 8ページにわけることが可能である
GAsetActivePlane()で描画プレーンをページ番号であたえる
GAsetVisualPlane()で表示プレーンをページ番号であたえる
( 注意 ) 16 プレーン( 65536色 )で上記の関数を呼ぶと
無条件で全プレーン表示可能の状態になる
グラフィック関数はMS-C Ver5.1 Ver6.0 及び TURBO C Ver1.5 Ver2.0 で利用できる
------------------------------------------------------------------------------
関数 GAinit
------------------------------------------------------------------------------
書式 int far GAinit(int crtmode)
引数 int crtmode 画面モード
0: DEFAULT_RESO : 変更しない
1: HRESO_256C : 1024*768 256色 × 1ェイ
2: LRESO_256C : 640*480 256色 × 1 ャ
3: HRESO_16C : 1024*768 16色 × 2 ャ
4: LRESO_16C : 640*480 16色 × 2 ャ
5: HRESO_4C : 1024*768 4色 × 4 ャ
6: LRESO_4C : 640*480 4色 × 4 ャ 8 plane mode
7: HRESO_2C : 1024*768 モノクロ × 8 ャ
8: LRESO_2C : 640*480 モノクロ × 8 ャ
9: MRESO_256C : 800*600 256色 × 1 ャ
10: MRESO_16C : 800*600 16色 × 2 ャ
11: MRESO_4C : 800*600 4色 × 4 ャ
12: MRESO_2C : 800*600 モノクロ × 8ェコ
13: HRESO_65536C : 1024*768 65536色 × 1ェイ
14: MRESO_65536C : 800*600 65536色 × 1 ャ16 plane mode
15: LRESO_65536C : 640*480 65536色 × 1ェコ
16: HRESO960_256C : 1280*960 256色 × 1ェイ
17: HRESO960_16C : 1280*960 16色 × 2 ャ
18: HRESO960_4C : 1280*960 4色 × 4 ャ
19: HRESO960_2C : 1280*960 モノクロ × 8 ャ8 plane mode
20: HRESO1024_256C : 1280*1024 256色 × 1 ャ
21: HRESO1024_16C : 1280*1024 16色 × 2 ャ
22: HRESO1024_4C : 1280*1024 4色 × 4 ャ
23: HRESO1024_2C : 1280*1024 モノクロ × 8ェコ
(注意) crtmode の 13,14,16,17,18,19,20,21,22,23はGA-1280A のみ使用可能
戻り値 0 正常
-1 GAINIT.EXE が常駐していない又はグラフィックボードが見つからない
または使用できない画面モードを指定している
機能 グラフィックライブラリで使用する変数を初期化する
ウィンドウが閉じている場合は16Kのウィンドウを開く
画面モードを設定する
グラフィックコントローラのレジスタは以下に初期化される
MODE : 01H
WPM : アクティブプレーンビットまたは、0FFFFH
WBM : 0FFFFH
DAC_MSK : ビジュアルプレーンビット
パレットはデフォルトで設定されるか、65536色画面モードでは色が決まって
いる
65536 色のパレット設定
ョ「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「イ
、15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 、
セ「ヨ「ヨ「ヨ「ヨ「゙「ヨ「ヨ「ヨ「ヨ「ヨ「゙「ヨ「ヨ「ヨ「ヨ「ニ
、 赤 、 緑 、 青 、
、 明 <--------> 暗 、 明 <----------> 暗 、 明 <--------> 暗 、
カ「「「「「「「「「ヨ「「「「「「「「「「「ヨ「「「「「「「「「コ
65536色のモード( 16 plane mode )の場合,パレットコードが決まっている
ため上記の設定を参考にして各関数のパレットコードをセットすること
(注意) 65536色モードの時に XOR描画をする場合はパレットコードを 0xffdf
にセットすること
256 色のパレット設定
0 黒
1 赤
2 緑
3 黄色
4 青
5 紫
6 水色
7 白
8 暗いグレー
9 暗い赤
10 暗い緑
11 暗い黄色
12 暗い青
13 暗い紫
14 暗い水色
15 グレー
16 - 254 未設定
255 白
16 色のパレット設定
0 黒
1 赤
2 緑
3 黄色
4 青
5 紫
6 水色
7 白
8 暗いグレー
9 暗い赤
10 暗い緑
11 暗い黄色
12 暗い青
13 暗い紫
14 暗い水色
15 グレー
4 色のパレット設定
0 黒
1 水色
2 黄色
3 白
2 色パレット設定
0 黒
1 白
( 注意 ) 解像度を指定した場合 GAINIT.EXE で指定されたモードになる
NDHDモードを指定した場合,画面モードは変更されない
------------------------------------------------------------------------------
関数 GAclrScreen
------------------------------------------------------------------------------
書式 void far GAclrScreen()
引数 無し
戻り値 無し
機能 GA-1024A, GA-1280Aの画像メモリ全てをクリアする。
(VRAMの各プレーンを0で埋める。)
-------------------------------------------------------------------------------
関数 GAcrtSel
-------------------------------------------------------------------------------
書式 void far GAcrtSel( int sel )
引数 int sel 0 CRT_PC : 本体CRT出力
1 CRT_GA : GA-1024グラフィック出力
戻り値 無し
機能 GA-1024シリーズのCRT出力をパソコン本体かグラフィックアダプターに
に切り替える
-------------------------------------------------------------------------------
関数 GAgetVideoConfig
-------------------------------------------------------------------------------
書式 void far GAgetVideoConfig(struct VDCONFIG far *vdcfg)
引数 struct VDCONFIG far *vdcfg グラフィックボード情報格納アドレス
struct VDCONFIG {
int scr_width ; スクリーンの横巾 ピクセル数
int scr_height ; スクリーンの高さ ピクセル数
int plane ; 画面数
int palette ; パレット数
; 65536色画面モード時は パレット数は0を返す
int font_width ; フォントの横巾 ピクセル数 8
int font_height ; フォントの高さ ピクセル数 16
int internal ; 内部セーブ可能か? 1を返す
int port ; GA-1024のポート番号の下位8ビット
int ga_seg ; グラフィックボードウィンドウの
; セグメント
int port2 ; (ボード2枚の場合2枚目のポート番号)
int gainit_int ; GAINIT の割り込み番号
int ga_vram ; VRAM容量
char rfu[54] ; リザーブ
};
戻り値 無し
機能 グラフィックボードの情報を格納する
描画エリアサイズ,プレーン数,パレット数,ページ数,フォントサイズ等
ライブラリ関数を使用せずにグラフィックメモリにアクセスする場合は,
GA-1024 および GA-1280A のポート番号,グラフィックボードウィンドウの
セグメントをこの関数で得る
-------------------------------------------------------------------------------
関数 GAsaveHwRegister
-------------------------------------------------------------------------------
書式 int far GAsaveHwRegister(struct HWREG far *hw)
引数 struct HWREG far *hw グラフィックコントローラのレジスタセーブ
アドレス
NULL なら セーブエリアのサイズを返す
戻り値 セーブエリアのサイズ
機能 割り込み処理中にグラフィック描画可能にするためにグラフィックコント
ローラのレジスタをセーブする
タイルレジスタはShadow screenに待避する
struct HWREG {
short wbm;
short srw;
short srr;
char mode;
char wpm;
char rps;
char rpe;
char color;
char dac_msk;
}
-------------------------------------------------------------------------------
関数 GArestoreHwRegister
-------------------------------------------------------------------------------
書式 void far GArestoreHwRegister(struct HWREG far *hw)
引数 struct HWREG far *hw グラフィックコントローラのレジスタセーブ
アドレス
戻り値 無し
機能 GAsaveHwRegister()でセーブしたグラフィックコントローラのレジスタをリ
ストアする
タイルレジスタはshadow screenにから復帰する
struct HWREG {
short wbm;
short srw;
short srr;
char mode;
char wpm;
char rps;
char rpe;
char color;
char dac_msk;
}
-------------------------------------------------------------------------------
関数 GAsetVisualPlane
-------------------------------------------------------------------------------
書式 void far GAsetVisualPlane(int plane)
引数 int plane ビジュアル 画面番号
-1 なら ビジュアル画面無し
戻り値 無し
機能 ビジュアル画面を設定する(表示する画面番号)
(GA-1024Aのピクセルマスクレジスタを設定する)
256色画面モードの場合,ビジュアル画面は 0 のみとなる
(注意) この関数は65536色画面モードでは無効
-------------------------------------------------------------------------------
関数 GAgetVisualPlane
-------------------------------------------------------------------------------
書式 int far GAgetVisualPlane()
引数 なし
戻り値 int ビジュアル画面番号
-1 なら ビジュアル画面無し
機能 ビジュアル画面番号を返す
(注意) この関数は65536色画面モードでは無効
-------------------------------------------------------------------------------
関数 GAsetActivePlane
-------------------------------------------------------------------------------
書式 void far GAsetActivePlane(int plane)
引数 int plane アクティブ画面番号
-1 なら アクティブ画面無し
戻り値 無し
機能 アクティブ画面番号を設定する
256色画面モードの場合,アクティブ画面は 0 のみとなる
(注意) 65536色画面モードの時にこの関数をコールするとライトプレーン
マスクレジスタを無条件で全プレーンを有効 (0xffff)にする
-------------------------------------------------------------------------------
関数 GAgetActivePlane
-------------------------------------------------------------------------------
書式 int far GAgetActivePlane()
引数 無し
戻り値 int アクティブ画面番号
-1 なら アクティブ画面無し
機能 アクティブ画面番号を返す
(注意) この関数は65536色画面モードでは無効
-------------------------------------------------------------------------------
関数 GAsetClipRgn
-------------------------------------------------------------------------------
書式 void far GAsetClipRgn(int sx,int sy,int ex,int ey)
引数 int sx,sy クリップ開始座標
int ex,ey クリップ終了座標
戻り値 無し
機能 描画クリッピングエリアを指定する
sxが -1 の時は表示エリア全部を描画可能なクリッピングエリアとする
デフォルトは表示エリア全部
-------------------------------------------------------------------------------
関数 GAgetClipRgn
-------------------------------------------------------------------------------
書式 void far GAgetClipRgn(int far *sx,int far *sy,int far *ex,int far *ey)
引数 int far *sx, far *sy クリップ開始座標ポインタ
int far *ex, far *ey クリップ終了座標ポインタ
戻り値 無し
機能 描画クリッピングエリアを返す
-------------------------------------------------------------------------------
関数 GAsetPalette
-------------------------------------------------------------------------------
書式 void far GAsetPalette(struct PALETTE far *pal,int paletteNo)
引数 struct PALETTE far *pal パレットデータ ポインタ
int paletteNo 設定パレット番号
戻り値 無し
機能 パレットを1エントリ設定する
struct PALETTE {
char red;
char green;
char blue;
}
red green blue は 0 から 255 の範囲で指定する
struct はパックされている( MS-Cの場合は /Zp オプション を付ける )
( 注意 ) 65536色画面モードでは使えない
-------------------------------------------------------------------------------
関数 GAgetPalette
-------------------------------------------------------------------------------
書式 void far GAgetPalette(struct PALETTE far *pal,int paletteNo)
引数 struct PALETTE far *pal パレットデータ ポインタ
int paletteNo 読みだしパレット番号
戻り値 無し
機能 パレットを1エントリ読み出す
struct PALETTE {
char red;
char green;
char blue;
}
red green blue は 0 から 255 の範囲
( 注意 ) 65536色画面モードでは使えない
-------------------------------------------------------------------------------
関数 GAline
-------------------------------------------------------------------------------
書式 void far GAline(int sx,int sy,int ex,int sy,int palette,short style)
引数 int sx,sy 描画開始座標
int ex,ey 描画終了座標
int palette パレットコード
XOR 描画 8 PLANE MODE 0xffff
16 PLANE MODE 0xffdf
short style ラインスタイルパターン
0xffff SOLID_LINE : 実線
0xe7e7 DASH_LINE : 破線
0xaaaa DOT_LINE : 点線
0xe427 DASHDOT_LINE : 1点破線
0xea57 DASHDOTDOT_LINE : 2点破線
戻り値 無し
機能 クリッピングエリア内にラインを描画する
-------------------------------------------------------------------------------
関数 GAbox
-------------------------------------------------------------------------------
書式 void far GAbox(int sx,int sy,int ex,int ey,int palette,short style)
引数 int sx,sy 描画開始座標
int ex,ey 描画終了座標
int palette パレットコード
XOR 描画 8 PLANE MODE 0xffff
16 PLANE MODE 0xffdf
short style ラインスタイルパターン
0xffff SOLID_LINE : 実線
0xe7e7 DASH_LINE : 破線
0xaaaa DOT_LINE : 点線
0xe427 DASHDOT_LINE : 1点破線
0xea57 DASHDOTDOT_LINE : 2点破線
戻り値 無し
機能 クリッピングエリア内にボックスラインを描画する
-------------------------------------------------------------------------------
関数 GAboxFill
-------------------------------------------------------------------------------
書式 void far GAboxFill(int sx,int sy,int ex,int ey,int palette)
引数 int sx,sy 描画開始座標
int ex,ey 描画終了座標
int palette パレットコード
XOR 描画 8 PLANE MODE 0xffff
16 PLANE MODE 0xffdf
戻り値 無し
機能 クリッピングエリア内にボックス塗り潰しを描画する
-------------------------------------------------------------------------------
関数 GAsetPixel
-------------------------------------------------------------------------------
書式 void far GAsetPixel(int x,int y,int palette)
引数 int x,y 描画座標
int palette パレットコード
XOR 描画 8 PLANE MODE 0xffff
16 PLANE MODE 0xffdf
戻り値 無し
機能 クリッピングエリア内に点を描画する
-------------------------------------------------------------------------------
関数 GAgetPixel
-------------------------------------------------------------------------------
書式 int far GAgetPixel(int x,int y)
引数 int x,y 描画座標
戻り値 int 指定座標のピクセル値
機能 指定座標のピクセル値を返す
-------------------------------------------------------------------------------
関数 GAcircle
-------------------------------------------------------------------------------
書式 void far GAcircle(int x,int y,int r,int palette,short style)
引数 int x,y 円の中心座標
int r 半径
int palette パレットコード
XOR 描画 8 PLANE MODE 0xffff
16 PLANE MODE 0xffdf
short style ラインスタイルパターン
戻り値 無し
機能 クリッピングエリア内に円を描画する
-------------------------------------------------------------------------------
関数 GAcircleFill
-------------------------------------------------------------------------------
書式 void far GAcircleFill(int x,int y,int r,int palette)
引数 int x,y 円の中心座標
int r 半径
int palette パレットコード
XOR 描画 8 PLANE MODE 0xffff
16 PLANE MODE 0xffdf
戻り値 無し
機能 クリッピングエリア内に円の塗り潰しを描画する
-------------------------------------------------------------------------------
関数 GAtriangle
-------------------------------------------------------------------------------
書式 void far GAtriangle( int x0, int y0, int x1, int y1, int x2, int y2,
int palette, short style )
引数 int x0,y0 x1,y1 x2,y2 三角形の頂点
int palette パレットコード
XOR 描画 8 PLANE MODE 0xffff
16 PLANE MODE 0xffdf
short style ラインスタイルパターン
戻り値 無し
機能 クリッピングエリア内に三角形を描画する
-------------------------------------------------------------------------------
関数 GAtriangleFill
-------------------------------------------------------------------------------
書式 void far GAtriangleFill(int x0, int y0, int x1, int y1, int x2, int
y2,int palette )
引数 int x0,y0 x1,y1 x2,y2 三角形の頂点
int palette パレットコード
XOR 描画 8 PLANE MODE 0xffff
16 PLANE MODE 0xffdf
戻り値 無し
機能 クリッピングエリア内に三角形の塗り潰しを描画する
-------------------------------------------------------------------------------
関数 GApaint
-------------------------------------------------------------------------------
書式 void far GApaint(int x,int y,int boundcolor,int color)
引数 int x ペイント開始座標 X
int y ペイント開始座標 Y
int boundcolor 境界色のパレットコ-ド
int color ペイント色のパレットコ-ド
戻り値 無し
機能 境界色が -1 の時は指定座標と同じ色のエリアをペイント色で塗りつぶす
-1 以外の時,境界色で囲まれたエリアにペイント色で塗りつぶす
ただし,65536色画面モードの時は -1 は使えない
-------------------------------------------------------------------------------
関数 GAsetTile
-------------------------------------------------------------------------------
書式 void far GAsetTile(char far *tile)
引数 char far *tile タイルパターンデータポインタ
デ-タサイズ 65536色モード : 128バイト
256色モ-ド : 64バイト
16色モ-ド : 32バイト
4色モ-ド : 16バイト
2色モ-ド : 8バイト
戻り値 無し
機能 8×8のタイルパターンデータをセットする
タイルパターンは以下の関数で使用される
GAtiledLine()
GAtiledBox()
GAtiledCircle()
GAtiledTriangle()
GAtiledPaint()
タイルパターンのフォーマット
ョ「「「「「「「「「「「「「イ
、Plane 0 Line 0 、
、 Line 1 、
、 : 、
、 : 、
、 Line 7 、
セ「「「「「「「「「「「「「ニ
、Plane 1 Line 0 、
、 Line 1 、
、 : 、
、 : 、
、 Line 7 、
セ「「「「「「「「「「「「「ニ
: :
: :
: :
セ「「「「「「「「「「「「「ニ
、Plane n Line 0 、
、 Line 1 、
、 : 、
、 : 、
、 Line 7 、
カ「「「「「「「「「「「「「コ
( 注意 ) 画面モード1280×1024では使用できない
-------------------------------------------------------------------------------
関数 GAtiledLine
-------------------------------------------------------------------------------
書式 void far GAtiledLline(int sx,int sy,int ex,int ey)
引数 int sx,sy 描画開始座標
int ex,ey 描画終了座標
戻り値 無し
機能 クリッピングエリア内にタイルパターンでラインを描画する
この関数を実行するまえにGAsetTile()でパターンを設定しておくこと
( 注意 ) 画面モード1280×1024では使用できない
-------------------------------------------------------------------------------
関数 GAtiledBox
-------------------------------------------------------------------------------
書式 void far GAtiledBox(int sx,int sy,int ex,int ey)
引数 int sx,sy 描画開始座標
int ex,ey 描画終了座標
戻り値 無し
機能 クリッピングエリア内にタイルパターンでボックス塗り潰しを描画する
この関数を実行するまえにGAsetTile()でパターンを設定しておくこと
(タイルパターンはshadow screenに設定されている)
( 注意 ) 画面モード1280×1024では使用できない
-------------------------------------------------------------------------------
関数 GAtiledCircle
-------------------------------------------------------------------------------
書式 void far GAtiledCircle(int x,int y,int r)
引数 int x,y 円の中心座標
int r 半径
戻り値 無し
機能 クリッピングエリア内にタイルパターンで円の塗り潰しを描画する
( 注意 ) 画面モード1280×1024では使用できない
-------------------------------------------------------------------------------
関数 GAtiledTriangle
-------------------------------------------------------------------------------
書式 void far GAtriangleFill(int x0,y0,int x1,int y1,int x2,int y2)
引数 int x0,y0 x1,y1 x2,y2 三角形の頂点
戻り値 無し
機能 クリッピングエリア内にタイルパターンで三角形の塗り潰しを描画する
( 注意 ) 画面モード1280×1024では使用できない
-------------------------------------------------------------------------------
関数 GAtiledPaint
-------------------------------------------------------------------------------
書式 void far GAtiledPaint(int x,int y,int boundcolor)
引数 int x ペイント開始座標 X
int y ペイント開始座標 Y
int boundcolor 境界色のパレットコ-ド
戻り値 無し
機能 境界色が-1の時は指定座標と同じ色のエリアをタイルパターンで塗りつぶす
-1以外の時,境界色で囲まれたエリアにタイルパターンで塗りつぶす
ただし,65536色画面モードの時は-1は使えない
すでにタイルパターンで塗りつぶれているエリアにGAtiledPaint()で
塗りつぶしをおこなうと速度が遅くなります
( 注意 ) 画面モード1280×1024では使用できない
-------------------------------------------------------------------------------
関数 GAcopyImage
-------------------------------------------------------------------------------
書式 void far GAcopyImage(int sx,int sy,int ex,int ey,int destx,int desty)
引数 int sx,sy ソース開始座標
int ex,ey ソース終了座標
int destx,desty ディストネーション開始座標
戻り値 無し
機能 ソース座標からディストネーション座標(クリッピングエリア内)へコピーする
-------------------------------------------------------------------------------
関数 GAsaveImage
-------------------------------------------------------------------------------
書式 long far GAsaveImage( int sx, int sy, int ex, int ey, int mode,
void far *savep )
引数 int sx,sy セーブ開始座標
int ex,ey セーブ終了座標
int mode セーブモード
0 PLANE_MODE : ビットマップ
1 PIXEL_MODE : 8ビットパックドピクセル
2 PUSH_POP : グラフィックボード内部(shadow screen)
8 BYTE_ALIGN :ビットマップ(バイトアライン)
ビットシフトしない
void far *savep セーブエリアポインタ
NULL ならセーブエリアサイズを返す
( 注意 ) 16 プレーンモードの時は、PLANE_MODE,BYTE_ALIGN は使えない
画面モード1280×1024ではPUSH_POPは使用できない
戻り値 long セーブエリアサイズ(セーブエリアポインタ==NULL)
正常終了 0(セーブエリアポインタ!= NULL 又は内部)
エリア不足 -1(グラフィックボード内部にセーブする場合)
機能 画面イメージデータをセーブする
セーブエリアポインタが NULL ならセーブエリアサイズを返す
( 注意 ) PIXEL_MODE の時、幅が4バイト境界で切り上げられたサイズを返す
セーブ座標とリストア座標が同じ場合はグラフィックボード内部にセーブ可能
グラフィックボード内部にセーブ可能なサイズは 約 500x500 ピクセル程度
この場合,セ-ブリストアはPUSH POPの関係となる
ビットマップ(バイトアライン)はセーブ座標とリストア座標が同じ場合
ビットデータをシフトせず高速にセーブ リストアするモードである
セ-ブ開始座標は負にならない様に注意すること
ビットマップのフォーマット
ョ「「「「「「「「「「「「「「「「「「「イ
、Plane 0 Line 0 、
、 Line 1 、
、 : 、
、 : 、
、 Line N-1 、
セ「「「「「「「「「「「「「「「「「「「ニ
、Plane 1 Line 0 、
、 Line 1 、
、 : 、
、 : 、
、 Line N-1 、
セ「「「「「「「「「「「「「「「「「「「ニ
: :
: :
: :
セ「「「「「「「「「「「「「「「「「「「ニ
、Plane n Line 0 、
、 Line 1 、
、 : 、
、 : 、
、 Line N-1 、
カ「「「「「「「「「「「「「「「「「「「コ
1ライン分のデータはバイト単位で切り上げる
1プレーンのデータは 64KB 未満であること
-------------------------------------------------------------------------------
関数 GArestoreImage
-------------------------------------------------------------------------------
書式 void far GArestoeImage( int sx, int sy, int ex, int ey, int mode,
void far *savep )
引数 int sx,sy リストア開始座標
int ex,ey リストア終了座標
int mode モード
0 PLANE_MODE : ビットマップ
1 PIXEL_MODE : 8ビットパックドピクセル
2 PUSH_POP : グラフィックボード内部(shadow screen)
8 BYTE_ALIGN :ビットマップ(バイトアライン)
ビットシフトしない
void far *savep セーブエリアポインタ
( 注意 ) 16 プレーンモードの時はPLANE_MODE,BYTE_ALIGN は使えない
画面モード 1280×1024ではPUSH_POP は使用できない
戻り値 なし
機能 画面イメージデータをクリッピングエリア内にリストア
グラフィックボード内部からリストアする場合はセーブ座標とリストア座標
が同じであること
ビットマップ(バイトアライン)はセーブ座標とリストア座標が同じ場合
ビットデータをシフトせず高速にセーブ リストアするモードである
-------------------------------------------------------------------------------
関数 GAputChar
-------------------------------------------------------------------------------
書式 void far GAputChar( int x,int y,char c,int fcolor,int bcolor
,short style)
引数 int x,y 表示開始座標
char c 表示文字
int fcolor 文字のパレットコード
int bcolor バックのパレットコード
-1(TRANSPARENT)ならバックは透明色
short style ビットフィールドで特殊文字を指定する
ビット0 BOLD : ボールド指定(太い文字)
ビット1 ITALIC : イタリック指定
戻り値 無し
機能 クリッピングエリア内に文字を描画する
漢字コードはSIFT JISコードで 2回この関数を呼んで与える
バックのパレットコードが -1 ならバックは描画されない
-------------------------------------------------------------------------------
関数 GAputStr
-------------------------------------------------------------------------------
書式 void far GAputStr( int x, int y, char far * str, int fcolor
, int bcolor, short style )
引数 int x,y 表示開始座標
char far *str 表示文字列ポインタ
int fcolor 文字のパレットコード
int bcolor バックのパレットコード
-1(TRANSPARENT)ならバックは透明色
short style ビットフィールドで特殊文字を指定する
ビット0 BOLD : ボールド指定(太い文字)
ビット1 ITALIC : イタリック指定
戻り値 無し
機能 クリッピングエリア内に文字列を描画する
バックのパレットコードが -1 ならバックは描画されない
-------------------------------------------------------------------------------
関数 GAsetCursor
-------------------------------------------------------------------------------
書式 void far GAsetCursor(char far *andmask,char far *xormask)
引数 char far *andmask AND マスクデ-タポインタ (128バイト)
char far *xormask XOR マスクデ-タポインタ (128バイト)
戻り値 無し
機能 32×32 ドットのカ-ソル用のパタ-ンデ-タを登録する
デ-タは1ラインにつき4バイトで32ライン分ある
カ-ソルは GA-1024A の時、VRAM と AND マスクデ-タと AND して,
XOR マスクデ-タと XOR して描画される
GA-1280A の時RAMDACのレジスタに設定を行う
AND マスクデ-タ,XOR マスクデ-タサイズはそれぞれ128バイト
-------------------------------------------------------------------------------
関数 GAdrawCursor
-------------------------------------------------------------------------------
書式 void far GAdrawCursor(int x,int y)
引数 int x カ-ソル表示座標 X -31から1023まで
int y カ-ソル表示座標 Y -31から767まで
戻り値 無し
機能 GAsetCursor()で定義された 32 x 32 ドットのパタ-ンを描画する
指定座標は描画パタ-ンの左上
カ-ソル描画前の画面デ-タはShadowScreenに保存される
マウスカ-ソルとして使用する場合,MS-DOS添付のMOUSE.SYSと組合あわせて
使用すること
マウスドライバ等の割り込み処理でこの関数を使用するときは
GAsaveHwRegister(),GArestoreHwRegister()でグラフィックコントロ-ラ
のレジスタを保存しなければならない
-------------------------------------------------------------------------------
関数 GAeraseCursor
-------------------------------------------------------------------------------
書式 void far GAeraseCursor()
引数 無し
戻り値 無し
機能 GA-1024A ---- カ-ソルを消す
GA-1280A ---- カーソルを SHADOW SCREEN に退避させる
カ-ソルの表示エリアに図形や文字を描画する場合は必ずこの関数でカ-ソ
ルを消して,GAdrawCursor()で再描画すること
*******************************************************************************
* *
* GA-1024A GA-1280A からの追加関数 *
* *
*******************************************************************************
-------------------------------------------------------------------------------
関数 GAclipControl
-------------------------------------------------------------------------------
書式 void GAclipControl( int sx,int sy, int ex, int ey,int entry,
int control )
引数 int sx,sy クリップ開始座標
int ex,ey クリップ終了座標
int entry クリッピングのオン、オフ
0 CLIP_OFF : クリッピングを行わない
1 CLIP_ON : クリッピングを行う
int control クリップの指定
0 CLIP_IN : 指定範囲の内に描画
1 CLIP_OUT : 指定範囲の外に描画
戻り値 無し
機能 クリッピングのオン,オフ及びクリップの範囲を指定する
描画クリッピングエリア及びクリッピングのオン、オフを指定する
sx が -1 の時は表示エリア全部を描画可能なクリッピングエリアとする
デフォルトは表示エリア全部をクリッピングする
-------------------------------------------------------------------------------
関数 GAropLine
-------------------------------------------------------------------------------
書式 void GAropLine( int sx, int sy, int ex, int ey, int FGcolor
short style, int BGcolor, int FGrop, int BGrop)
引数 int sx,sy 描画開始座標
int ex,ey 描画終了座標
int FGcolor フォアグラウンドカラー
short style ラインスタイル
int BGcolor バックグラウンドカラー
int FGrop フォアグラウンドラスタオペレーション(0~15)
int BGrop バックグラウンドラスタオペレーション(0~15)
戻り値 なし
機能 クリッピングエリア内にラスタオペレーション(論理演算)を使ったラインを
描画する
source : 転送元
dest : 転送先
ラスタオペレーションコード
0 : 0
1 : NOT source AND NOT dest
2 : NOT source AND dest
3 : NOT source
4 : source AND NOT dest
5 : NOT dest
6 : source XOR dest
7 : NOT source OR NOT dest
8 : source AND dest
9 : NOT source XOR dest
10 : dest
11 : NOT source OR dest
12 : source
13 : source OR NOT dest
14 : source OR dest
15 : 1
-------------------------------------------------------------------------------
関数 GAfepSet
-------------------------------------------------------------------------------
書式 void GAfepSet( int y, char far *color_tran_table )
引数 int y FEP表示y座標
char far *color_tran_table 色変換テ-ブル
テキストカラーコードに対応するパレットコードを
設定します
( 例 ) static char color_tran[]= { 0, 4, 1, 5, 2, 6, 3, 7};
黒 青 赤 紫 緑 水 黄 白
戻り値 無し
機能 int 18hをフックして FEP on/off を監視する
キーセンス時にFEPが使用するVRAMを監視してFEPの表示をグラフィックにする
このモジュ-ルは日本語FEPの表示をGA-1024で行なうものである
対応FEPは以下のとおり
ATOK6
ATOK7
NEC AI
松茸3
VJE
また,間接入力モ-ドのみサポート
(注意) GAfepSet() GAfepReset()は必ずペアで使うこと
-------------------------------------------------------------------------------
関数 GAfepReset
-------------------------------------------------------------------------------
書式 void GAfepReset()
引数 無し
戻り値 無し
機能 FEPの表示設定を解除する
(注意) GAfepSet() GAfepReset()は必ずペアで使うこと
-------------------------------------------------------------------------------
関数 GAterm
-------------------------------------------------------------------------------
書式 void GAterm( pal_fig )
引数 int pal_flg パレットの設定を初期状態に戻すかを決めるフラグ
0 PAL_DEF : パレットを初期状態に戻す
1 PAL_USER : パレットを初期状態に戻さない
戻り値 無し
機能 関数 GAinit() を使用する前の状態の設定に戻す
戻される設定は以下のとおり
GAINIT.EXEのモード
CRTの切替え
8」16 Plane mode
パレット0 - 15 の設定