1curs_sp_funcs(3X)                                            curs_sp_funcs(3X)
2
3
4

NAME

6       curs_sp_funcs - curses screen-pointer extension
7

SYNOPSIS

9       #include <curses.h> #include <term.h>
10
11       int alloc_pair_sp(SCREEN*, int, int);
12       int assume_default_colors_sp(SCREEN*, int, int);
13       int baudrate_sp(SCREEN*);
14       int beep_sp(SCREEN*);
15       bool can_change_color_sp(SCREEN*);
16       int cbreak_sp(SCREEN*);
17       int color_content_sp(SCREEN*, short, short*, short*, short*);
18       int curs_set_sp(SCREEN*, int);
19       int define_key_sp(SCREEN*, const char *, int);
20       int def_prog_mode_sp(SCREEN*);
21       int def_shell_mode_sp(SCREEN*);
22       int delay_output_sp(SCREEN*, int);
23       int doupdate_sp(SCREEN*);
24       int echo_sp(SCREEN*);
25       int endwin_sp(SCREEN*);
26       char erasechar_sp(SCREEN*);
27       int extended_color_content_sp(SCREEN *, int, int *, int *, int *);
28       int extended_pair_content_sp(SCREEN*, int, int *, int *);
29       int extended_slk_color_sp(SCREEN*, int);
30       void filter_sp(SCREEN*);
31       int find_pair_sp(SCREEN*, int, int);
32       int free_pair_sp(SCREEN*, int);
33       int flash_sp(SCREEN*);
34       int flushinp_sp(SCREEN*);
35       int get_escdelay_sp(SCREEN*);
36       int getmouse_sp(SCREEN*, MEVENT*);
37       WINDOW* getwin_sp(SCREEN*, FILE*);
38       int halfdelay_sp(SCREEN*, int);
39       bool has_colors_sp(SCREEN*);
40       bool has_ic_sp(SCREEN*);
41       bool has_il_sp(SCREEN*);
42       int has_key_sp(SCREEN*, int);
43       bool has_mouse_sp(SCREEN*);
44       int init_color_sp(SCREEN*, short, short, short, short);
45       int init_extended_color_sp(SCREEN*, int, int, int, int);
46       int init_extended_pair_sp(SCREEN*, int, int, int);
47       int init_pair_sp(SCREEN*, short, short, short);
48       int intrflush_sp(SCREEN*, WINDOW*, bool);
49       bool isendwin_sp(SCREEN*);
50       bool is_term_resized_sp(SCREEN*, int, int);
51       char* keybound_sp(SCREEN*, int, int);
52       int key_defined_sp(SCREEN*, const char *);
53       NCURSES_CONST char * keyname_sp(SCREEN*, int);
54       int keyok_sp(SCREEN*, int, bool);
55       char killchar_sp(SCREEN*);
56       char* longname_sp(SCREEN*);
57       int mcprint_sp(SCREEN*, char *, int);
58       int mouseinterval_sp(SCREEN*, int);
59       mmask_t mousemask_sp(SCREEN*, mmask_t, mmask_t *);
60       int mvcur_sp(SCREEN*, int, int, int, int);
61       int napms_sp(SCREEN*, int);
62       WINDOW* newpad_sp(SCREEN*, int, int);
63       SCREEN* new_prescr(void);
64       SCREEN* newterm_sp(SCREEN*, const char *, FILE *, FILE *);
65       WINDOW* newwin_sp(SCREEN*, int, int, int, int);
66       int nl_sp(SCREEN*);
67       int nocbreak_sp(SCREEN*);
68       int noecho_sp(SCREEN*);
69       void nofilter_sp(SCREEN*);
70       int nonl_sp(SCREEN*);
71       void noqiflush_sp(SCREEN*);
72       int noraw_sp(SCREEN*);
73       int pair_content_sp(SCREEN*, short, short*, short*);
74       void qiflush_sp(SCREEN*);
75       int raw_sp(SCREEN*);
76       int reset_prog_mode_sp(SCREEN*);
77       int reset_shell_mode_sp(SCREEN*);
78       int resetty_sp(SCREEN*);
79       int resize_term_sp(SCREEN*, int, int);
80       int resizeterm_sp(SCREEN*, int, int);
81       int restartterm_sp(SCREEN*, NCURSES_CONST char*, int, int *);
82       int ripoffline_sp(SCREEN*, int, int (*)(WINDOW*, int));
83       int savetty_sp(SCREEN*);
84       int scr_init_sp(SCREEN*, const char *);
85       int scr_restore_sp(SCREEN*, const char *);
86       int scr_set_sp(SCREEN*, const char *);
87       TERMINAL* set_curterm_sp(SCREEN*, TERMINAL*);
88       int set_escdelay_sp(SCREEN*, int);
89       int set_tabsize_sp(SCREEN*, int);
90       int slk_attroff_sp(SCREEN*, const chtype);
91       int slk_attron_sp(SCREEN*, const chtype);
92       int slk_attr_set_sp(SCREEN*, const attr_t, short, void*);
93       int slk_attrset_sp(SCREEN*, const chtype);
94       attr_t slk_attr_sp(SCREEN*);
95       int slk_clear_sp(SCREEN*);
96       int slk_color_sp(SCREEN*, short);
97       int slk_init_sp(SCREEN*, int);
98       char* slk_label_sp(SCREEN*, int);
99       int slk_noutrefresh_sp(SCREEN*);
100       int slk_refresh_sp(SCREEN*);
101       int slk_restore_sp(SCREEN*);
102       int slk_set_sp(SCREEN*, int, const char *, int);
103       int slk_touch_sp(SCREEN*);
104       int start_color_sp(SCREEN*);
105       attr_t term_attrs_sp(SCREEN*);
106       chtype termattrs_sp(SCREEN*);
107       char* termname_sp(SCREEN*);
108       int typeahead_sp(SCREEN*, int);
109       NCURSES_CONST char* unctrl_sp(SCREEN*, chtype);
110       int ungetch_sp(SCREEN*, int);
111       int ungetmouse_sp(SCREEN*,MEVENT *);
112       int unget_wch_sp(SCREEN*, const wchar_t);
113       int use_default_colors_sp(SCREEN*);
114       void use_env_sp(SCREEN*, bool);
115       void use_tioctl_sp(SCREEN *, bool);
116       int use_legacy_coding_sp(SCREEN*, int);
117       int vid_attr_sp(SCREEN*, attr_t, short, void *);
118       int vidattr_sp(SCREEN*, chtype);
119       int vid_puts_sp(SCREEN*, attr_t, short, void *, NCURSES_SP_OUTC);
120       int vidputs_sp(SCREEN*, chtype, NCURSES_SP_OUTC);
121       wchar_t* wunctrl_sp(SCREEN*, cchar_t *);
122
123       #include <form.h>
124
125       FORM* new_form_sp(SCREEN*, FIELD **);
126
127       #include <menu.h>
128
129       MENU* new_menu_sp(SCREEN*, ITEM **);
130
131       #include <panel.h>
132
133       PANEL* ceiling_panel(SCREEN*);
134       PANEL* ground_panel(SCREEN*);
135       void update_panels_sp(SCREEN*);
136
137       #include <term.h>
138
139       int del_curterm_sp(SCREEN*, TERMINAL *);
140       int putp_sp(SCREEN*, const char *);
141       int tgetflag_sp(SCREEN*, const char *);
142       int tgetent_sp(SCREEN*, char *, const char *);
143       int tgetnum_sp(SCREEN*, const char *);
144       char* tgetstr_sp(SCREEN*, const char *, char **);
145       int tigetflag_sp(SCREEN*, const char *);
146       int tigetnum_sp(SCREEN*, const char *);
147       char* tigetstr_sp(SCREEN*, const char *);
148       int tputs_sp(SCREEN*, const char *, int, NCURSES_SP_OUTC);
149

