curs_scr_dump(3x) curs_scr_dump(3x)
scr_dump, scr_restore, scr_init, scr_set
- curses 画面をファイルから読み出す/ファイルに書き込む
#include <curses.h>
int scr_dump(const char *filename);
int scr_restore(const char *filename);
int scr_init(const char *filename);
int scr_set(const char *filename);
scr_dump ルーチンは、仮想画面の現在の内容をファイル
filename にダンプします。
scr_restore ルーチンは、filename の内容を仮想画面に
出力します。
ファイルは scr_dump で書き込まれていなければなりません。
画面は次の doupdate 呼び出しでダンプファイルの内容どおりに
復元されます。
scr_init ルーチンは、filename の内容を読み込み、それらを
用いて、端末が画面上に現在何を持っているかについての
curses のデータ構造を初期化します。
データが有効と判定されると curses は、画面をクリアして
初期状態から開始する代わりに、この情報に基づいて
画面の次の更新を行います。
scr_init は initscr、または endwin 呼び出しの後に
scr_dump を完了した他のプロセスと画面を共有するための
system 呼び出しの後に使います。
terminfo 機能項目 rmcup と nrrmc が存在する場合と、
前回の scr_dump 呼び出しの後に端末に書き込みがあった場合に
データは無効と判定されます。
scr_set ルーチンは scr_restore と scr_init を組み合わせた
ものです。
これは filename 内の情報が、画面に現在あるものは何か、そして
プログラムが画面に出力しようとしているものが何か、であることを
プログラムに知らせます。
これは画面を継承する機能と考えることもできます。
ウインドウをファイルから読み出す/ファイルに書き込むには、
getwin と putwin ルーチンを使ってください[curs_util(3x) 参照]。
すべてのルーチンは、失敗のとき整数 ERR を、成功のとき OK を
返します。
X/Open はエラーの条件を何も定義していません。
この実装では、各ルーチンはファイルがオープンできないときに
エラーを返します。
scr_init, scr_set, scr_restore はマクロであるかもしれない
ことに注意してください。
これらの関数は (const 修飾子を付けて) XSI Curses standard,
Issue 4 に記載されています。
SVr4 の説明書には単に、scr_init のもとで「tty の
タイムスタンプが古いとき」にもダンプデータが無効とみなす、
と書かれていますが、「古い」とはどういうことかを
定義していません。
curses(3x), curs_initscr(3x), curs_refresh(3x),
curs_util(3x), system(3)
curs_scr_dump(3x)