curs_touch 3x

curs_touch(3x)                                           curs_touch(3x)




名前

       touchwin, touchline, untouchwin, wtouchln, is_linetouched,
       is_wintouched - curses 画面更新制御ルーチン


書式

       #include <curses.h>
       int touchwin(WINDOW *win);
       int touchline(WINDOW *win, int start, int count);
       int untouchwin(WINDOW *win);
       int wtouchln(WINDOW *win, int y, int n, int changed);
       bool is_linetouched(WINDOW *win, int line);
       bool is_wintouched(WINDOW *win);


説明

        touchwintouchline ルーチンは、ウインドウ全体が
       描画されたかのように見せかけることで、ウインドウのどの部分が
       タッチ(変更をマーク)されたかという最適化情報をすべて
       破棄します。(訳注: touchline については後出)
        これは重なりあったウインドウの場合、時々必要です。1つの
       ウインドウへの変更が他のウインドウに影響するにもかかわらず、
       他方のウインドウのどの行が変更されたかという記録に
       変更が反映されないためです。
        touchline ルーチンは start 行から始まる count 行分のみが
       変更されたように見せかけます。

        untouchwin ルーチンは、ウインドウ内のすべての行が直前の 
       wrefresh 呼び出し以降変更されていないかのようにマークします。

        wtouchln ルーチンはウインドウ内の y 行から始まる n 行分を、
       直前の wrefresh 呼び出し以降変更されたかのように(changed=1)、
       あるいは変更されていないかのように(changed=0)見せかけます。

        is_linetouchedis_wintouched ルーチンは、指定の
       行/ウインドウが直前の wrefresh 呼び出し以降変更されているなら 
       TRUE を返し、そうでなければ FALSE を返します。
        それに加えて、指定のウインドウに対して line が無効な場合に 
       is_linetouchedERR を返します。
       (訳注: bool 型で返せるか疑問)


戻り値

        すべてのルーチンは、上のルーチン説明で特記していないかぎり、
       失敗した場合に整数 ERR を、正常終了の場合に ERR 以外の整数値を
       返します。

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

              is_linetouched
                    ウインドウ・ポインタがヌル、または行番号が
                   ウインドウの外だった場合にエラーを返します。
                    ERR は、この関数の正常な戻り値である TRUEFALSE とは異なることに注意してください。
                   (訳注: bool 型で返せるか疑問)

              wtouchln
                    ウインドウ・ポインタがヌル、または行番号が
                   ウインドウの外だった場合にエラーを返します。


移植性

        これらの関数は XSI Curses standard, Issue 4 に記載されて
       います。

        curses の歴史的ないくつかの実装では、明文化されていない
       機能として、 touchwin(stdscr) または clear(stdscr) とする
       ことで clearok(..., 1) と同等な処理ができました。
        これは ncurses では動作しません。


注意

        wtouchln 以外のすべてのルーチンは、
       マクロであるかもしれないことに注意してください。


関連項目

       curses(3x), curs_refresh(3x), curs_variables(3x).



                                                         curs_touch(3x)