EN JA
curs_add_wch(3X)
curs_add_wch(3X) curs_add_wch(3X)

名称

add_wch, wadd_wch, mvadd_wch, mvwadd_wch, echo_wchar, wecho_wchar - curses ウィンドウに複合文字と表現 (rendition) を追加し、カーソルを進めます

書式

#include <curses.h>
 
int add_wch( const cchar_t * wch );
 
int wadd_wch( WINDOW * win, const cchar_t * wch );
 
int mvadd_wch( int y, int x, const cchar_t * wch );
 
int mvwadd_wch( WINDOW * win, int y, int x, const cchar_t * wch );
 
int echo_wchar( const cchar_t * wch );
 
int wecho_wchar( WINDOW * win, const cchar_t * wch );
 

解説

add_wch, wadd_wch, mvadd_wchmvwadd_wch 関数は、与えられたウィンドウの現在の位置に複合文字 wch を置き、位置を進めます。これらの関数は、次のような折り返しと特殊文字処理を実行します:

-
wch がスペーシング (間隔) 文字を参照するなら、その位置にある任意の以前の文字は取り除かれます。 wch によって指定される新しい文字は、 wch によって指定される表現 (rendition) でその位置に置かれます。次に、カーソルはスクリーンの次のスペーシング文字に進めます。
-
wch がスペーシングでない文字を参照するなら、その位置にあるすべての以前の文字は保持されます。 wch のスペーシングでない文字は、スペーシングの複合文字に追加され、 wch によって指定された表現 (rendition) は無視されます。
-
wch の文字の部分がタブ、改行、バックスペースまたは他の制御文字であるなら、ウィンドウは更新され、カーソルはまるで addch が呼び出されたかのように動きます。

echo_wchar 関数は、 add_wch の呼び出しの後に refresh の呼び出しが続くものと機能的に同等です。同様に、 wecho_wcharwadd_wch の呼び出しの後に wrefresh の呼び出しが続くものと機能的に同等です。単一の文字だけが出力されているという知識は、考慮され、非制御文字のために、それらの同等物の代わりに * echo* 関数を使用することによって、かなりの性能の増加が見られるかもしれません。

戻り値

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

add_wch, mvadd_wch, mvwadd_wchecho_wchar は、マクロであるかもしれないことに注意してください。

移植性

これらのすべての関数は、XSI Curses 規格、Issue 4 に説明されています。フォームを描く文字のために指定されたデフォルトは、POSIX ロケールで適用されます。

XSI は、線を描くために使用される WACS_ で始まる定数を文書化しています。それらは、現在、 ncurses で実装されていません。

関連項目

curses(3X), curs_addch(3X), curs_attr(3X), curs_clear(3X), curs_outopts(3X), curs_refresh(3X), putwc(3)