389 lines
16 KiB
Plaintext
389 lines
16 KiB
Plaintext
.\"***************************************************************************
|
|
.\" Copyright 2018-2020,2021 Thomas E. Dickey *
|
|
.\" Copyright 2010-2015,2017 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_sp_funcs.3x,v 1.24 2021/01/02 23:53:22 tom Exp $
|
|
.TH curs_sp_funcs 3X ""
|
|
.ie \n(.g .ds `` \(lq
|
|
.el .ds `` ``
|
|
.ie \n(.g .ds '' \(rq
|
|
.el .ds '' ''
|
|
.na
|
|
.hy 0
|
|
.SH NAME
|
|
curs_sp_funcs \- \fBcurses\fR screen-pointer extension
|
|
.ad
|
|
.hy
|
|
.SH SYNOPSIS
|
|
\fB#include <curses.h>\fR
|
|
.nf
|
|
.sp
|
|
\fBint alloc_pair_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIfg\fP\fB, int \fP\fIbg\fP\fB);\fR
|
|
.br
|
|
\fBint assume_default_colors_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIfg\fP\fB, int \fP\fIbg\fP\fB);\fR
|
|
.br
|
|
\fBint baudrate_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint beep_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBbool can_change_color_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint cbreak_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint color_content_sp(SCREEN* \fP\fIsp\fP\fB, short \fP\fIcolor\fP\fB, short* \fP\fIr\fP\fB, short* \fP\fIg\fP\fB, short* \fP\fIb\fP\fB);\fR
|
|
.br
|
|
\fBint curs_set_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIvisibility\fP);\fR
|
|
.br
|
|
\fBint def_prog_mode_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint def_shell_mode_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.sp
|
|
\fBint define_key_sp(SCREEN* \fP\fIsp\fP\fB, const char * \fP\fIdefinition\fP\fB, int \fP\fIkeycode\fP\fB);\fR
|
|
.br
|
|
\fBint delay_output_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIms\fP\fB);\fR
|
|
.br
|
|
\fBint doupdate_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint echo_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint endwin_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBchar erasechar_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint extended_color_content_sp(SCREEN * \fP\fIsp\fP\fB, int \fP\fIcolor\fP\fB, int * \fP\fIr\fP\fB, int * \fP\fIg\fP\fB, int * \fP\fIb\fP\fB);\fR
|
|
.br
|
|
\fBint extended_pair_content_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIpair\fP\fB, int * \fP\fIfg\fP\fB, int * \fP\fIbg\fP\fB);\fR
|
|
.br
|
|
\fBint extended_slk_color_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIpair\fP\fB);\fR
|
|
.br
|
|
\fBvoid filter_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.sp
|
|
\fBint find_pair_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIfg\fP\fB, int \fP\fIbg\fP\fB);\fR
|
|
.br
|
|
\fBint flash_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint flushinp_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint free_pair_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIpair\fP\fB);\fR
|
|
.br
|
|
\fBint get_escdelay_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint getmouse_sp(SCREEN* \fP\fIsp\fP\fB, MEVENT* \fP\fBevent\fP\fB);\fR
|
|
.br
|
|
\fBWINDOW* getwin_sp(SCREEN* \fP\fIsp\fP\fB, FILE* \fP\fIfilep\fP\fB);\fR
|
|
.br
|
|
\fBint halfdelay_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fItenths\fP\fB);\fR
|
|
.br
|
|
\fBbool has_colors_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBbool has_ic_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.sp
|
|
\fBbool has_il_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint has_key_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIch\fP\fB);\fR
|
|
.br
|
|
\fBbool has_mouse_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint init_color_sp(SCREEN* \fP\fIsp\fP\fB, short \fP\fIcolor\fP\fB, short \fP\fIr\fP\fB, short \fP\fIg\fP\fB, short \fP\fIb\fP\fB);\fR
|
|
.br
|
|
\fBint init_extended_color_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIcolor\fP\fB, int \fP\fIr\fP\fB, int \fP\fIg\fP\fB, int \fP\fIb\fP\fB);\fR
|
|
.br
|
|
\fBint init_extended_pair_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIpair\fP\fB, int \fP\fIfg\fP\fB, int \fP\fIbg\fP\fB);\fR
|
|
.br
|
|
\fBint init_pair_sp(SCREEN* \fP\fIsp\fP\fB, short \fP\fIpair\fP\fB, short \fP\fIfg\fP\fB, short \fP\fIbg\fP\fB);\fR
|
|
.br
|
|
\fBint intrflush_sp(SCREEN* \fP\fIsp\fP\fB, WINDOW* \fP\fIwin\fP\fB, bool \fP\fIbf\fP\fB);\fR
|
|
.br
|
|
\fBbool is_term_resized_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIlines\fP\fB, int \fP\fIcolumns\fP\fB);\fR
|
|
.br
|
|
\fBbool isendwin_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.sp
|
|
\fBint key_defined_sp(SCREEN* \fP\fIsp\fP\fB, const char *\fP\fIdefinition\fP\fB);\fR
|
|
.br
|
|
\fBchar* keybound_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIkeycode\fP\fB, int \fP\fIcount\fP\fB);\fR
|
|
.br
|
|
\fBNCURSES_CONST char * keyname_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIc\fP\fB);\fR
|
|
.br
|
|
\fBint keyok_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIkeycode\fP\fB, bool \fP\fIenable\fP\fB);\fR
|
|
.br
|
|
\fBchar killchar_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBchar* longname_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint mcprint_sp(SCREEN* \fP\fIsp\fP\fB, char *\fP\fIdata\fP\fB, int \fP\fIlen\fP\fB);\fR
|
|
.br
|
|
\fBint mouseinterval_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIerval\fP\fB);\fR
|
|
.br
|
|
\fBmmask_t mousemask_sp(SCREEN* \fP\fIsp\fP\fB, mmask_t \fP\fInewmask\fP\fB, mmask_t *\fP\fIoldmask\fP\fB);\fR
|
|
.br
|
|
\fBint mvcur_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIoldrow\fP\fB, int \fP\fIoldcol\fP\fB, int \fP\fInewrow\fP\fB, int \fP\fInewcol\fP\fB);\fR
|
|
.sp
|
|
\fBint napms_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIms\fP\fB);\fR
|
|
.br
|
|
\fBWINDOW* newpad_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fInrows\fP\fB, int \fP\fIncols\fP\fB);\fR
|
|
.br
|
|
\fBSCREEN* new_prescr(void);\fR
|
|
.br
|
|
\fBSCREEN* newterm_sp(SCREEN* \fP\fIsp\fP\fB, const char *\fP\fItype\fP\fB, FILE *\fP\fIoutfd\fP\fB, FILE *\fP\fIinfd\fP\fB);\fR
|
|
.br
|
|
\fBWINDOW* newwin_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fInlines\fP\fB, int \fP\fIncols\fP\fB, int \fP\fIbegin_y\fP\fB, int \fP\fIbegin_x\fP\fB);\fR
|
|
.br
|
|
\fBint nl_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint nocbreak_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint noecho_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBvoid nofilter_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint nonl_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.sp
|
|
\fBvoid noqiflush_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint noraw_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint pair_content_sp(SCREEN* \fP\fIsp\fP\fB, short \fP\fIpair\fP\fB, short* \fP\fIfg\fP\fB, short* \fP\fIbg\fP\fB);\fR
|
|
.br
|
|
\fBvoid qiflush_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint raw_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint reset_prog_mode_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBvoid reset_color_pairs_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint reset_shell_mode_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint resetty_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint resize_term_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIlines\fP\fB, int \fP\fIcolumns\fP\fB);\fR
|
|
.sp
|
|
\fBint resizeterm_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIlines\fP\fB, int \fP\fIcolumns\fP\fB);\fR
|
|
.br
|
|
\fBint ripoffline_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIline\fP\fB, int (*\fP\fIinit\fP\fB)(WINDOW* \fP\fIwin\fP\fB, int \fP\fIfmt\fP\fB));\fR
|
|
.br
|
|
\fBint savetty_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint scr_init_sp(SCREEN* \fP\fIsp\fP\fB, const char *\fP\fIfilename\fP\fB);\fR
|
|
.br
|
|
\fBint scr_restore_sp(SCREEN* \fP\fIsp\fP\fB, const char *\fP\fIfilename\fP\fB);\fR
|
|
.br
|
|
\fBint scr_set_sp(SCREEN* \fP\fIsp\fP\fB, const char *\fP\fIfilename\fP\fB);\fR
|
|
.br
|
|
\fBint set_escdelay_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIms\fP\fB);\fR
|
|
.br
|
|
\fBint set_tabsize_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIcols\fP\fB);\fR
|
|
.br
|
|
\fBint slk_attr_set_sp(SCREEN* \fP\fIsp\fP\fB, const attr_t \fP\fIattrs\fP\fB, short \fP\fIpair\fP\fB, void*\fP\fIopts\fP\fB);\fR
|
|
.sp
|
|
\fBint slk_attrset_sp(SCREEN* \fP\fIsp\fP\fB, const chtype \fP\fIa\fP\fB);\fR
|
|
.br
|
|
\fBint slk_attroff_sp(SCREEN* \fP\fIsp\fP\fB, const chtype \fP\fIa\fP\fB);\fR
|
|
.br
|
|
\fBint slk_attron_sp(SCREEN* \fP\fIsp\fP\fB, const chtype \fP\fIa\fP\fB);\fR
|
|
.br
|
|
\fBattr_t slk_attr_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint slk_clear_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint slk_color_sp(SCREEN* \fP\fIsp\fP\fB, short \fP\fIpair\fP\fB);\fR
|
|
.br
|
|
\fBint slk_init_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIfmt\fP\fB);\fR
|
|
.br
|
|
\fBchar* slk_label_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIlabnum\fP\fB);\fR
|
|
.br
|
|
\fBint slk_noutrefresh_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint slk_refresh_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.sp
|
|
\fBint slk_restore_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint slk_set_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIlabnum\fP\fB, const char * \fP\fIlabel\fP\fB, int \fP\fIfmt\fP\fB);\fR
|
|
.br
|
|
\fBint slk_touch_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint start_color_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBattr_t term_attrs_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBchtype termattrs_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBchar* termname_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBint typeahead_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIfd\fP\fB);\fR
|
|
.br
|
|
\fBint unget_wch_sp(SCREEN* \fP\fIsp\fP\fB, const wchar_t \fP\fIwch\fP\fB);\fR
|
|
.br
|
|
\fBint ungetch_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIch\fP\fB);\fR
|
|
.sp
|
|
\fBint ungetmouse_sp(SCREEN* \fP\fIsp\fP\fB,MEVENT * \fP\fBevent\fP\fB);\fR
|
|
.br
|
|
\fBint use_default_colors_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBvoid use_env_sp(SCREEN* \fP\fIsp\fP\fB, bool \fP\fIbf\fP\fB);\fR
|
|
.br
|
|
\fBint use_legacy_coding_sp(SCREEN* \fP\fIsp\fP\fB, int \fP\fIlevel\fP\fB);\fR
|
|
.br
|
|
\fBvoid use_tioctl_sp(SCREEN *\fP\fIsp\fP\fB, bool \fP\fIbf\fP\fB);\fR
|
|
.br
|
|
\fBint vid_attr_sp(SCREEN* \fP\fIsp\fP\fB, attr_t \fP\fIattrs\fP\fB, short \fP\fIpair\fP\fB, void * \fP\fIopts\fP\fB);\fR
|
|
.br
|
|
\fBint vid_puts_sp(SCREEN* \fP\fIsp\fP\fB, attr_t \fP\fIattrs\fP\fB, short \fP\fIpair\fP\fB, void * \fP\fIopts\fP\fB, NCURSES_SP_OUTC \fP\fIputc\fP\fB);\fR
|
|
.br
|
|
\fBint vidattr_sp(SCREEN* \fP\fIsp\fP\fB, chtype \fP\fIattrs\fP\fB);\fR
|
|
.br
|
|
\fBint vidputs_sp(SCREEN* \fP\fIsp\fP\fB, chtype \fP\fIattrs\fP\fB, NCURSES_SP_OUTC \fP\fIputc\fP\fB);\fR
|
|
.br
|
|
\fBwchar_t* wunctrl_sp(SCREEN* \fP\fIsp\fP\fB, cchar_t *\fP\fIch\fP\fB);\fR
|
|
.sp
|
|
\fB#include <form.h>\fR
|
|
.sp
|
|
\fBFORM* new_form_sp(SCREEN* \fP\fIsp\fP\fB, FIELD **\fP\fIfields\fP\fB);\fR
|
|
.sp
|
|
\fB#include <menu.h>\fR
|
|
.sp
|
|
\fBMENU* new_menu_sp(SCREEN* \fP\fIsp\fP\fB, ITEM **\fP\fIitems\fP\fB);\fR
|
|
.sp
|
|
\fB#include <panel.h>\fR
|
|
.sp
|
|
\fBPANEL* ceiling_panel(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBPANEL* ground_panel(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.br
|
|
\fBvoid update_panels_sp(SCREEN* \fP\fIsp\fP\fB);\fR
|
|
.sp
|
|
\fB#include <term.h>\fR
|
|
.sp
|
|
\fBint del_curterm_sp(SCREEN* \fP\fIsp\fP\fB, TERMINAL *\fP\fIoterm\fP\fB);\fR
|
|
.br
|
|
\fBint putp_sp(SCREEN* \fP\fIsp\fP\fB, const char *\fP\fIstr\fP\fB);\fR
|
|
.br
|
|
\fBint restartterm_sp(SCREEN* \fP\fIsp\fP\fB, NCURSES_CONST char*\fP\fIterm\fP\fB, int \fP\fIfiledes\fP\fB, int *\fP\fIerrret\fP\fB);\fR
|
|
.br
|
|
\fBTERMINAL* set_curterm_sp(SCREEN* \fP\fIsp\fP\fB, TERMINAL*\fP\fInterm\fP\fB);\fR
|
|
.br
|
|
\fBint tgetent_sp(SCREEN* \fP\fIsp\fP\fB, char *\fP\fIbp\fP\fB, const char *\fP\fIname\fP\fB);\fR
|
|
.br
|
|
\fBint tgetflag_sp(SCREEN* \fP\fIsp\fP\fB, const char *\fP\fIcapname\fP\fB);\fR
|
|
.br
|
|
\fBint tgetnum_sp(SCREEN* \fP\fIsp\fP\fB, const char *\fP\fIcapname\fP\fB);\fR
|
|
.br
|
|
\fBchar* tgetstr_sp(SCREEN* \fP\fIsp\fP\fB, const char *\fP\fIcapname\fP\fB, char **\fP\fIarea\fP\fB);\fR
|
|
.br
|
|
\fBchar* tgoto_sp(SCREEN* \fP\fIsp\fP\fB, const char *\fP\fIcapname\fP\fB, int \fP\fIcol\fP\fB, int \fP\fIrow\fP\fB);\fR
|
|
.br
|
|
\fBint tigetflag_sp(SCREEN* \fP\fIsp\fP\fB, const char *\fP\fIcapname\fP\fB);\fR
|
|
.br
|
|
\fBint tigetnum_sp(SCREEN* \fP\fIsp\fP\fB, const char *\fP\fIcapname\fP\fB);\fR
|
|
.br
|
|
\fBchar* tigetstr_sp(SCREEN* \fP\fIsp\fP\fB, const char *\fP\fIcapname\fP\fB);\fR
|
|
.br
|
|
/* may instead use 9 long parameters */
|
|
.br
|
|
\fBchar* tparm_sp(SCREEN* \fP\fIsp\fP\fB, const char *\fP\fIstr\fP\fB, ...);\fR
|
|
.br
|
|
\fBint tputs_sp(SCREEN* \fP\fIsp\fP\fB, const char *\fP\fIstr\fP\fB, int \fP\fIaffcnt\fP\fB, NCURSES_SP_OUTC \fP\fIputc\fP\fB);\fR
|
|
.sp
|
|
\fB#include <unctrl.h>\fR
|
|
.sp
|
|
\fBNCURSES_CONST char* unctrl_sp(SCREEN* \fP\fIsp\fP\fB, chtype \fP\fIc\fP\fB);\fR
|
|
.ad
|
|
.br
|
|
.SH DESCRIPTION
|
|
This implementation can be configured to provide a set of functions which
|
|
improve the ability to manage multiple screens.
|
|
This feature can be added to any of the configurations supported by ncurses;
|
|
it adds new entrypoints
|
|
without changing the meaning of any of the existing ones.
|
|
.PP
|
|
.\" ***************************************************************************
|
|
.SS IMPROVED FUNCTIONS
|
|
Most of the functions are new versions of existing functions.
|
|
A parameter is added at the front of the parameter list.
|
|
It is a SCREEN pointer.
|
|
.PP
|
|
The existing functions all use the current screen,
|
|
which is a static variable.
|
|
The extended functions use the specified screen,
|
|
thereby reducing the number of variables which must be modified
|
|
to update multiple screens.
|
|
.\" ***************************************************************************
|
|
.SS NEW FUNCTIONS
|
|
Here are the new functions:
|
|
.TP 5
|
|
ceiling_panel
|
|
this returns a pointer to the topmost panel in the given screen.
|
|
.TP 5
|
|
ground_panel
|
|
this returns a pointer to the lowest panel in the given screen.
|
|
.TP 5
|
|
new_prescr
|
|
when creating a new screen, the library uses static variables which
|
|
have been preset, e.g., by \fBuse_env\fP(3X), \fBfilter\fP(3X), etc.
|
|
With the screen-pointer extension,
|
|
there are situations where it must create a current screen before
|
|
the unextended library does.
|
|
The \fBnew_prescr\fP function is used internally to handle these cases.
|
|
It is also provided as an entrypoint to allow applications to customize
|
|
the library initialization.
|
|
.\" ***************************************************************************
|
|
.SH NOTES
|
|
This extension introduces some new names:
|
|
.TP 5
|
|
NCURSES_SP_FUNCS
|
|
This is set to the library patch-level number.
|
|
In the unextended library, this is zero (0),
|
|
to make it useful for checking if the extension is provided.
|
|
.TP 5
|
|
NCURSES_SP_NAME
|
|
The new functions are named using the macro \fINCURSES_SP_NAME\fP,
|
|
which hides the actual implementation.
|
|
Currently this adds a \*(``_sp\*('' suffix to the name of the unextended function.
|
|
This manual page indexes the extensions showing the full name.
|
|
However the proper usage of these functions uses the macro,
|
|
to provide for the possibility of changing the naming convention
|
|
for specific library configurations.
|
|
.TP 5
|
|
NCURSES_SP_OUTC
|
|
This is a new function-pointer type to use in the screen-pointer functions
|
|
where an \fINCURSES_OUTC\fP is used in the unextended library.
|
|
.TP 5
|
|
NCURSES_OUTC
|
|
This is a function-pointer type used for the cases where a function passes
|
|
characters to the output stream, e.g., \fBvidputs\fP(3X).
|
|
.PP
|
|
.SH PORTABILITY
|
|
These routines are specific to ncurses.
|
|
They were not supported on Version 7, BSD or System V implementations.
|
|
It is recommended that any code depending on ncurses extensions
|
|
be conditioned using \fINCURSES_SP_FUNCS\fP.
|
|
.SH SEE ALSO
|
|
\fBcurses\fR(3X),
|
|
\fBcurs_opaque\fR(3X),
|
|
\fBcurs_threads\fR(3X).
|