EN JA
curs_attr(3X)
curs_attr(3X) curs_attr(3X)

名称

attroff, wattroff, attron, wattron, attrset, wattrset, color_set, wcolor_set, standend, wstandend, standout, wstandout, attr_get, wattr_get, attr_off, wattr_off, attr_on, wattr_on, attr_set, wattr_set, chgat, wchgat, mvchgat, mvwchgat, PAIR_NUMBER - curses 文字とウィンドウ属性制御ルーチン

書式

#include <curses.h>
 
int attroff(int attrs);
 
int wattroff(WINDOW *win, int attrs);
 
int attron(int attrs);
 
int wattron(WINDOW *win, int attrs);
 
int attrset(int attrs);
 
int wattrset(WINDOW *win, int attrs);
 
int color_set(short color_pair_number, void* opts);
 
int wcolor_set(WINDOW *win, short color_pair_number,
void* opts);
 
int standend(void);
 
int wstandend(WINDOW *win);
 
int standout(void);
 
int wstandout(WINDOW *win);
 
int attr_get(attr_t *attrs, short *pair, void *opts);
 
int wattr_get(WINDOW *win, attr_t *attrs, short *pair,
void *opts);
 
int attr_off(attr_t attrs, void *opts);
 
int wattr_off(WINDOW *win, attr_t attrs, void *opts);
 
int attr_on(attr_t attrs, void *opts);
 
int wattr_on(WINDOW *win, attr_t attrs, void *opts);
 
int attr_set(attr_t attrs, short pair, void *opts);
 
int wattr_set(WINDOW *win, attr_t attrs, short pair, void *opts);
 
int chgat(int n, attr_t attr, short color,
const void *opts)
 
int wchgat(WINDOW *win, int n, attr_t attr,
short color, const void *opts)
 
int mvchgat(int y, int x, int n, attr_t attr,
short color, const void *opts)
 
int mvwchgat(WINDOW *win, int y, int x, int n,
attr_t attr, short color, const void *opts)
 

解説

これらのルーチンは、指定されたウィンドウの現在の属性を操作します。ウィンドウの現在の属性は、 waddch, waddstr および wprintw でウィンドウに書き込まれるすべての文字に適用します。属性は文字の特性であり、スクロールおよび行 / 文字の挿入 / 削除操作によって文字とともに移動します。可能な範囲で、画面に置かれた文字のグラフィック解釈の適切な修正として表示されます。

ルーチン attrset は、与えられたウィンドウの現在の属性を attrs に設定します。ルーチン attroff は、他の属性をオンまたはオフに切り替えることなしに指定された属性をオフにします。ルーチン attron は、他に影響を及ぼさずに指定された属性をオンにします。ルーチン standout は、 attron(A_STANDOUT) と同じです。ルーチン standend は、 attrset(A_NORMAL) または attrset(0) と同じです。すなわち、すべての属性をオフにします。

attrset と関連するルーチンは、ウィンドウの一部分を削除するとき使用される属性に影響しません。削除とクリアのために使用される属性を変更する関数については curs_bkgd(3X) を参照してください。

ルーチン color_set は、color_pair_number によって記述された前景 / 背景コンビネーションに与えられたウィンドウの現在の色を設定します。パラメータは opt は、将来の使用のために保留されて、アプリケーションは NULL ポインタを供給しなければなりません。

ルーチン wattr_get は与えられたウィンドウのための現在の属性および色のペアを返します。 attr_getstdscr のために現在の属性および色のペアを返します。残る attr_* 関数は、それらが int ではなくタイプ attr_t の引数をとることを除いて、対応する attr* 関数のように正確に作動します。

ルーチン chgat は、 stdscr の現在のカーソル位置からスタートする文字の与えられた数の属性を変更します。それはカーソルを更新せず、折り返しを実行しません。残るウィンドウ幅が -1 以上の文字カウントは、現在の行の終りまでずっと属性を変更することを意味します。 wchgat 関数は任意のウィンドウにこれを一般化します。 mvwchgat 関数は行為の前にカーソルを動かせます。これらの関数では、色引数は色のペアのインデックスです ( init_pair の最初の引数のように、 curs_color(3X) を参照)。 opts 引数は現在使用されていませんが、将来のために (それは NULL で残されます) 保留されます。

