.\"*************************************************************************** .\" Copyright (c) 1998,2000 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * .\" "Software"), to deal in the Software without restriction, including * .\" without limitation the rights to use, copy, modify, merge, publish, * .\" distribute, distribute with modifications, sublicense, and/or sell * .\" copies of the Software, and to permit persons to whom the Software is * .\" furnished to do so, subject to the following conditions: * .\" * .\" The above copyright notice and this permission notice shall be included * .\" in all copies or substantial portions of the Software. * .\" * .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * .\" * .\" Except as contained in this notice, the name(s) of the above copyright * .\" holders shall not be used in advertising or otherwise to promote the * .\" sale, use or other dealings in this Software without prior written * .\" authorization. * .\"*************************************************************************** .\" .\" $Id: curs_window.3x,v 1.9 2000/07/01 20:08:37 tom Exp $ .\" Japanese Version Copyright (c) 2002 HAYASHI Kentaro .\" all rights reserved. .\" .TH curs_window 3 "" .SH 名前 \fBnewwin\fR, \fBdelwin\fR, \fBmvwin\fR, \fBsubwin\fR, \fBderwin\fR, \fBmvderwin\fR, \fBdupwin\fR, \fBwsyncup\fR, \fBsyncok\fR, \fBwcursyncup\fR, \fBwsyncdown\fR - \fBcurses\fR ウィンドウを生成。 .SH 書式 \fB#include \fR \fBWINDOW *newwin(int nlines, int ncols, int begin_y,\fR \fBint begin_x);\fR .br \fBint delwin(WINDOW *win);\fR .br \fBint mvwin(WINDOW *win, int y, int x);\fR .br \fBWINDOW *subwin(WINDOW *orig, int nlines, int ncols,\fR \fBint begin_y, int begin_x);\fR .br \fBWINDOW *derwin(WINDOW *orig, int nlines, int ncols,\fR \fBint begin_y, int begin_x);\fR .br \fBint mvderwin(WINDOW *win, int par_y, int par_x);\fR .br \fBWINDOW *dupwin(WINDOW *win);\fR .br \fBvoid wsyncup(WINDOW *win);\fR .br \fBint syncok(WINDOW *win, bool bf);\fR .br \fBvoid wcursyncup(WINDOW *win);\fR .br \fBvoid wsyncdown(WINDOW *win);\fR .br .SH 説明 \fBnewwin\fR関数を呼ぶと、与えられた列数と行数を持つ新規ウィンドウを生成し、 そのポインタを返す。 ウィンドウの左上の行が \fIbegin\fR_\fIy\fR, 列が \fIbegin\fR_\fIx\fRである。 もし、\fInlines\fR 又は \fIncols\fR のどちらかがゼロならば、 デフォルトとして \fBLINES -\fR \fIbegin\fR_\fIy\fR 及び \fBCOLS -\fIbegin\fR_\fIx\fR が設定される。 新規のフルスクリーンウィンドウは\fBnewwin(0,0,0,0)\fRを呼ぶことで生成される。 \fBdelwin\fR関数は既存のウィンドウを削除し、関連づけられているすべてのメモリを開放する。 メインウィンドウの削除前にサブウィンドウが削除されねばならない。 \fBmvwin\fR関数はウィンドウを動かし、その結果左上が (\fIx\fR, \fIy\fR)となる。 もしウィンドウを動かすことでスクリーンからはみだしてしまうならばエラーとなり、 ウィンドウは動かされない。 サブウィンドウを動かす事は許されてはいるが、避けるべきである。 \fBsubwin\fR関数は与えられた行数 \fInlines\fR、列数 \fIncols\fR の新規ウィンドウを生成し、そのポインタを返す。 ウィンドウはスクリーン上(\fIbegin\fR_\fIy\fR, \fIbegin\fR_\fIx\fR)にある。 (この位置はスクリーンに対して相対的なもので、 \fIorig\fR ウィンドウに対してではない。) サブウィンドウは \fIorig\fR ウィンドウの中心で生成され、一方のウィンドウへの変更は 双方のウィンドウに対して影響を及ぼす。 サブウィンドウは \fIorig\fR ウィンドウとメモリを共有する。 この関数を使用する際には、サブウィンドウ上で \fBwrefresh\fR を呼ぶ前に \fIorig\fR上で \fBtouchwin\fR 又は \fBtouchline\fR を呼ぶ必要がある。 \fBderwin\fR関数は \fBsubwin\fR を呼ぶのと同様であり、\fIbegin\fR_\fIy\fR と \fIbegin\fR_\fIx\fR がスクリーンではなく \fIorig\fR ウィンドウに相対的である点を除いては、サブウィンドウとの違いはない。 \fBmvderwin\fR関数は親ウィンドウ内部で得られるウィンドウ(あるいはサブウィンドウ)を動かす。 スクリーンに対して相対的であるウィンドウの引数は変更されない。 この関数はスクリーン上で物理的に同じ位置にある親ウィンドウとの差異点を描画する のに使用される。 \fBdupwin\fR関数は \fIwin\fR ウィンドウの正確な複製を生成する。 \fBwsyncup\fR関数は \fIwin\fR で変更がなされた \fIwin\fR の祖先のあらゆる位置情報 を更新する。 もし \fBsyncok\fR が第二引数として \fBTRUE\fR とともに呼び出されたらならば、 ウィンドウに変更があるときはいつでも \fBwsyncup\fR が自動的に呼ばれる。 \fBwsyncdown\fR関数は祖先のウィンドウの変更点を \fIwin\fR へと反映する。 この関数は \fBwrefresh\fR により呼び出され、手動で呼び出す必要はないはずだ。 \fBwcursyncup\fR関数はウィンドウのカーソル位置を反映するために、 全ての祖先のウィンドウのカーソル位置を更新する。 .SH 返り値 整数を返す関数は整数値 \fBERR\fR を失敗時点で返し、\fBOK\fR (SVr4 では "\fBERR\fR以外の整数値"と明記。)を成功時に返す。 .SH 注意 ウィンドウへ多くの些細な変更がなされた場合、\fBwsyncup\fR オプションはパフォーマンスの低下をもたらす。 \fBsyncok\fR がマクロかも知れないことに注意。 .SH バグ サブウィンドウ関数(\fIsubwin\fR, \fIderwin\fR, \fImvderwin\fR, \fBwsyncup\fR, \fBwsyncdown\fR, \fBwcursyncup\fR, \fBsyncok\fR)は 不完全な実装であり、充分にテストがなされていない。 System V curses 文書は \fBwsyncup\fR 及び \fBwsyncdown\fR の実際の振る舞いについて非常に不明瞭である。 これらは単に祖先の変更により影響を受ける行を更新することになっているようである。 ここでの言語、および \fBcurses\fR の実装の振る舞いは XPG4 curses 標準に準拠している。 XPG4 仕様は遅々としながらも更新されるかもしれない。 .SH 移植性 XSI Curses 準拠、第4章でこれらの関数について既述がある。 .SH 関連項目 \fBcurses\fR(3X), \fBcurs_refresh\fR(3X), \fBcurs_touch\fR(3X) .\"# .\"# The following sets edit modes for GNU EMACS .\"# Local Variables: .\"# mode:nroff .\"# fill-column:79 .\"# End: