curs_window 3x

curs_window(3x)                                         curs_window(3x)




NAME 名前

       newwin, delwin, mvwin, subwin, derwin, mvderwin, dupwin,
       wsyncup, syncok, wcursyncup, wsyncdown - create curses
       windows
        - curses ウインドウの作成と移動


SYNOPSIS 書式

       #include <curses.h>

       WINDOW *newwin(
             int nlines, int ncols,
             int begin_y, int begin_x);
       int delwin(WINDOW *win);
       int mvwin(WINDOW *win, int y, int x);
       WINDOW *subwin(WINDOW *orig,
             int nlines, int ncols,
             int begin_y, int begin_x);
       WINDOW *derwin(WINDOW *orig,
             int nlines, int ncols,
             int begin_y, int begin_x);
       int mvderwin(WINDOW *win, int par_y, int par_x);
       WINDOW *dupwin(WINDOW *win);
       void wsyncup(WINDOW *win);
       int syncok(WINDOW *win, bool bf);
       void wcursyncup(WINDOW *win);
       void wsyncdown(WINDOW *win);


DESCRIPTION 説明


newwin

       Calling newwin creates and returns a pointer to a new win-
       dow with the given number of lines and columns.  The upper
       left-hand corner of the window is at
              line begin_y,
              column begin_x
        newwin を呼び出すと、指定された行数と桁数を持つ新しい
       ウインドウを作り、ポインタを返します。
        ウインドウの左上隅は
              行 begin_y,
              桁 begin_x です。

       If either nlines or ncols is zero, they default to
              LINES - begin_y and
              COLS - begin_x.
        nlines または ncols がゼロのときは、デフォルトで
              LINES - begin_yCOLS - begin_x
       になります。

       A   new   full-screen   window   is   created  by  calling
       newwin(0,0,0,0).
        newwin(0,0,0,0) を呼び出すと新しい全画面ウインドウを
       作成します。


