(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)
ncurses_init_pair — 色ペアを定義する
$pair
, int $fg
, int $bg
)前景色と背景色の色ペアを定義/再定義します。 色ペアが事前に初期化されている場合は、 画面が再描画されて即時に新しい定義が反映されます。
この関数をコールする前に、 ncurses_start_color() で色機能を初期化しておく必要があります。 最初の色ペア (色ペア 0) はデフォルトで黒地に白となっていますが、 ncurses_assume_default_colors() で変更することも可能です。
pair
定義したい色ペアの番号。
fg
色ペアの前景色。 定義済みの色 のいずれか、あるいは端末に色変更機能がある場合に ncurses_init_color() で定義したものとなります。
bg
色ペアの背景色。 定義済みの色 のいずれか、あるいは端末に色変更機能がある場合に ncurses_init_color() で定義したものとなります。
関数が成功した場合は -1、 ncurses や端末の色機能の初期化ができていない場合は 0 を返します。
既存の色で色ペアを定義する際には、色の変更機能は不要であることに注意しましょう。 この機能が必要となるのは、色自体の定義 (赤、緑、青コンポーネント) を ncurses_init_color() で変更したい場合です。
例1 指定した色で文字列を画面に書き込む
<?php
ncurses_init();
// 端末が色をサポートしている場合に、初期化してアクティブな色を設定します
if (ncurses_has_colors()) {
ncurses_start_color();
ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
ncurses_color_set(1);
}
// 指定した位置に文字列を書き込みます
ncurses_mvaddstr(10, 10, "Hello world! Yellow on blue text!");
// 出力をフラッシュします
ncurses_refresh();
ncurses_end();
?>