curs_sp_funcs 3x

curs_sp_funcs(3x)                                     curs_sp_funcs(3x)




名前

       curs_sp_funcs - curses スクリーン・ポインタ拡張機能


書式

       #include <curses.h>

       int assume_default_colors_sp(SCREEN*, int, int);
       int baudrate_sp(SCREEN*);
       int beep_sp(SCREEN*);
       bool can_change_color_sp(SCREEN*);
       int cbreak_sp(SCREEN*);
       int color_content_sp(SCREEN*, short, short*, short*, short*);
       int curs_set_sp(SCREEN*, int);
       int define_key_sp(SCREEN*, const char *, int);
       int def_prog_mode_sp(SCREEN*);
       int def_shell_mode_sp(SCREEN*);
       int delay_output_sp(SCREEN*, int);
       int doupdate_sp(SCREEN*);
       int echo_sp(SCREEN*);
       int endwin_sp(SCREEN*);
       int erasechar_sp(SCREEN*);
       int filter_sp(SCREEN*);
       int flash_sp(SCREEN*);
       int flushinp_sp(SCREEN*);
       int get_escdelay_sp(SCREEN*);
       int getmouse_sp(SCREEN*, MEVENT*);
       WINDOW* getwin_sp(SCREEN*, FILE*);
       int halfdelay_sp(SCREEN*);
       bool has_colors_sp(SCREEN*);
       bool has_ic_sp(SCREEN*);
       bool has_il_sp(SCREEN*);
       int has_key_sp(SCREEN*, int);
       bool has_mouse_sp(SCREEN*);
       int init_color_sp(SCREEN*, short, short, short, short);
       int init_pair_sp(SCREEN*, short, short, short);
       int intrflush_sp(SCREEN*, WINDOW*, bool);
       bool isendwin_sp(SCREEN*);
       bool is_term_resized_sp(SCREEN*, int, int);
       char* keybound_sp(SCREEN*, int, int);
       int key_defined_sp(SCREEN*, const char *);
       NCURSES_CONST char * keyname_sp(SCREEN*, int);
       int keyok_sp(SCREEN*, int, bool);
       char killchar_sp(SCREEN*);
       int mcprint_sp(SCREEN*, char *, int);
       int mouseinterval_sp(SCREEN*, int);
       mmask_t mousemask_sp(SCREEN*, mmask_t, mmask_t *);
       int mvcur_sp(SCREEN*, int, int, int, int);
       int napms_sp(SCREEN*, int);
       WINDOW* newpad_sp(SCREEN*, int, int);
       SCREEN* new_prescr(void);
       SCREEN* newterm_sp(SCREEN*, NCURSES_CONST char *, FILE *, FILE *);
       WINDOW* newwin_sp(SCREEN*, int, int, int, int);
       int nl_sp(SCREEN*);
       int nocbreak_sp(SCREEN*);
       int noecho_sp(SCREEN*);
       int nofilter_sp(SCREEN*);
       int nonl_sp(SCREEN*);
       void noqiflush_sp(SCREEN*);
       int noraw_sp(SCREEN*);
       int pair_content_sp(SCREEN*, short, short*, short*);
       void qiflush_sp(SCREEN*);
       int raw_sp(SCREEN*);
       int reset_prog_mode_sp(SCREEN*);
       int reset_shell_mode_sp(SCREEN*);
       int resetty_sp(SCREEN*);
       int resize_term_sp(SCREEN*, int, int);
       int resizeterm_sp(SCREEN*, int, int);
       int restartterm_sp(SCREEN*, NCURSES_CONST char*, int, int *);
       int ripoffline_sp(SCREEN*, int, int (*)(WINDOW*, int));
       int savetty_sp(SCREEN*);
       int scr_init_sp(SCREEN*, const char *);
       int scr_restore_sp(SCREEN*, const char *);
       int scr_set_sp(SCREEN*, const char *);
       TERMINAL* set_curterm_sp(SCREEN*, TERMINAL*);
       int set_escdelay_sp(SCREEN*, int);
       int set_tabsize_sp(SCREEN*, int);
       int slk_attroff_sp(SCREEN*, const chtype);
       int slk_attron_sp(SCREEN*, const chtype);
       int slk_attr_set_sp(SCREEN*, const attr_t, short, void*);
       int slk_attrset_sp(SCREEN*, const chtype);
       int slk_attr_sp(SCREEN*);
       int slk_clear_sp(SCREEN*);
       int slk_color_sp(SCREEN*, short);
       int slk_init_sp(SCREEN*, int);
       int slk_label_sp(SCREEN*, int);
       int slk_noutrefresh_sp(SCREEN*);
       int slk_refresh_sp(SCREEN*);
       int slk_restore_sp(SCREEN*);
       int slk_set_sp(SCREEN*, int, const char *, int);
       int slk_touch_sp(SCREEN*);
       int start_color_sp(SCREEN*);
       attr_t term_attrs_sp(SCREEN*);
       chtype termattrs_sp(SCREEN*);
       char* termname_sp(SCREEN*);
       int typeahead_sp(SCREEN*, int);
       NCURSES_CONST char* unctrl_sp(SCREEN*, chtype);
       int ungetch_sp(SCREEN*, int);
       int ungetmouse_sp(SCREEN*,MEVENT *);
       int unget_wch_sp(SCREEN*, const wchar_t);
       int use_default_colors_sp(SCREEN*);
       void use_env_sp(SCREEN*, bool);
       int use_legacy_coding_sp(SCREEN*, int);
       int vid_attr_sp(SCREEN*, attr_t, short, void *);
       int vidattr_sp(SCREEN*, chtype);
       int vid_puts_sp(SCREEN*, attr_t, short, void *, NCURSES_SP_OUTC);
       int vidputs_sp(SCREEN*, chtype, NCURSES_SP_OUTC);
       wchar_t* wunctrl_sp(SCREEN*, cchar_t *);

       #include <form.h>

       int new_form_sp(SCREEN*, FIELD **);

       #include <menu.h>

       int new_menu_sp(SCREEN*, ITEM **);

       #include <panel.h>

       int ceiling_panel(SCREEN*);
       PANEL* ground_panel(SCREEN*);
       int update_panels_sp(SCREEN*);

       #include <term.h>

       int del_curterm_sp(SCREEN*, TERMINAL *);
       int putp_sp(SCREEN*, const char *);
       int tgetflag_sp(SCREEN*, char *, const char *);
       int tgetent_sp(SCREEN*, char *, const char *);
       int tgetnum_sp(SCREEN*, NCURSES_CONST char *);
       char* tgetstr_sp(SCREEN*, NCURSES_CONST char *, char **);
       int tigetflag_sp(SCREEN*, NCURSES_CONST char *);
       int tigetnum_sp(SCREEN*, NCURSES_CONST char *);
       char* tigetstr_sp(SCREEN*, NCURSES_CONST char *);
       int tputs_sp(SCREEN*, const char *, int, NCURSES_SP_OUTC);