DESCRIPTION

151       This  implementation  can  be  configured to provide a set of functions
152       which improve the ability to manage multiple screens.  This feature can
153       be added to any of the configurations supported by ncurses; it adds new
154       entrypoints without changing the meaning of any of the existing ones.
155
156   IMPROVED FUNCTIONS
157       Most of the functions are new versions of existing functions.  A param‐
158       eter  is  added  at  the  front  of the parameter list.  It is a SCREEN
159       pointer.
160
161       The existing functions all use the current screen, which  is  a  static
162       variable.  The extended functions use the specified screen, thereby re‐
163       ducing the number of variables which must be modified to update  multi‐
164       ple screens.
165
166   NEW FUNCTIONS
167       Here are the new functions:
168
169       ceiling_panel
170            this returns a pointer to the topmost panel in the given screen.
171
172       ground_panel
173            this returns a pointer to the lowest panel in the given screen.
174
175       new_prescr
176            when  creating  a  new  screen,  the library uses static variables
177            which have been preset, e.g.,  by  use_env(3X),  filter(3X),  etc.
178            With  the  screen-pointer extension, there are situations where it
179            must create a current screen before the unextended  library  does.
180            The  new_prescr function is used internally to handle these cases.
181            It is also provided as an entrypoint to allow applications to cus‐
182            tomize the library initialization.
183

NOTES

185       This extension introduces some new names:
186
187       NCURSES_SP_FUNCS
188            This  is set to the library patch-level number.  In the unextended
189            library, this is zero (0), to make it useful for checking  if  the
190            extension is provided.
191
192       NCURSES_SP_NAME
193            The new functions are named using the macro NCURSES_SP_NAME, which
194            hides the actual implementation.  Currently this adds a “_sp” suf‐
195            fix  to the name of the unextended function.  This manual page in‐
196            dexes the extensions showing the full name.   However  the  proper
197            usage of these functions uses the macro, to provide for the possi‐
198            bility of changing the naming convention for specific library con‐
199            figurations.
200
201       NCURSES_SP_OUTC
202            This  is  a new function-pointer type to use in the screen-pointer
203            functions where an NCURSES_OUTC is used in the unextended library.
204
205       NCURSES_OUTC
206            This is a function-pointer type used for the cases where  a  func‐
207            tion passes characters to the output stream, e.g., vidputs(3X).
208

PORTABILITY

210       These  routines  are  specific  to ncurses.  They were not supported on
211       Version 7, BSD or System V implementations.  It is recommended that any
212       code  depending  on  ncurses  extensions  be  conditioned  using NCURS‐
213       ES_SP_FUNCS.
214

SEE ALSO

216       curses(3X), curs_opaque(3X), curs_threads(3X).
217
218
219
220                                                             curs_sp_funcs(3X)
Impressum