1curs_sp_funcs(3X) curs_sp_funcs(3X)
2
3
4
6 new_prescr - curses screen-pointer extension
7
9 #include <curses.h>
10
11 int assume_default_colors_sp(SCREEN*, int, int);
12 int baudrate_sp(SCREEN*);
13 int beep_sp(SCREEN*);
14 bool can_change_color_sp(SCREEN*);
15 int cbreak_sp(SCREEN*);
16 int color_content_sp(SCREEN*, short, short*, short*, short*);
17 int curs_set_sp(SCREEN*, int);
18 int define_key_sp(SCREEN*, const char *, int);
19 int def_prog_mode_sp(SCREEN*);
20 int def_shell_mode_sp(SCREEN*);
21 int delay_output_sp(SCREEN*, int);
22 int doupdate_sp(SCREEN*);
23 int echo_sp(SCREEN*);
24 int endwin_sp(SCREEN*);
25 int erasechar_sp(SCREEN*);
26 int filter_sp(SCREEN*);
27 int flash_sp(SCREEN*);
28 int flushinp_sp(SCREEN*);
29 int get_escdelay_sp(SCREEN*);
30 int getmouse_sp(SCREEN*, MEVENT*);
31 WINDOW* getwin_sp(SCREEN*, FILE*);
32 int halfdelay_sp(SCREEN*);
33 bool has_colors_sp(SCREEN*);
34 bool has_ic_sp(SCREEN*);
35 bool has_il_sp(SCREEN*);
36 int has_key_sp(SCREEN*, int);
37 bool has_mouse_sp(SCREEN*);
38 int init_color_sp(SCREEN*, short, short, short, short);
39 int init_pair_sp(SCREEN*, short, short, short);
40 int intrflush_sp(SCREEN*, WINDOW*, bool);
41 bool isendwin_sp(SCREEN*);
42 bool is_term_resized_sp(SCREEN*, int, int);
43 char* keybound_sp(SCREEN*, int, int);
44 int key_defined_sp(SCREEN*, const char *);
45 NCURSES_CONST char * keyname_sp(SCREEN*, int);
46 int keyok_sp(SCREEN*, int, bool);
47 char killchar_sp(SCREEN*);
48 int mcprint_sp(SCREEN*, char *, int);
49 int mouseinterval_sp(SCREEN*, int);
50 mmask_t mousemask_sp(SCREEN*, mmask_t, mmask_t *);
51 int mvcur_sp(SCREEN*, int, int, int, int);
52 int napms_sp(SCREEN*, int);
53 WINDOW* newpad_sp(SCREEN*, int, int);
54 SCREEN* new_prescr(void);
55 SCREEN* newterm_sp(SCREEN*, NCURSES_CONST char *, FILE *, FILE *);
56 WINDOW* newwin_sp(SCREEN*, int, int, int, int);
57 int nl_sp(SCREEN*);
58 int nocbreak_sp(SCREEN*);
59 int noecho_sp(SCREEN*);
60 int nofilter_sp(SCREEN*);
61 int nonl_sp(SCREEN*);
62 void noqiflush_sp(SCREEN*);
63 int noraw_sp(SCREEN*);
64 int pair_content_sp(SCREEN*, short, short*, short*);
65 void qiflush_sp(SCREEN*);
66 int raw_sp(SCREEN*);
67 int reset_prog_mode_sp(SCREEN*);
68 int reset_shell_mode_sp(SCREEN*);
69 int resetty_sp(SCREEN*);
70 int resize_term_sp(SCREEN*, int, int);
71 int resizeterm_sp(SCREEN*, int, int);
72 int restartterm_sp(SCREEN*, NCURSES_CONST char*, int, int *);
73 int ripoffline_sp(SCREEN*, int, int (*)(WINDOW*, int));
74 int savetty_sp(SCREEN*);
75 int scr_init_sp(SCREEN*, const char *);
76 int scr_restore_sp(SCREEN*, const char *);
77 int scr_set_sp(SCREEN*, const char *);
78 TERMINAL* set_curterm_sp(SCREEN*, TERMINAL*);
79 int set_escdelay_sp(SCREEN*, int);
80 int set_tabsize_sp(SCREEN*, int);
81 int slk_attroff_sp(SCREEN*, const chtype);
82 int slk_attron_sp(SCREEN*, const chtype);
83 int slk_attr_set_sp(SCREEN*, const attr_t, short, void*);
84 int slk_attrset_sp(SCREEN*, const chtype);
85 int slk_attr_sp((SCREEN*);
86 int slk_clear_sp(SCREEN*);
87 int slk_color_sp(SCREEN*, short);
88 int slk_init_sp(SCREEN*, int);
89 int slk_label_sp(SCREEN*, int);
90 int slk_noutrefresh_sp(SCREEN*);
91 int slk_refresh_sp(SCREEN*);
92 int slk_restore_sp(SCREEN*);
93 int slk_set_sp(SCREEN*, int, const char *, int);
94 int slk_touch_sp(SCREEN*);
95 int start_color_sp(SCREEN*);
96 attr_t term_attrs_sp(SCREEN*);
97 chtype termattrs_sp(SCREEN*);
98 char* termname_sp(SCREEN*);
99 int typeahead_sp(SCREEN*, int);
100 NCURSES_CONST char* unctrl_sp(SCREEN*, chtype);
101 int ungetch_sp(SCREEN*, int);
102 int ungetmouse_sp(SCREEN*,MEVENT *);
103 int unget_wch_sp(SCREEN*, const wchar_t);
104 int use_default_colors_sp(SCREEN*);
105 void use_env_sp(SCREEN*, bool);
106 int use_legacy_coding_sp(SCREEN*, int);
107 int vid_attr_sp(SCREEN*, attr_t, short, void *);
108 int vidattr_sp(SCREEN*, chtype);
109 int vid_puts_sp(SCREEN*, attr_t, short, void *, NCURSES_SP_OUTC);
110 int vidputs_sp(SCREEN*, chtype, NCURSES_SP_OUTC);
111 wchar_t* wunctrl_sp(SCREEN*, cchar_t *);
112
113 #include <form.h>
114
115 int new_form_sp(SCREEN*, FIELD **);
116
117 #include <menu.h>
118
119 int new_menu_sp(SCREEN*, ITEM **);
120
121 #include <panel.h>
122
123 int ceiling_panel(SCREEN*);
124 PANEL* ground_panel(SCREEN*);
125 int update_panels_sp(SCREEN*);
126
127 #include <term.h>
128
129 int del_curterm_sp(SCREEN*, TERMINAL *);
130 int putp_sp(SCREEN*, const char *);
131 int tgetflag_sp(SCREEN*, char *, const char *);
132 int tgetent_sp(SCREEN*, char *, const char *);
133 int tgetnum_sp(SCREEN*, NCURSES_CONST char *);
134 char* tgetstr_sp(SCREEN*, NCURSES_CONST char *, char **);
135 int tigetflag_sp(SCREEN*, NCURSES_CONST char *);
136 int tigetnum_sp(SCREEN*, NCURSES_CONST char *);
137 char* tigetstr_sp(SCREEN*, NCURSES_CONST char *);
138 int tputs_sp(SCREEN*, const char *, int, NCURSES_SP_OUTC);
139
141 This implementation can be configured to provide a set of functions
142 which improve the ability to manage multiple screens. This feature can
143 be added to any of the configurations supported by ncurses; it adds new
144 entrypoints without changing the meaning of any of the existing ones.
145
146 IMPROVED FUNCTIONS
147 Most of the functions are new versions of existing functions. A param‐
148 eter is added at the front of the parameter list. It is a SCREEN
149 pointer.
150
151 The existing functions all use the current screen, which is a static
152 variable. The extended functions use the specified screen, thereby re‐
153 ducing the number of variables which must be modified to update multi‐
154 ple screens.
155
156 NEW FUNCTIONS
157 Here are the new functions:
158
159 ceiling_panel
160 this returns a pointer to the topmost panel in the given screen.
161
162 ground_panel
163 this returns a pointer to the lowest panel in the given screen.
164
165 new_prescr
166 when creating a new screen, the library uses static variables
167 which have been preset, e.g., by use_env(3X), filter(3X), etc.
168 With the screen-pointer extension, there are situations where it
169 must create a current screen before the unextended library does.
170 The new_prescr function is used internally to handle these cases.
171 It is also provided as an entrypoint to allow applications to cus‐
172 tomize the library initialization.
173
175 This extension introduces some new names:
176
177 NCURSES_SP_FUNCS
178 This is set to the library patch-level number. In the unextended
179 library, this is zero (0), to make it useful for checking if the
180 extension is provided.
181
182 NCURSES_SP_NAME
183 The new functions are named using the macro NCURSES_SP_NAME, which
184 hides the actual implementation. Currently this adds a "_sp" suf‐
185 fix to the name of the unextended function. This manual page in‐
186 dexes the extensions showing the full name. However the proper
187 usage of these functions uses the macro, to provide for the possi‐
188 bility of changing the naming convention for specific library con‐
189 figurations.
190
191 NCURSES_SP_OUTC
192 This is a new function-pointer type to use in the screen-pointer
193 functions where an NCURSES_OUTC is used in the unextended library.
194
195 NCURSES_OUTC
196 This is a function-pointer type used for the cases where a func‐
197 tion passes characters to the output stream, e.g., vidputs(3X).
198
200 These routines are specific to ncurses. They were not supported on
201 Version 7, BSD or System V implementations. It is recommended that any
202 code depending on ncurses extensions be conditioned using NCURS‐
203 ES_SP_FUNCS.
204
206 curses(3X), curs_opaque(3X), curs_threads(3X).
207
208
209
210 curs_sp_funcs(3X)