OpenVMS Alpha システムでは, 2 つの画面管理パッケージがサポートされます。それは OpenVMS Curses と,UNIX との互換性がより高く, BSD (Berkeley Standard Distribution) Curses ソフトウェア 1
第 6.1 節 を参照してください。
さらに, HP C RTL では,4.4BSD Berkeley Software Distribution をベースにした Curses パッケージも提供されるようになりました。 4.4BSD Curses パッケージに関する情報は,Kenneth C.R.C. Arnold 著,『Screen Updating and Cursor Movement Optimization: A Library Package』に記載されています。
OpenVMS と BSD ベースの Curses パッケージの関数およびマクロはほぼ同じです。両者の相違点の大部分については,この章で説明しています。それ以外の場合は,この章では 2 つの Curses パッケージを区別せず,単に「Curses」または「Curses 関数とマクロ」と呼んでいます。
表 6-1 Curses 関数とマクロ
[w]addch
|
ウィンドウの現在のカーソルの位置に文字を追加する。
|
[w]addstr
|
ウィンドウの現在のカーソルの位置に文字列を追加する。
|
box
|
ウィンドウの周囲に四角形を描く。
|
[w]clear
|
指定されたウィンドウの内容を消去し,カーソルの位置を座標 (0,0) にリセットする。
|
clearok
|
ウィンドウのクリア・フラグを設定する。
|
[w]clrattr
|
ウィンドウの内部でビデオ表示属性を無効にする。
|
[w]clrtobot
|
カーソルの現在の位置からウィンドウの最下部まで,ウィンドウの内容を消去する。
|
[w]clrtoeol
|
指定されたウィンドウの現在のカーソルの位置から行末まで,ウィンドウの内容を消去する。
|
[no]crmode
|
端末を cbreak モードに設定する。または設定を解除する。
|
[w]delch
|
指定されたウィンドウで,現在のカーソルの位置から文字を削除する。
|
[w]deleteln
|
現在のカーソルの位置から行を削除する。
|
delwin
|
指定されたウィンドウをメモリから削除する。
|
[no]echo
|
文字が端末画面に表示されるように,または表示されないように,端末を設定する。
|
endwin
|
端末画面をクリアし,Curses 構造体に割り当てられている仮想メモリを解放する。
|
[w]erase
|
空白をペイントすることにより,ウィンドウを消去する。
|
[w]getch
|
端末画面から 1 文字を取得し,指定されたウィンドウに表示する。
|
[w]getstr
|
端末画面から文字列を取得し,文字変数に格納し,指定されたウィンドウに表示する。
|
getyx
|
ウィンドウで現在のカーソルの位置の座標 (y,x) を変数 y および変数 x に代入する。
|
[w]inch
|
ウィンドウを変更せずに,指定されたウィンドウの現在のカーソルの位置にある文字を返す。
|
initscr
|
端末タイプ・データとすべての画面関数を初期化する。
|
[w]insch
|
指定されたウィンドウの現在のカーソルの位置に文字を挿入する。
|
[w]insertln
|
現在カーソルが設定されている行の上に 1 行を挿入する。
|
[w]insstr
|
指定されたウィンドウの現在のカーソルの位置に文字列を挿入する。
|
leaveok
|
ウィンドウを更新した後,現在の座標にカーソルをそのまま置く。
|
longname
|
文字列を十分格納できるだけの大きさの文字名に完全な端末の名前を代入する。
|
[w]move
|
指定されたウィンドウの現在のカーソルの位置を変更する。
|
mv[w]addch
|
カーソルを移動し,指定されたウィンドウに文字を追加する。
|
mv[w]addstr
|
カーソルを移動し,指定されたウィンドウに文字列を追加する。
|
mvcur
|
端末のカーソルを移動する。
|
mv[w]delch
|
カーソルを移動し,指定されたウィンドウで文字を削除する。
|
mv[w]getch
|
カーソルを移動し,端末画面から文字を取得し,指定されたウィンドウに表示する。
|
mv[w]getstr
|
カーソルを移動し,端末画面から文字列を取得し,その文字列を変数に格納し,指定されたウィンドウに表示する。
|
mv[w]inch
|
カーソルを移動し,ウィンドウを変更せずに,指定されたウィンドウの文字を返す。
|
mv[w]insch
|
カーソルを移動し,指定されたウィンドウに文字を挿入する。
|
mv[w]insstr
|
カーソルを移動し,指定されたウィンドウに文字列を挿入する。
|
mvwin
|
ウィンドウの開始位置を指定された座標に移動する。
|
newwin
|
端末画面の指定された座標から始まる行と列で新しいウィンドウを作成する。
|
[no]nl
|
UNIX ソフトウェアとの互換性を維持するためだけに提供され, OpenVMS 環境では機能しない。
|
overlay
|
1 つのウィンドウの内容 (別のウィンドウの内容の上に完全に収まるサイズ) を別のウィンドウの内容に上に完全に書き込む。処理は 2 つのウィンドウの開始座標から開始される。
|
overwrite
|
1 つのウィンドウの内容を別のウィンドウの上に収まる範囲で書き込む。処理は 2 つのウィンドウの開始座標から開始される。
|
[w]printw
|
現在のカーソルの位置からウィンドウに対して
printf
を実行する。
|
[no]raw
|
UNIX ソフトウェアとの互換性を維持するためだけに提供され, OpenVMS 環境では機能しない。
|
[w]refresh
|
指定されたウィンドウを端末画面に再表示する。
|
[w]scanw
|
ウィンドウに対して
scanf
を実行する。
|
scroll
|
ウィンドウのすべての行を 1 行ずつ上に移動する。
|
scrollok
|
指定されたウィンドウのスクロール・フラグを設定する。
|
[w]setattr
|
ウィンドウ内でビデオ表示属性を有効にする。
|
[w]standend
|
指定されたウィンドウの太字属性を無効にする。
|
[w]standout
|
指定されたウィンドウの太字属性を有効にする。
|
subwin
|
端末画面で指定された座標から始まる行と列で新しいサブウィンドウを作成する。
|
touchwin
|
指定されたウィンドウの最新バージョンを端末画面に表示する。
|
wrapok
|
OpenVMS Curses のみ。ウィンドウの右端から次の行の先頭への単語の折り返しを認める。
|