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)