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);
       PAIR_NUMBER(attrs);


説明

        これらのルーチンは指定のウインドウの現在の属性値を
       操作します。
        ウインドウの現在の属性値は waddch, waddstr, wprintw で
       書き込まれるすべての文字に適用されます。
        属性は文字のプロパティで、スクロールや行/文字の挿入/削除
       操作を通じて文字とともに移動します。
        属性は可能な範囲で、画面上の文字の表示様式の
       適切な修飾として表示されます。


attrset

        attrset ルーチンは指定のウインドウの現在の属性値を attrs に
       セットします。
        attroff ルーチンは、他の属性をオン/オフすることなく、
       指定の属性をオフにします。
        attron ルーチンは、他の属性に影響を与えることなく、
       指定の属性をオンにします。
        standout ルーチンは attron(A_STANDOUT) と同じです。
        standend ルーチンは attrset(A_NORMAL) または attrset(0) と
       同じで、すべての属性をオフにします。

        attrset やこれに関連するルーチンは、ウインドウ内の一部を
       消去するときに使う属性には影響を与えません。
        消去とクリアに用いる属性を変更する関数については 
       curs_bkgd(3x) を参照してください。


attr_set

        attrset ルーチンは実際には SVr4 curses に先行する
       古い機能ですが、 X/Open Curses では SVr4 curses と同じ理由、
       すなわち互換性のために残されています。
        attr_set ルーチンは色のペアを引数として渡すために
       用意されています。

        その他の attr_* 関数は int 型の代わりに attr_t 型の引数を
       取ることを除き、対応する attr* 関数と全く同じように動作します。


color_set

        color_set ルーチンは、与えられたウインドウの現在色を 
       color_pair_number で指定した前景色/背景色の組に設定します。
        引数 opts は将来のために予約されており、ヌルポインタを
       与えなくてはなりません。


attr_get

        wattr_get ルーチンは指定のウインドウにおける
       現在の属性と色のペアを返します。
        attr_get ルーチンは stdscr における
       現在の属性と色のペアを返します。

        X/Open Curses のように attrget に対応する関数はありませんが、
       ncurses は getattrs を用意しています。
       (curs_legacy(3x) を参照してください。)


chgat

        chgat ルーチンは stdscr の現在のカーソル位置から始まる
       与えられた文字数分の属性値を変更します。
        chgat ルーチンはカーソル位置を変更せず、文字列の折返しも
       行いません。
        文字数が -1 またはウインドウ幅の残りよりも大きな文字数は、
       現在行の終わりまですっかり属性値を変更することを意味します。
        wchgat 関数は、これを任意のウインドウに対して一般化します。
        mvwchgat 関数は、動作の前にカーソル位置を移動させます。
        これらの関数で、引数 color は色のペアの番号です。
       ( init_pair の第 1 引数と同様に。 curs_color(3x) を
       参照してください。)
        引数 opts は現在使われていませんが、将来のために予約されて
       います。( NULL としてください。)


属性

        <curses.h> で定義されている下記の表示属性を 
       attron, attroff, attrset ルーチンに渡すことができます。
       文字と論理和( OR )を取った値を addch に渡すことができます。
       ( curs_addch(3x) を参照してください。)

              名前            説明
              ------------------------------------------------------------
              A_NORMAL        通常表示(強調なし)
              A_STANDOUT      端末で最高の強調モード
              A_UNDERLINE     下線つき
              A_REVERSE       反転
              A_BLINK         点滅
              A_DIM           半暗
              A_BOLD          高輝度または太字
              A_PROTECT       プロテクトモード
              A_INVIS         不可視または空白モード
              A_ALTCHARSET    代替文字セット
              A_ITALIC        イタリック(X/Open 拡張外)

              A_CHARTEXT      文字を取り出すためのビットマスク
              COLOR_PAIR(n)   色のペアの番号 n

        下記の表示属性は、 attr_on とこれに関連する関数が
       サポートします。( attron 他が認識する属性もサポートします。)

              名前            説明
              -----------------------------------------
              WA_HORIZONTAL   水平強調
              WA_LEFT         左強調
              WA_LOW          下強調
              WA_RIGHT        右強調
              WA_TOP          上強調
              WA_VERTICAL     垂直強調

       一貫性のために

        次のマクロは 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 で
       サポートされています。
        XSI Curses standard では強調表示専用の型 attr_t を
       定義していますが、 SVr4 curses では定義していません。
        attr_t 型の引数を取る関数は、 SVr4 curses では
       サポートされません。

        XSI Curses standard は、従来からの attron/attroff/attrset 
       関数が A_BLINK, A_BOLD, A_DIM, A_REVERSE, A_STANDOUT, 
       A_UNDERLINE 以外の属性を取り扱えるかどうかは「未指定」
       としています。
        この実装では SVr4 curses と同様、これらの関数は他の強調表示
       (具体的には A_ALTCHARSET, A_PROTECT, A_INVIS )もすべて正しく
       取り扱います。

        この実装は enter_italics_mode (sitm) と 
       exit_italics_mode (ritm) 機能項目を持つ端末のために、 
       A_ITALIC 属性を用意しています。
        イタリック体は X/Open Curses には記載されていません。
        他の表示属性と違って、 I_ITALICset_attributes 機能項目に
       関係づけられていません。
        この実装は exit_attribute_mode はイタリック体もリセット
       するものと仮定しています。

        XSI Curses は新しいルーチン attr_get, attr_on, attr_off, 
       attr_set, wattr_on, wattr_off, wattr_get, wattr_set を
       追加しています。
        これらは WA_ で始まる一連の新しい強調表示用マクロとともに
       動作するよう意図されています。
        従来のマクロに対応するものが、下記の新しいマクロの中に
       含まれます。

              名前            説明
              ------------------------------------------------------------
              WA_NORMAL       通常表示(強調なし)
              WA_STANDOUT     端末で最高の強調モード
              WA_UNDERLINE    下線つき
              WA_REVERSE      反転
              WA_BLINK        点滅
              WA_DIM          半暗
              WA_BOLD         高輝度または太字
              WA_ALTCHARSET   代替文字セット

        このライブラリのとても古いバージョンは、属性が変化した時に
       画面の更新を強制しません。更新した属性を強制的に
       画面に反映するには、 touchwin を使ってください。


        XSI curses standard は、 A_WA_ を使う対応する関数の
       ペアは、現在の強調表示に関する同じ情報を操作するように
       指定しています。

        XSI standard extended conformance level は新しい強調表示属性 
       A_HORIZONTAL, A_LEFT, A_LOW, A_RIGHT, A_TOP, A_VERTICAL を
       追加しています(そしてそれぞれに対応する WA_ マクロも)。
        2013年 8月現在、( sgr1 機能項目を通じて) 
       これらの強調表示属性を与える端末は知られていません。


戻り値

        すべてのルーチンは、正常終了すると整数 OK を、失敗すると 
       ERR を返します。

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

        この実装では、ウインドウ・ポインタがヌルのときにエラーを
       返します。
        wcolor_set 関数は色のペアの引数が 0 〜 COLOR_PAIRS-1 の
       範囲外のときにエラーを返します。
        この実装は古いバージョンの curses との互換性のために 
       getattrs を用意しています。

        mv で始まる関数は、まず wmove を使ってカーソルを移動させ、
       カーソルの位置がウインドウの外になった場合と
       ウインドウ・ポインタがヌルの場合にエラーを返します。


関連項目

       curses(3x), curs_addch(3x), curs_addstr(3x),
       curs_bkgd(3x), curs_printw(3x), curs_variables(3x)



                                                          curs_attr(3x)