ncurses 6.2 - patch 20200425
[ncurses.git] / doc / html / man / curs_sp_funcs.3x.html
1 <!-- 
2   ****************************************************************************
3   * Copyright 2018-2019,2020 Thomas E. Dickey                                *
4   * Copyright 2010-2015,2017 Free Software Foundation, Inc.                  *
5   *                                                                          *
6   * Permission is hereby granted, free of charge, to any person obtaining a  *
7   * copy of this software and associated documentation files (the            *
8   * "Software"), to deal in the Software without restriction, including      *
9   * without limitation the rights to use, copy, modify, merge, publish,      *
10   * distribute, distribute with modifications, sublicense, and/or sell       *
11   * copies of the Software, and to permit persons to whom the Software is    *
12   * furnished to do so, subject to the following conditions:                 *
13   *                                                                          *
14   * The above copyright notice and this permission notice shall be included  *
15   * in all copies or substantial portions of the Software.                   *
16   *                                                                          *
17   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
18   * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
19   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
20   * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
21   * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
22   * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
23   * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
24   *                                                                          *
25   * Except as contained in this notice, the name(s) of the above copyright   *
26   * holders shall not be used in advertising or otherwise to promote the     *
27   * sale, use or other dealings in this Software without prior written       *
28   * authorization.                                                           *
29   ****************************************************************************
30   * @Id: curs_sp_funcs.3x,v 1.18 2020/02/02 23:34:34 tom Exp @
31   * ***************************************************************************
32   * ***************************************************************************
33   * ***************************************************************************
34 -->
35 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
36 <HTML>
37 <HEAD>
38 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
39 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
40 <TITLE>curs_sp_funcs 3x</TITLE>
41 <link rel="author" href="mailto:bug-ncurses@gnu.org">
42 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
43 </HEAD>
44 <BODY>
45 <H1 class="no-header">curs_sp_funcs 3x</H1>
46 <PRE>
47 <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>                                            <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
48
49
50
51
52 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
53        curs_sp_funcs - <STRONG>curses</STRONG> screen-pointer extension
54
55
56 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
57        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG> <STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
58
59        <STRONG>int</STRONG> <STRONG>alloc_pair_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
60        <STRONG>int</STRONG> <STRONG>assume_default_colors_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
61        <STRONG>int</STRONG> <STRONG>baudrate_sp(SCREEN*);</STRONG>
62        <STRONG>int</STRONG> <STRONG>beep_sp(SCREEN*);</STRONG>
63        <STRONG>bool</STRONG> <STRONG>can_change_color_sp(SCREEN*);</STRONG>
64        <STRONG>int</STRONG> <STRONG>cbreak_sp(SCREEN*);</STRONG>
65        <STRONG>int</STRONG> <STRONG>color_content_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short*,</STRONG> <STRONG>short*,</STRONG> <STRONG>short*);</STRONG>
66        <STRONG>int</STRONG> <STRONG>curs_set_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
67        <STRONG>int</STRONG> <STRONG>define_key_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int);</STRONG>
68        <STRONG>int</STRONG> <STRONG>def_prog_mode_sp(SCREEN*);</STRONG>
69        <STRONG>int</STRONG> <STRONG>def_shell_mode_sp(SCREEN*);</STRONG>
70        <STRONG>int</STRONG> <STRONG>delay_output_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
71        <STRONG>int</STRONG> <STRONG>doupdate_sp(SCREEN*);</STRONG>
72        <STRONG>int</STRONG> <STRONG>echo_sp(SCREEN*);</STRONG>
73        <STRONG>int</STRONG> <STRONG>endwin_sp(SCREEN*);</STRONG>
74        <STRONG>char</STRONG> <STRONG>erasechar_sp(SCREEN*);</STRONG>
75        <STRONG>int</STRONG> <STRONG>extended_color_content_sp(SCREEN</STRONG> <STRONG>*,</STRONG> <STRONG>int,</STRONG> <STRONG>int</STRONG> <STRONG>*,</STRONG> <STRONG>int</STRONG> <STRONG>*,</STRONG> <STRONG>int</STRONG> <STRONG>*);</STRONG>
76        <STRONG>int</STRONG> <STRONG>extended_pair_content_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int</STRONG> <STRONG>*,</STRONG> <STRONG>int</STRONG> <STRONG>*);</STRONG>
77        <STRONG>int</STRONG> <STRONG>extended_slk_color_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
78        <STRONG>void</STRONG> <STRONG>filter_sp(SCREEN*);</STRONG>
79        <STRONG>int</STRONG> <STRONG>find_pair_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
80        <STRONG>int</STRONG> <STRONG>free_pair_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
81        <STRONG>int</STRONG> <STRONG>flash_sp(SCREEN*);</STRONG>
82        <STRONG>int</STRONG> <STRONG>flushinp_sp(SCREEN*);</STRONG>
83        <STRONG>int</STRONG> <STRONG>get_escdelay_sp(SCREEN*);</STRONG>
84        <STRONG>int</STRONG> <STRONG>getmouse_sp(SCREEN*,</STRONG> <STRONG>MEVENT*);</STRONG>
85        <STRONG>WINDOW*</STRONG> <STRONG>getwin_sp(SCREEN*,</STRONG> <STRONG>FILE*);</STRONG>
86        <STRONG>int</STRONG> <STRONG>halfdelay_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
87        <STRONG>bool</STRONG> <STRONG>has_colors_sp(SCREEN*);</STRONG>
88        <STRONG>bool</STRONG> <STRONG>has_ic_sp(SCREEN*);</STRONG>
89        <STRONG>bool</STRONG> <STRONG>has_il_sp(SCREEN*);</STRONG>
90        <STRONG>int</STRONG> <STRONG>has_key_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
91        <STRONG>bool</STRONG> <STRONG>has_mouse_sp(SCREEN*);</STRONG>
92        <STRONG>int</STRONG> <STRONG>init_color_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short,</STRONG> <STRONG>short,</STRONG> <STRONG>short);</STRONG>
93        <STRONG>int</STRONG> <STRONG>init_extended_color_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
94        <STRONG>int</STRONG> <STRONG>init_extended_pair_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
95        <STRONG>int</STRONG> <STRONG>init_pair_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short,</STRONG> <STRONG>short);</STRONG>
96        <STRONG>int</STRONG> <STRONG>intrflush_sp(SCREEN*,</STRONG> <STRONG>WINDOW*,</STRONG> <STRONG>bool);</STRONG>
97        <STRONG>bool</STRONG> <STRONG>isendwin_sp(SCREEN*);</STRONG>
98        <STRONG>bool</STRONG> <STRONG>is_term_resized_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
99        <STRONG>char*</STRONG> <STRONG>keybound_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
100        <STRONG>int</STRONG> <STRONG>key_defined_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
101        <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keyname_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
102        <STRONG>int</STRONG> <STRONG>keyok_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>bool);</STRONG>
103        <STRONG>char</STRONG> <STRONG>killchar_sp(SCREEN*);</STRONG>
104        <STRONG>char*</STRONG> <STRONG>longname_sp(SCREEN*);</STRONG>
105        <STRONG>int</STRONG> <STRONG>mcprint_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int);</STRONG>
106        <STRONG>int</STRONG> <STRONG>mouseinterval_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
107        <STRONG>mmask_t</STRONG> <STRONG>mousemask_sp(SCREEN*,</STRONG> <STRONG>mmask_t,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*);</STRONG>
108        <STRONG>int</STRONG> <STRONG>mvcur_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
109        <STRONG>int</STRONG> <STRONG>napms_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
110        <STRONG>WINDOW*</STRONG> <STRONG>newpad_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
111        <STRONG>SCREEN*</STRONG> <STRONG>new_prescr(void);</STRONG>
112        <STRONG>SCREEN*</STRONG> <STRONG>newterm_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>FILE</STRONG> <STRONG>*,</STRONG> <STRONG>FILE</STRONG> <STRONG>*);</STRONG>
113        <STRONG>WINDOW*</STRONG> <STRONG>newwin_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
114        <STRONG>int</STRONG> <STRONG>nl_sp(SCREEN*);</STRONG>
115        <STRONG>int</STRONG> <STRONG>nocbreak_sp(SCREEN*);</STRONG>
116        <STRONG>int</STRONG> <STRONG>noecho_sp(SCREEN*);</STRONG>
117        <STRONG>void</STRONG> <STRONG>nofilter_sp(SCREEN*);</STRONG>
118        <STRONG>int</STRONG> <STRONG>nonl_sp(SCREEN*);</STRONG>
119        <STRONG>void</STRONG> <STRONG>noqiflush_sp(SCREEN*);</STRONG>
120        <STRONG>int</STRONG> <STRONG>noraw_sp(SCREEN*);</STRONG>
121        <STRONG>int</STRONG> <STRONG>pair_content_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short*,</STRONG> <STRONG>short*);</STRONG>
122        <STRONG>void</STRONG> <STRONG>qiflush_sp(SCREEN*);</STRONG>
123        <STRONG>int</STRONG> <STRONG>raw_sp(SCREEN*);</STRONG>
124        <STRONG>int</STRONG> <STRONG>reset_prog_mode_sp(SCREEN*);</STRONG>
125        <STRONG>int</STRONG> <STRONG>reset_shell_mode_sp(SCREEN*);</STRONG>
126        <STRONG>int</STRONG> <STRONG>resetty_sp(SCREEN*);</STRONG>
127        <STRONG>int</STRONG> <STRONG>resize_term_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
128        <STRONG>int</STRONG> <STRONG>resizeterm_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
129        <STRONG>int</STRONG> <STRONG>restartterm_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char*,</STRONG> <STRONG>int,</STRONG> <STRONG>int</STRONG> <STRONG>*);</STRONG>
130        <STRONG>int</STRONG> <STRONG>ripoffline_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int</STRONG> <STRONG>(*)(WINDOW*,</STRONG> <STRONG>int));</STRONG>
131        <STRONG>int</STRONG> <STRONG>savetty_sp(SCREEN*);</STRONG>
132        <STRONG>int</STRONG> <STRONG>scr_init_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
133        <STRONG>int</STRONG> <STRONG>scr_restore_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
134        <STRONG>int</STRONG> <STRONG>scr_set_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
135        <STRONG>TERMINAL*</STRONG> <STRONG>set_curterm_sp(SCREEN*,</STRONG> <STRONG>TERMINAL*);</STRONG>
136        <STRONG>int</STRONG> <STRONG>set_escdelay_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
137        <STRONG>int</STRONG> <STRONG>set_tabsize_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
138        <STRONG>int</STRONG> <STRONG>slk_attroff_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>chtype);</STRONG>
139        <STRONG>int</STRONG> <STRONG>slk_attron_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>chtype);</STRONG>
140        <STRONG>int</STRONG> <STRONG>slk_attr_set_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>attr_t,</STRONG> <STRONG>short,</STRONG> <STRONG>void*);</STRONG>
141        <STRONG>int</STRONG> <STRONG>slk_attrset_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>chtype);</STRONG>
142        <STRONG>attr_t</STRONG> <STRONG>slk_attr_sp(SCREEN*);</STRONG>
143        <STRONG>int</STRONG> <STRONG>slk_clear_sp(SCREEN*);</STRONG>
144        <STRONG>int</STRONG> <STRONG>slk_color_sp(SCREEN*,</STRONG> <STRONG>short);</STRONG>
145        <STRONG>int</STRONG> <STRONG>slk_init_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
146        <STRONG>char*</STRONG> <STRONG>slk_label_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
147        <STRONG>int</STRONG> <STRONG>slk_noutrefresh_sp(SCREEN*);</STRONG>
148        <STRONG>int</STRONG> <STRONG>slk_refresh_sp(SCREEN*);</STRONG>
149        <STRONG>int</STRONG> <STRONG>slk_restore_sp(SCREEN*);</STRONG>
150        <STRONG>int</STRONG> <STRONG>slk_set_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int);</STRONG>
151        <STRONG>int</STRONG> <STRONG>slk_touch_sp(SCREEN*);</STRONG>
152        <STRONG>int</STRONG> <STRONG>start_color_sp(SCREEN*);</STRONG>
153        <STRONG>attr_t</STRONG> <STRONG>term_attrs_sp(SCREEN*);</STRONG>
154        <STRONG>chtype</STRONG> <STRONG>termattrs_sp(SCREEN*);</STRONG>
155        <STRONG>char*</STRONG> <STRONG>termname_sp(SCREEN*);</STRONG>
156        <STRONG>int</STRONG> <STRONG>typeahead_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
157        <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG> <STRONG>unctrl_sp(SCREEN*,</STRONG> <STRONG>chtype);</STRONG>
158        <STRONG>int</STRONG> <STRONG>ungetch_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
159        <STRONG>int</STRONG> <STRONG>ungetmouse_sp(SCREEN*,MEVENT</STRONG> <STRONG>*);</STRONG>
160        <STRONG>int</STRONG> <STRONG>unget_wch_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t);</STRONG>
161        <STRONG>int</STRONG> <STRONG>use_default_colors_sp(SCREEN*);</STRONG>
162        <STRONG>void</STRONG> <STRONG>use_env_sp(SCREEN*,</STRONG> <STRONG>bool);</STRONG>
163        <STRONG>void</STRONG> <STRONG>use_tioctl_sp(SCREEN</STRONG> <STRONG>*,</STRONG> <STRONG>bool);</STRONG>
164        <STRONG>int</STRONG> <STRONG>use_legacy_coding_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
165        <STRONG>int</STRONG> <STRONG>vid_attr_sp(SCREEN*,</STRONG> <STRONG>attr_t,</STRONG> <STRONG>short,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG>
166        <STRONG>int</STRONG> <STRONG>vidattr_sp(SCREEN*,</STRONG> <STRONG>chtype);</STRONG>
167        <STRONG>int</STRONG> <STRONG>vid_puts_sp(SCREEN*,</STRONG> <STRONG>attr_t,</STRONG> <STRONG>short,</STRONG> <STRONG>void</STRONG> <STRONG>*,</STRONG> <STRONG>NCURSES_SP_OUTC);</STRONG>
168        <STRONG>int</STRONG> <STRONG>vidputs_sp(SCREEN*,</STRONG> <STRONG>chtype,</STRONG> <STRONG>NCURSES_SP_OUTC);</STRONG>
169        <STRONG>wchar_t*</STRONG> <STRONG>wunctrl_sp(SCREEN*,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*);</STRONG>
170
171        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
172
173        <STRONG>FORM*</STRONG> <STRONG>new_form_sp(SCREEN*,</STRONG> <STRONG>FIELD</STRONG> <STRONG>**);</STRONG>
174
175        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
176
177        <STRONG>MENU*</STRONG> <STRONG>new_menu_sp(SCREEN*,</STRONG> <STRONG>ITEM</STRONG> <STRONG>**);</STRONG>
178
179        <STRONG>#include</STRONG> <STRONG>&lt;panel.h&gt;</STRONG>
180
181        <STRONG>PANEL*</STRONG> <STRONG>ceiling_panel(SCREEN*);</STRONG>
182        <STRONG>PANEL*</STRONG> <STRONG>ground_panel(SCREEN*);</STRONG>
183        <STRONG>void</STRONG> <STRONG>update_panels_sp(SCREEN*);</STRONG>
184
185        <STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
186
187        <STRONG>int</STRONG> <STRONG>del_curterm_sp(SCREEN*,</STRONG> <STRONG>TERMINAL</STRONG> <STRONG>*);</STRONG>
188        <STRONG>int</STRONG> <STRONG>putp_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
189        <STRONG>int</STRONG> <STRONG>tgetflag_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
190        <STRONG>int</STRONG> <STRONG>tgetent_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
191        <STRONG>int</STRONG> <STRONG>tgetnum_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
192        <STRONG>char*</STRONG> <STRONG>tgetstr_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>char</STRONG> <STRONG>**);</STRONG>
193        <STRONG>int</STRONG> <STRONG>tigetflag_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
194        <STRONG>int</STRONG> <STRONG>tigetnum_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
195        <STRONG>char*</STRONG> <STRONG>tigetstr_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
196        <STRONG>int</STRONG> <STRONG>tputs_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int,</STRONG> <STRONG>NCURSES_SP_OUTC);</STRONG>
197
198
199 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
200        This  implementation  can  be  configured to provide a set of functions
201        which improve the ability to manage multiple screens.  This feature can
202        be added to any of the configurations supported by ncurses; it adds new
203        entrypoints without changing the meaning of any of the existing ones.
204
205
206 </PRE><H3><a name="h3-IMPROVED-FUNCTIONS">IMPROVED FUNCTIONS</a></H3><PRE>
207        Most of the functions are new versions of existing functions.  A param-
208        eter  is  added  at  the  front  of the parameter list.  It is a SCREEN
209        pointer.
210
211        The existing functions all use the current screen, which  is  a  static
212        variable.  The extended functions use the specified screen, thereby re-
213        ducing the number of variables which must be modified to update  multi-
214        ple screens.
215
216
217 </PRE><H3><a name="h3-NEW-FUNCTIONS">NEW FUNCTIONS</a></H3><PRE>
218        Here are the new functions:
219
220        ceiling_panel
221             this returns a pointer to the topmost panel in the given screen.
222
223        ground_panel
224             this returns a pointer to the lowest panel in the given screen.
225
226        new_prescr
227             when  creating  a  new  screen,  the library uses static variables
228             which have been preset, e.g.,  by  <STRONG><A HREF="curs_util.3x.html">use_env(3x)</A></STRONG>,  <STRONG><A HREF="curs_util.3x.html">filter(3x)</A></STRONG>,  etc.
229             With  the  screen-pointer extension, there are situations where it
230             must create a current screen before the unextended  library  does.
231             The  <STRONG>new_prescr</STRONG> function is used internally to handle these cases.
232             It is also provided as an entrypoint to allow applications to cus-
233             tomize the library initialization.
234
235
236 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
237        This extension introduces some new names:
238
239        NCURSES_SP_FUNCS
240             This  is set to the library patch-level number.  In the unextended
241             library, this is zero (0), to make it useful for checking  if  the
242             extension is provided.
243
244        NCURSES_SP_NAME
245             The new functions are named using the macro <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>NAME</EM>, which
246             hides the actual implementation.  Currently this adds a "_sp" suf-
247             fix  to the name of the unextended function.  This manual page in-
248             dexes the extensions showing the full name.   However  the  proper
249             usage of these functions uses the macro, to provide for the possi-
250             bility of changing the naming convention for specific library con-
251             figurations.
252
253        NCURSES_SP_OUTC
254             This  is  a new function-pointer type to use in the screen-pointer
255             functions where an <EM>NCURSES</EM><STRONG>_</STRONG><EM>OUTC</EM> is used in the unextended library.
256
257        NCURSES_OUTC
258             This is a function-pointer type used for the cases where  a  func-
259             tion passes characters to the output stream, e.g., <STRONG><A HREF="curs_terminfo.3x.html">vidputs(3x)</A></STRONG>.
260
261
262 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
263        These  routines  are  specific  to ncurses.  They were not supported on
264        Version 7, BSD or System V implementations.  It is recommended that any
265        code  depending  on  ncurses  extensions  be  conditioned  using <EM>NCURS-</EM>
266        <EM>ES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>FUNCS</EM>.
267
268
269 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
270        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>.
271
272
273
274                                                              <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
275 </PRE>
276 <div class="nav">
277 <ul>
278 <li><a href="#h2-NAME">NAME</a></li>
279 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
280 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
281 <ul>
282 <li><a href="#h3-IMPROVED-FUNCTIONS">IMPROVED FUNCTIONS</a></li>
283 <li><a href="#h3-NEW-FUNCTIONS">NEW FUNCTIONS</a></li>
284 </ul>
285 </li>
286 <li><a href="#h2-NOTES">NOTES</a></li>
287 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
288 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
289 </ul>
290 </div>
291 </BODY>
292 </HTML>