属性

<curses.h> に定義された次のビデオ属性は、ルーチン attron, attroff および attrset に渡すことができますし、 addch に渡される文字と論理和 (OR) を取ることもできます。
A_NORMAL 通常の表示 (強調表示なし)
A_STANDOUT 端末の最良の強調表示モード
A_UNDERLINE 下線を付ける
A_REVERSE 反転ビデオ
A_BLINK ブリンク (点滅)
A_DIM 半分の明るさ
A_BOLD 特別な明るさまたは太字
A_PROTECT プロテクトモード
A_INVIS 目に見えないかブランクのモード
A_ALTCHARSET 代わりの文字セット
A_CHARTEXT 文字を取り出すためのビットマスク
COLOR_PAIR(n) 色のペアの番号 n

次のマクロは COLOR_PAIR(n) の逆です。

 

PAIR_NUMBER(attrs) COLOR_PAIR(n) 属性に関連する
ペアの番号を返します。

 

これらのルーチンの多くは戻り値には意味がありません (それらはマクロを拡張した割り当てとして実現されており、単にそれらの引数を返します)。 SVr4 マニュアルページは、これらのルーチンが必ず 1 を返すと主張していますが、これは誤っています。

attroff, wattroff, attron, wattron, attrset, wattrset, standend および standout はマクロであるかもしれないことに注意してください。

COLOR_PAIR 値は、ペア番号が 256 未満であるなら、属性を論理和 (OR) することだけができます。 color_set のような代わりの関数は、直接色のペア値を渡すことができます。しかしながら、ncurses ABI 4 と 5 は、代わりの関数内の値をこれと単に論理和 (OR) します。利用者は、256 カラーペア以上をサポートするためには ncurses ABI 6 を使用しなければなりません。

移植性

これらの関数は XSI Curses standard, Issue 4 に記述されています。標準は、ハイライトのための専用タイプを定義しました。それは SVr4 curses で定義されない attr_t です。 attr_t 引数をとる関数は、SVr4 の下でサポートされません。

XSI Curses 標準は、従来の関数 attron/ attroff/ attrsetA_BLINK, A_BOLD, A_DIM, A_REVERSE, A_STANDOUT あるいは "特定されていない" A_UNDERLINE 以外の属性を操作することができるかどうかを記載しています。 SVr4 curses と同様にこの実装の下では、これらの関数が正確に他のすべてのハイライト (特に、 A_ALTCHARSETA_PROTECT および A_INVIS) を操作します。

XSI Curses は新しいエントリポイント、 attr_get, attr_on, attr_off, attr_set, wattr_on, wattr_off, wattr_get, wattr_set を加えました。これらは、 WA_ を前に付けられた新しい一連のハイライトマクロで働くように意図されます。

このライブラリの古いバージョンは、属性を変更するとき、画面の更新を強制しませんでした。画面を更新された属性に適合するためには touchwin を使用します。

WA_NORMAL 通常の表示 (強調表示なし)
WA_STANDOUT 端末の最良の強調表示モード
WA_UNDERLINE 下線を付ける
WA_REVERSE 反転ビデオ
WA_BLINK ブリンク (点滅)
WA_DIM 半分の明るさ
WA_BOLD 特別な明るさまたは太字
WA_ALTCHARSET 代わりの文字セット

XSI curses 標準は、同じ現在のハイライト情報上で対応する A_ および WA_ を使用する関数の操作の各ペアについて明記します。

適合レベルを拡張した XSI 標準は、この実装でまだサポートしていない新しいハイライト A_HORIZONTAL, A_LEFT, A_LOW, A_RIGHT, A_TOP, A_VERTICAL (また各々の対応する WA_ マクロ) を加えます。

戻り値

すべてのルーチンは、成功で整数 OK を、または失敗で ERR を返します。

X/Open は、エラー条件を何も定義していません。

この実装は、ウィンドウのパラメータが null であるなら、エラーを返します。 wcolor_set 関数は、色ペアのパラメータが 0 から COLOR_PAIRS-1 の範囲外であるなら、エラーを返します。また、この実装は、curses の古いバージョンとの互換性のために getattrs を提供しています。

関連項目

curses(3X), curs_addch(3X), curs_addstr(3X), curs_bkgd(3X), curs_printw(3X)