delwin

       Calling delwin deletes the named window, freeing all memo-
       ry associated with it (it does not actually erase the win-
       dow's screen image).  Subwindows must  be  deleted  before
       the main window can be deleted.
        delwin を呼び出すと、指定されたウインドウを削除し、
       それに伴うすべてのメモリを解放します。(これは画面上の
       ウインドウ表示を実際には消去しません。)
        先に子ウインドウを削除しないと親ウインドウを削除できません。


mvwin

       Calling mvwin moves the window so that the upper left-hand
       corner is at position (x, y).  If the move would cause the
       window to be off the screen, it is an error and the window
       is not moved.  Moving subwindows is allowed, but should be
       avoided.
        mvwin を呼び出すと、左上隅が (x, y) の位置になるように
       ウインドウを移動します。
        移動によりウインドウが画面の外に出る場合、これはエラーとなり
       ウインドウは移動されません。
        子ウインドウの移動は可能ですが、避けるべきです。


subwin

       Calling subwin creates and returns a pointer to a new win-
       dow with the given number of lines, nlines,  and  columns,
       ncols.   The  window  is at position (begin_y, begin_x) on
       the screen.  The subwindow shares memory with  the  window
       orig,  so that changes made to one window will affect both
       windows.  When using this routine, it is necessary to call
       touchwin  or  touchline on orig before calling wrefresh on
       the subwindow.
        subwin を呼び出すと、与えられた行数 nlines と桁数 ncols を
       持つ新しい子ウインドウを作り、ポインタを返します。
        子ウインドウは画面上の (begin_y, begin_x) の位置になります。
        子ウインドウはウインドウ orig とメモリを共有しますので、
       一方のウインドウへの変更は両方のウインドウに影響します。
        このルーチンを使う場合、子ウインドウへの wrefresh を
       呼び出す前に、 orig に対して touchwin または touchline を
       呼び出す必要があります。


derwin

       Calling derwin is the same as calling subwin, except  that
       begin_y and begin_x are relative to the origin of the win-
       dow orig rather than the screen.  There is  no  difference
       between the subwindows and the derived windows.
        derwin を呼び出すことは、 subwin を呼び出すことと同じですが、
       begin_ybegin_x が画面ではなくウインドウ orig の原点に
       相対的な位置だということだけが異なっています。
        ( subwin で作成した) 子ウインドウと ( derwin で作成した) 
       派生ウインドウの間には何も違いはありません。

       Calling mvderwin moves a derived window (or subwindow) in-
       side its parent window.  The screen-relative parameters of
       the  window are not changed.  This routine is used to dis-
       play different parts of the  parent  window  at  the  same
       physical position on the screen.
        mvderwin を呼び出すと、派生ウインドウ (または子ウインドウ) 
       を親ウインドウの中で移動します。
        ウインドウの特性値で画面に相対的なものは変化しません。
        このルーチンは親ウインドウ内の異なる部分を画面上の
       同じ物理位置に表示するために使います。


dupwin

       Calling  dupwin  creates  an exact duplicate of the window
       win.
        dupwin を呼び出すと、ウインドウ win の完全な複製を作ります。


wsyncup

       Calling wsyncup touches all locations in ancestors of  win
       that  are changed in win.  If syncok is called with second
       argument TRUE then wsyncup is called automatically whenev-
       er there is a change in the window.
        wsyncup を呼び出すと、ウインドウ win の中で変化した 
       win の祖先ウインドウの中のすべての場所をタッチ 
       (変更されたとマーク) します。
        syncok を第 2 引数 TRUE とともに呼び出すと、ウインドウ内に
       変化があったときはいつでも自動的に wsyncup が呼び出されます。


wsyncdown

       The  wsyncdown  routine  touches each location in win that
       has been touched in any of  its  ancestor  windows.   This
       routine  is  called by wrefresh, so it should almost never
       be necessary to call it manually.
        wsyncdown ルーチンは、 win の祖先ウインドウのどれかの中で
       タッチされた win 内のすべての場所をタッチします。
        このルーチンは wrefresh から呼び出されるので、手動で実行する
       必要はほとんどないでしょう。


wcursyncup

       The routine wcursyncup updates the current cursor position
       of  all the ancestors of the window to reflect the current
       cursor position of the window.
        wcursyncup ルーチンは、すべての祖先ウインドウの
       現在カーソル位置を更新して、指定のウインドウの
       現在カーソル位置を反映させます。


RETURN VALUE 戻り値

       Routines that return an integer return the integer ERR up-
       on  failure  and OK (SVr4 only specifies "an integer value
       other than ERR") upon successful completion.
        整数を返すルーチンは、失敗した場合に整数 ERR を、
       正常終了の場合に OK ( SVr4 は「 ERR 以外の整数値」としか
       指定していません) を返します。

       Routines that return pointers return NULL on error.
        ポインタを返すルーチンは、エラーの場合に NULL を返します。

       X/Open defines no error conditions.  In  this  implementa-
       tion
        X/Open はエラーの条件を定義していません。この実装では

       delwin
            returns an error if the window pointer is null, or if
            the window is the parent of another window.
            ウインドウ・ポインタがヌルのとき、またはウインドウが
            他のウインドウの親であるときにエラーを返します。

       derwin
            returns an error if  the  parent  window  pointer  is
            null,  or  if  any  of its ordinates or dimensions is
            negative, or if the resulting window does not fit in-
            side the parent window.
            親ウインドウ・ポインタがヌルのとき、
            または座標 (訳注: 原文は縦座標) か寸法のいずれかが
            負のとき、または作成されるウインドウが親ウインドウの中に
            収まらないときにエラーを返します。

       dupwin
            returns an error if the window pointer is null.
            ウインドウ・ポインタがヌルのときにエラーを返します。

       (訳注: delwin つづき)
            This implementation also maintains a list of windows,
            and checks that the pointer passed to delwin  is  one
            that it created, returning an error if it was not..
            この実装はまた、ウインドウのリストを保持しており、
            delwin に渡されたポインタが作成されたものかどうかを調べ、
            そうでなかった場合にはエラーを返します。

       mvderwin
            returns an error if the window pointer is null, or if
            some part of the window would be placed off-screen.
            ウインドウ・ポインタがヌルのとき、またはウインドウの
            一部分が画面からはみ出すことになるときにエラーを返します。

       mvwin
            returns an error if the window pointer is null, or if
            the  window  is  really a pad, or if some part of the
            window would be placed off-screen.
            ウインドウ・ポインタがヌルのとき、またはウインドウが
            実際にはパッドのとき、またはウインドウの一部分が
            画面からはみ出すことになるときにエラーを返します。

       newwin
            will fail if either of  its  beginning  ordinates  is
            negative, or if either the number of lines or columns
            is negative.
            開始座標 (訳注: 原文は開始縦座標) が負のとき、
            または行数もしくは桁数が負のときに失敗します。

       syncok
            returns an error if the window pointer is null.
            ウインドウ・ポインタがヌルのときにエラーを返します。

       subwin
            returns an error if  the  parent  window  pointer  is
            null,  or  if  any  of its ordinates or dimensions is
            negative, or if the resulting window does not fit in-
            side the parent window.
            親ウインドウ・ポインタがヌルのとき、
            または座標 (訳注: 原文は縦座標) か寸法のいずれかが
            負のとき、または作成されるウインドウが親ウインドウの中に
            収まらないときにエラーを返します。

       The  functions which return a window pointer may also fail
       if there is insufficient memory for its  data  structures.
       Any  of  these  functions  will fail if the screen has not
       been initialized, i.e., with initscr or newterm.
        ウインドウ・ポインタを返す関数は、そのデータ構造のために
       十分なメモリがない場合にも失敗します。
        これらのどの関数も、 ( initscrnewterm によって) 
       画面が初期化されていないときには失敗します。


NOTES 注意

       If many small changes are made to the window, the  wsyncup
       option could degrade performance.
        ウインドウに小さな変更をたくさん行う場合、 
       wsyncup オプションは性能を低下させるかもしれません。

       Note that syncok may be a macro.
        syncok はマクロであるかもしれないことに注意してください。


BUGS バグ

       The  subwindow  functions (subwin, derwin, mvderwin, wsyn-
       cup, wsyncdown, wcursyncup, syncok) are flaky, incomplete-
       ly implemented, and not well tested.
        子ウインドウ関数群 (subwin, derwin, mvderwin, wsyncup, 
       wsyncdown, wcursyncup, syncok) は脆くて不完全な実装であり、
       十分にテストされていません。

       The  System  V  curses documentation is very unclear about
       what wsyncup and wsyncdown actually do.  It seems to imply
       that  they  are only supposed to touch exactly those lines
       that are affected by ancestor changes.  The language here,
       and  the  behavior  of  the curses implementation, is pat-
       terned on the XPG4 curses standard.  The weaker XPG4  spec
       may result in slower updates.
        System V curses の説明文書は wsyncupwsyncdown が
       実際に行うことについて非常に不透明です。
        祖先ウインドウが影響を与えたそれらの行のみを厳密に
       タッチすることになっていると暗示しているかのようです。
        ここの言葉づかいと curses の実装の挙動とが、 
       XPG4 curses standard の原型になっています。
        XPG4 の非力な仕様は更新速度の低下をもたらすかもしれません。


PORTABILITY 移植性

       The  XSI  Curses  standard,  Issue 4 describes these func-
       tions.
        これらの関数は XSI Curses standard, Issue 4 に
       記載されています。


SEE ALSO 関連項目

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



                                                        curs_window(3x)