説明

        ncurses は複数の画面(マルチ・スクリーン)を管理する能力を
       向上させる関数群を与えるように構成できます。
        この機能は ncurses がサポートするすべての構成に追加でき、
       既存のどのエントリーポイントの意味も変更することなく、
       新しいエントリーポイントを追加します。

       訳注: 導入には構成スクリプト configure の実行時に 
       --enable-sp-funcs オプションが必要です。
       詳細はパッケージ中のドキュメント INSTALL を参照してください。
       


拡張された関数

        大半の関数は既存の関数の新バージョンです。
        パラメータ・リストの先頭にパラメータが 1つ追加されています。
        それは SCREEN ポインタです。

        既存の関数はすべて、静的変数(static variable)である
       現在画面(current screen)を使用します。
        拡張関数は指定された画面を使用しますので、複数の画面を
       更新する際に変更する必要のある変数の数が減少します。


新しい関数

        新しい関数は次のとおりです。

       ceiling_panel
             指定の画面にある一番上のパネルへのポインタを返します。

       ground_panel
             指定の画面にある一番下のパネルへのポインタを返します。

       new_prescr
             新しい画面を作るとき、ライブラリは設定ずみの静的変数を
            使います。たとえば curs_util(3x) , curs_util(3x) 
            などです。(訳注: 原文通り)
             スクリーン・ポインタ拡張では、拡張されていないライブラリ
            より先に現在画面を作らなければならない場合があります。
             new_prescr 関数はこのような場合を扱うため、
            内部的に使われます。
             これはまた、アプリケーションがライブラリの初期化を
            カスタマイズするためのエントリーポイントを与えます。
             


注意

        この拡張でいくつかの新しい識別子が導入されました。

       NCURSES_SP_FUNCS
             これはライブラリのパッチ・レベル番号に設定されます。
             拡張が適用されているかどうか調べるときに便利なように、
            未拡張のライブラリではゼロ(0)になっています。

       NCURSES_SP_NAME
             この新しい関数群は、実際の実装を隠すマクロ
            NCURSES_SP_NAME を使って名付けられています。
             現在、これは未拡張の関数名の末尾に "_sp" を付加します。
             このマニュアル・ページには、拡張した関数の
            完全な名前の一覧を掲載しています。
             しかしこれらの関数の本来の使い方は、このマクロを用いて
            ライブラリの構成に合わせて名前の変換規則を変える可能性を
            残すようにすることです。

       NCURSES_SP_OUTC
            未拡張のライブラリが NCURSES_OUTC を使う場所で、
           スクリーン・ポインタ関数が使うための
           新しい関数ポインタ型です。

       NCURSES_OUTC
             関数が文字を出力ストリームに渡すところ、
            例えば curs_terminfo(3x) の場合に使う
            関数ポインタ型です。


移植性

        これらのルーチンは ncurses に固有です。
        Version 7, BSD, System V の実装ではサポートされていません。
        ncurses の拡張機能に依存するコードは、
       必ず NCURSES_SP_FUNCS で条件付けておくことを推奨します。


関連項目

       curses(3x), curs_opaque(3x), curs_threads(3x).



                                                      curs_sp_funcs(3x)