php-doc-en/functions/ncurses.xml
Hartmut Holzgraefe 61a0ba8453 each parameter has a paramdef of its own
git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@66719 c90b9560-bf6c-de11-be94-00142212c4b1
2002-01-02 18:03:01 +00:00

2797 lines
80 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.7 $ -->
<reference id="ref.ncurses">
<title>Ncurses terminal screen control functions</title>
<titleabbrev>ncurses functions</titleabbrev>
<partintro>
<para>
ncurses (new curses) is a free software emulation of curses in
System V Rel 4.0 (and above). It uses terminfo format, supports pads, colors, multiple
highlights, form characters and function key mapping.
</para>
<para>
To get these functions to work, you have to compile the CGI
version of PHP with <option
role="configure">--with-ncurses</option>.
That requires the ncurses library to be installed. Download the
latest version from <ulink
url="&url.ncurses;">&url.ncurses;</ulink>,
compile and install it.
</para>
</partintro>
<refentry id="function.ncurses-can-change-color">
<refnamediv>
<refname>ncurses_can_change_color</refname>
<refpurpose>Check if we can change terminals colors </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_can_change_color</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
The function <function>ncurses_can_change_color</function> returns
&true; or &false;, depending on whether the terminal has color
capabilities and whether the programmer can change the colors.
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-cbreak">
<refnamediv>
<refname>ncurses_cbreak</refname>
<refpurpose>Switch of input buffering </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_cbreak</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_cbreak</function> disables line buffering and
character processing (interrupt and flow control characters are
unaffected), making characters typed by the user immediately
available to the program.
</para>
<para>
<function>ncurses_cbreak</function> returns &true; if any error
occured, otherwise &false;.
</para>
<para>
See also: <function>ncurses_nocbreak</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-clear">
<refnamediv>
<refname>ncurses_clear</refname>
<refpurpose>Clear screen </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_clear</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_clear</function> clears the screen completely
without setting blanks. Returns &false; on success, otherwise &true;.
</para>
<para>
Note: <function>ncurses_clear</function> clears the screen without
setting blanks, which have the current background rendition. To
clear screen with blanks, use <function>ncurses_erase</function>.
</para>
<para>
See also: <function>ncurses_erase</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-clrtobot">
<refnamediv>
<refname>ncurses_clrtobot</refname>
<refpurpose>Clear screen from current position to bottom </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_clrtobot</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_clrtobot</function> erases all lines from cursor
to end of screen and creates blanks. Blanks created by
<function>ncurses_clrtobot</function> have the current background
rendition. Returns &true; if any error occured, otherwise &false;.
</para>
<para>
See also: <function>ncurses_clear</function>,
<function>ncurses_clrtoeol</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-clrtoeol">
<refnamediv>
<refname>ncurses_clrtoeol</refname>
<refpurpose>Clear screen from current position to end of line </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_clrtoeol</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_clrtoeol</function> erases the current line from
cursor position to the end. Blanks created by
<function>ncurses_clrtoeol</function> have the current background
rendition. Returns &true; if any error occured, otherwise &false;.
</para>
<para>
See also: <function>ncurses_clear</function>,
<function>ncurses_clrtobot</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-def-prog-mode">
<refnamediv>
<refname>ncurses_def_prog_mode</refname>
<refpurpose>Saves terminals (program) mode</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_def_prog_mode</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_def_prog_mode</function> saves the current
terminal modes for program (in curses) for use by
<function>ncurses_reset_prog_mode</function>. Returns &false; on
success, otherwise &true;.
</para>
<para>
See also: <function>ncurses_reset_prog_mode</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-def-shell-mode">
<refnamediv>
<refname>ncurses_def_shell_mode</refname>
<refpurpose>Saves terminals (shell) mode</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_def_shell_mode</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_def_shell_mode</function> saves the current
terminal modes for shell (not in curses) for use by
<function>ncurses_reset_shell_mode</function>. Returns &false; on
success, otherwise &true;.
</para>
<para>
See also: <function>ncurses_reset_shell_mode</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-delch">
<refnamediv>
<refname>ncurses_delch</refname>
<refpurpose>Delete character at current position, move rest of line left </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_delch</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_delch</function> deletes the character under
the cursor. All characters to the right of the cursor on the same
line are moved to the left one position and the last character on
the line is filled with a blank. The cursor position does
not change. Returns &false; on success, otherwise &true;.
</para>
<para>
See also: <function>ncurses_deleteln</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-deleteln">
<refnamediv>
<refname>ncurses_deleteln</refname>
<refpurpose>Delete line at current position, move rest of screen up </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_deleteln</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_deleteln</function> deletes the current line under
cursorposition. All lines below the current line are moved up one
line.
The bottom line of window is cleared. Cursor position does not
change.
Returns &false; on success, otherwise &true;.
</para>
<para>
See also: <function>ncurses_delch</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-doupdate">
<refnamediv>
<refname>ncurses_doupdate</refname>
<refpurpose>Write all prepared refreshes to terminal </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_doupdate</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_doupdate()</function> compares the virtual screen to the
physical screen and updates the physical screen. This way is more
effective than using multiple refresh calls.
Returns &false; on success, &true; if any error occured.
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-echo">
<refnamediv>
<refname>ncurses_echo</refname>
<refpurpose>Activate keyboard input echo </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_echo</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_echo</function> enables echo mode.
All characters typed by user are echoed by
<function>ncurses_getch</function>.
Returns &false; on success, &true; if any error occured.
</para>
<para>
To disable echo mode use <function>ncurses_noecho</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-erase">
<refnamediv>
<refname>ncurses_erase</refname>
<refpurpose>Erase terminal screen </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_erase</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_erase</function> fills the terminal screen with
blanks. Created blanks have the current background rendition, set
by <function>ncurses_bkgd</function>.
Returns &false; on success, &true; if any error occured.
</para>
<para>
See also: <function>ncurses_bkgd</function>,
<function>ncurses_clear</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-erasechar">
<refnamediv>
<refname>ncurses_erasechar</refname>
<refpurpose>Returns current erase character </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>ncurses_erasechar</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_erasechar</function> returns the current erase
char character.
</para>
<para>
See also: <function>ncurses_killchar</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-flash">
<refnamediv>
<refname>ncurses_flash</refname>
<refpurpose>Flash terminal screen (visual bell) </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_flash</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_flash</function> flashes the screen, and if
its not possible, sends an audible alert (bell).
Returns &false; on success, otherwise &true;.
</para>
<para>
See also: <function>ncurses_beep</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-flushinp">
<refnamediv>
<refname>ncurses_flushinp</refname>
<refpurpose>Flush keyboard input buffer </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_flushinp</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
The <function>ncurses_flushinp</function> throws away any
typeahead that has been typed and has not yet been read by your
program.
Returns &false; on success, otherwise &true;.
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-has-colors">
<refnamediv>
<refname>ncurses_has_colors</refname>
<refpurpose>Check if terminal has colors </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_has_colors</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_has_colors</function> returns &true; or &false;
depending on whether the terminal has color capacitites.
</para>
<para>
See also: <function>ncurses_can_change_color</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-has-ic">
<refnamediv>
<refname>ncurses_has_ic</refname>
<refpurpose>Check for insert- and delete-capabilities </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_has_ic</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_has_ic</function> checks terminals insert- and
delete capabilitites. It returns &true; when terminal has
insert/delete-capabilities, otherwise &false;.
</para>
<para>
See also: <function>ncurses_has_il</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-has-il">
<refnamediv>
<refname>ncurses_has_il</refname>
<refpurpose>Check for line insert- and delete-capabilities </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_has_il</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_has_il</function> checks terminals insert- and
delete-line-capabilities. It returns &true; when terminal has
insert/delete-line capabilities, otherwise &false;
</para>
<para>
See also: <function>ncurses_has_ic</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-inch">
<refnamediv>
<refname>ncurses_inch</refname>
<refpurpose>Get character and attribute at current position </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>ncurses_inch</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_inch</function> returns the character from the
current position.
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-insertln">
<refnamediv>
<refname>ncurses_insertln</refname>
<refpurpose>Insert a line, move rest of screen down </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_insertln</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_insertln</function> inserts a new line above
the current line. The bottom line will be lost.
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-isendwin">
<refnamediv>
<refname>ncurses_isendwin</refname>
<refpurpose>Ncurses is in endwin mode, normal screen output may be performed </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_isendwin</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_isendwin</function> returns &true;, if
<function>ncurses_endwin</function> has been called without any
subsequent calls to <function>ncurses_wrefresh</function>,
otherwise &false;.
</para>
<para>
See also: <function>ncurses_endwin</function>
<function>ncurses_wrefresh()</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-killchar">
<refnamediv>
<refname>ncurses_killchar</refname>
<refpurpose>Returns current line kill character </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_killchar</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_killchar</function> returns the current line
kill character.
</para>
<para>
See also: <function>ncurses_erasechar</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-nl">
<refnamediv>
<refname>ncurses_nl</refname>
<refpurpose>Translate newline and carriage return / line feed </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_nl</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-nocbreak">
<refnamediv>
<refname>ncurses_nocbreak</refname>
<refpurpose>Switch terminal to cooked mode </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_nocbreak</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_nocbreak</function> routine returns terminal to
normal (cooked) mode. Initially the terminal may or may not in
cbreak mode as the mode is inherited. Therefore a program should
call <function>ncurses_cbreak</function> and
<function>ncurses_nocbreak</function> explicitly.
Returns &true; if any error occured, otherwise &false;.
</para>
<para>
See also: <function>ncurses_cbreak</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-noecho">
<refnamediv>
<refname>ncurses_noecho</refname>
<refpurpose>Switch off keyboard input echo </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_noecho</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_noecho</function> prevents echoing of user
typed characters.
Returns &true; if any error occured, otherwise &false;.
</para>
<para>
See also: <function>ncurses_echo</function>,
<function>ncurses_getch</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-nonl">
<refnamediv>
<refname>ncurses_nonl</refname>
<refpurpose>Do not translate newline and carriage return / line feed </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_nonl</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-noraw">
<refnamediv>
<refname>ncurses_noraw</refname>
<refpurpose>Switch terminal out of raw mode </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_noraw</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_noraw</function> switches the terminal out of raw
mode. Raw mode is similar to cbreak mode, in that characters
typed are immediately passed through to the user program. The
differences that are that in raw mode, the interrupt, quit,
suspend and flow control characters are all passed through
uninterpreted, instead of generating a signal.
Returns &true; if any error occured, otherwise &false;.
</para>
<para>
See also: <function>ncurses_raw</function>,
<function>ncurses_cbreak</function>,
<function>ncurses_nocbreak</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-raw">
<refnamediv>
<refname>ncurses_raw</refname>
<refpurpose>Switch terminal into raw mode </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_raw</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_raw</function> places the terminal in raw
mode. Raw mode is similar to cbreak mode, in that characters
typed are immediately passed through to the user program. The
differences that are that in raw mode, the interrupt, quit,
suspend and flow control characters are all passed through
uninterpreted, instead of generating a signal.
Returns &true; if any error occured, otherwise &false;.
</para>
<para>
See also: <function>ncurses_noraw</function>,
<function>ncurses_cbreak</function>,
<function>ncurses_nocbreak</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-resetty">
<refnamediv>
<refname>ncurses_resetty</refname>
<refpurpose>Restores saved terminal state </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_resetty</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
Function <function>ncurses_resetty</function> restores the
terminal state, which was previously saved by calling
<function>ncurses_savetty</function>.
This function always returns &false;.
</para>
<para>
See also: <function>ncurses_savetty</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-savetty">
<refnamediv>
<refname>ncurses_savetty</refname>
<refpurpose>Saves terminal state </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_savetty</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
Function <function>ncurses_savetty</function> saves the current
terminal state. The saved terminal state can be restored with
function <function>ncurses_resetty</function>.
<function>ncurses_savetty</function> always returns &false;.
</para>
<para>
See also: <function>ncurses_resetty</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-slk-init">
<refnamediv>
<refname>ncurses_slk_init</refname>
<refpurpose>Initializes soft label key functions</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_slk_init</function></funcdef>
<paramdef>int <parameter>format</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
Funtion <function>ncurses_slk_init</function> must be called
before <function>ncurses_initscr</function> or
<function>ncurses_newterm</function> is called. If
<function>ncurses_initscr</function> eventually uses a line from
stdscr to emulate the soft labels, then
<parameter>format</parameter> determines how the labels are
arranged of the screen. Setting <parameter>format</parameter> to
0 indicates a 3-2-3 arrangement of the labels, 1 indicates a 4-4
arrangement and 2 indicates the PC like 4-4-4 mode, but in
addition an index line will be created.
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-slk-attr">
<refnamediv>
<refname>ncurses_slk_attr</refname>
<refpurpose>Returns current soft label key attribute</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_slk_attr</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_slk_attr</function> returns the current soft
label key attribute. On error returns &true;, otherwise &false;.
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-slk-clear">
<refnamediv>
<refname>ncurses_slk_clear</refname>
<refpurpose>Clears soft labels from screen</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_slk_clear</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
The function <function>ncurses_slk_clear</function> clears soft
label keys from screen. Returns &true; on error, otherwise &false;.
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-slk-noutrefresh">
<refnamediv>
<refname>ncurses_slk_noutrefresh</refname>
<refpurpose>Copies soft label keys to virtual screen</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_slk_noutrefresh</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-slk-refresh">
<refnamediv>
<refname>ncurses_slk_refresh</refname>
<refpurpose>Copies soft label keys to screen</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_slk_refresh</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_slk_refresh</function> copies soft label keys
from virtual screen to physical screen. Returns &true; on error,
otherwise &false;.
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-slk-restore">
<refnamediv>
<refname>ncurses_slk_restore</refname>
<refpurpose>Restores soft label keys</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_slk_restore</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
The function <function>ncurses_slk_restore</function> restores
the soft label keys after <function>ncurses_slk_clear</function>
has been performed.
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-slk-touch">
<refnamediv>
<refname>ncurses_slk_touch</refname>
<refpurpose>Fources output when ncurses_slk_noutrefresh is performed</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_slk_touch</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
The <function>ncurses_slk_touch</function> function forces all the soft
labels to be output the next time a
<function>ncurses_slk_noutrefresh</function> is performed.
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-termattrs">
<refnamediv>
<refname>ncurses_termattrs</refname>
<refpurpose>Returns a logical OR of all attribute flags supported by terminal </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_termattrs</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-use-default-colors">
<refnamediv>
<refname>ncurses_use_default_colors</refname>
<refpurpose>Assign terminal default colors to color id -1 </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_use_default_colors</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-addch">
<refnamediv>
<refname>ncurses_addch</refname>
<refpurpose>Add character at current position and advance cursor </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_addch</function></funcdef>
<paramdef>int <parameter>ch</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-addchnstr">
<refnamediv>
<refname>ncurses_addchnstr</refname>
<refpurpose>Add attributed string with specified length at current position </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_addchnstr</function></funcdef>
<paramdef>string <parameter>s</parameter></paramdef>
<paramdef>int <parameter>n</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-addchstr">
<refnamediv>
<refname>ncurses_addchstr</refname>
<refpurpose>Add attributed string at current position </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_addchstr</function></funcdef>
<paramdef>string <parameter>s</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-addnstr">
<refnamediv>
<refname>ncurses_addnstr</refname>
<refpurpose>Add string with specified length at current position </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_addnstr</function></funcdef>
<paramdef>string <parameter>s</parameter></paramdef>
<paramdef>int <parameter>n</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-addstr">
<refnamediv>
<refname>ncurses_addstr</refname>
<refpurpose>Output text at current position </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_addstr</function></funcdef>
<paramdef>string <parameter>text</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-assume-default-colors">
<refnamediv>
<refname>ncurses_assume_default_colors</refname>
<refpurpose>Define default colors for color 0 </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_assume_default_colors</function></funcdef>
<paramdef>int <parameter>fg</parameter></paramdef>
<paramdef>int <parameter>bg</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-attroff">
<refnamediv>
<refname>ncurses_attroff</refname>
<refpurpose>Turn off the given attributes </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_attroff</function></funcdef>
<paramdef>int <parameter>attributes</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-attron">
<refnamediv>
<refname>ncurses_attron</refname>
<refpurpose>Turn on the given attributes </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_attron</function></funcdef>
<paramdef>int <parameter>attributes</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-attrset">
<refnamediv>
<refname>ncurses_attrset</refname>
<refpurpose>Set given attributes </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_attrset</function></funcdef>
<paramdef>int <parameter>attributes</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-baudrate">
<refnamediv>
<refname>ncurses_baudrate</refname>
<refpurpose>Returns baudrate of terminal </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_baudrate</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-beep">
<refnamediv>
<refname>ncurses_beep</refname>
<refpurpose>Let the terminal beep </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_beep</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_beep</function> sends an audlible alert (bell)
and if its not possible flashes the screen.
Returns &false; on success, otherwise &true;.
</para>
<para>
See also: <function>ncurses_flash</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-bkgd">
<refnamediv>
<refname>ncurses_bkgd</refname>
<refpurpose>Set background property for terminal screen </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_bkgd</function></funcdef>
<paramdef>int <parameter>attrchar</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-border">
<refnamediv>
<refname>ncurses_border</refname>
<refpurpose>Draw a border around the screen using attributed characters </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_border</function></funcdef>
<paramdef>int <parameter>left</parameter></paramdef>
<paramdef>int <parameter>right</parameter></paramdef>
<paramdef>int <parameter>top</parameter></paramdef>
<paramdef>int <parameter>bottom</parameter></paramdef>
<paramdef>int <parameter>tl_corner</parameter></paramdef>
<paramdef>int <parameter>tr_corner</parameter></paramdef>
<paramdef>int <parameter>bl_corner</parameter></paramdef>
<paramdef>int <parameter>br_corner</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-color-set">
<refnamediv>
<refname>ncurses_color_set</refname>
<refpurpose>Set fore- and background color </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_color_set</function></funcdef>
<paramdef>int <parameter>pair</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-curs-set">
<refnamediv>
<refname>ncurses_curs_set</refname>
<refpurpose>Set cursor state </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_curs_set</function></funcdef>
<paramdef>int <parameter>visibility</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-define-key">
<refnamediv>
<refname>ncurses_define_key</refname>
<refpurpose>Define a keycode </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_define_key</function></funcdef>
<paramdef>string <parameter>definition</parameter></paramdef>
<paramdef>int <parameter>keycode</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-delay-output">
<refnamediv>
<refname>ncurses_delay_output</refname>
<refpurpose>Delay output on terminal using padding characters </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_delay_output</function></funcdef>
<paramdef>int <parameter>milliseconds</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-delwin">
<refnamediv>
<refname>ncurses_delwin</refname>
<refpurpose>Delete a ncurses window </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_delwin</function></funcdef>
<paramdef>resource <parameter>window</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-echochar">
<refnamediv>
<refname>ncurses_echochar</refname>
<refpurpose>Single character output including refresh </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_echochar</function></funcdef>
<paramdef>int <parameter>character</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-end">
<refnamediv>
<refname>ncurses_end</refname>
<refpurpose>Stop using ncurses, clean up the screen </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_end</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-filter">
<refnamediv>
<refname>ncurses_filter</refname>
<refpurpose></refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_filter</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-getch">
<refnamediv>
<refname>ncurses_getch</refname>
<refpurpose>Read a character from keyboard </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_getch</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-halfdelay">
<refnamediv>
<refname>ncurses_halfdelay</refname>
<refpurpose>Put terminal into halfdelay mode </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_halfdelay</function></funcdef>
<paramdef>int <parameter>tenth</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-has-key">
<refnamediv>
<refname>ncurses_has_key</refname>
<refpurpose>Check for presence of a function key on terminal keyboard </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_has_key</function></funcdef>
<paramdef>int <parameter>keycode</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-hline">
<refnamediv>
<refname>ncurses_hline</refname>
<refpurpose>Draw a horizontal line at current position using an attributed character and max. n characters long </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_hline</function></funcdef>
<paramdef>int <parameter>charattr</parameter></paramdef>
<paramdef>int <parameter>n</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-init">
<refnamediv>
<refname>ncurses_init</refname>
<refpurpose>Initialize ncurses </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_init</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-init-color">
<refnamediv>
<refname>ncurses_init_color</refname>
<refpurpose>Set new RGB value for color </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_init_color</function></funcdef>
<paramdef>int <parameter>color</parameter></paramdef>
<paramdef>int <parameter>r</parameter></paramdef>
<paramdef>int <parameter>g</parameter></paramdef>
<paramdef>int <parameter>b</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-init-pair">
<refnamediv>
<refname>ncurses_init_pair</refname>
<refpurpose>Allocate a color pair </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_init_pair</function></funcdef>
<paramdef>int <parameter>pair</parameter></paramdef>
<paramdef>int <parameter>fg</parameter></paramdef>
<paramdef>int <parameter>bg</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-insch">
<refnamediv>
<refname>ncurses_insch</refname>
<refpurpose>Insert character moving rest of line including character at current position </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_insch</function></funcdef>
<paramdef>int <parameter>character</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-insdelln">
<refnamediv>
<refname>ncurses_insdelln</refname>
<refpurpose>Insert lines before current line scrolling down (negative numbers delete and scroll up) </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_insdelln</function></funcdef>
<paramdef>int <parameter>count</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-insstr">
<refnamediv>
<refname>ncurses_insstr</refname>
<refpurpose>Insert string at current position, moving rest of line right </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_insstr</function></funcdef>
<paramdef>string <parameter>text</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-instr">
<refnamediv>
<refname>ncurses_instr</refname>
<refpurpose>Reads string from terminal screen </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_instr</function></funcdef>
<paramdef>string <parameter>buffer</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_instr</function> returns the number of
charaters read from the current character position until end of
line.
<parameter>buffer</parameter> contains the characters. Atrributes
are stripped from the characters.
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-keyok">
<refnamediv>
<refname>ncurses_keyok</refname>
<refpurpose>Enable or disable a keycode </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_keyok</function></funcdef>
<paramdef>int <parameter>keycode</parameter></paramdef>
<paramdef>bool <parameter>enable</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-mouseinterval">
<refnamediv>
<refname>ncurses_mouseinterval</refname>
<refpurpose>Set timeout for mouse button clicks </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_mouseinterval</function></funcdef>
<paramdef>int <parameter>milliseconds</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-move">
<refnamediv>
<refname>ncurses_move</refname>
<refpurpose>Move output position </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_move</function></funcdef>
<paramdef>int <parameter>y</parameter></paramdef>
<paramdef>int <parameter>x</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-mvaddch">
<refnamediv>
<refname>ncurses_mvaddch</refname>
<refpurpose>Move current position and add character </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_mvaddch</function></funcdef>
<paramdef>int <parameter>y</parameter></paramdef>
<paramdef>int <parameter>x</parameter></paramdef>
<paramdef>int <parameter>c</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-mvaddchnstr">
<refnamediv>
<refname>ncurses_mvaddchnstr</refname>
<refpurpose>Move position and add attrributed string with specified length </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_mvaddchnstr</function></funcdef>
<paramdef>int <parameter>y</parameter></paramdef>
<paramdef>int <parameter>x</parameter></paramdef>
<paramdef>string <parameter>s</parameter></paramdef>
<paramdef>int <parameter>n</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-mvaddchstr">
<refnamediv>
<refname>ncurses_mvaddchstr</refname>
<refpurpose>Move position and add attributed string </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_mvaddchstr</function></funcdef>
<paramdef>int <parameter>y</parameter></paramdef>
<paramdef>int <parameter>x</parameter></paramdef>
<paramdef>string <parameter>s</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-mvaddnstr">
<refnamediv>
<refname>ncurses_mvaddnstr</refname>
<refpurpose>Move position and add string with specified length </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_mvaddnstr</function></funcdef>
<paramdef>int <parameter>y</parameter></paramdef>
<paramdef>int <parameter>x</parameter></paramdef>
<paramdef>string <parameter>s</parameter></paramdef>
<paramdef>int <parameter>n</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-mvaddstr">
<refnamediv>
<refname>ncurses_mvaddstr</refname>
<refpurpose>Move position and add string </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_mvaddstr</function></funcdef>
<paramdef>int <parameter>y</parameter></paramdef>
<paramdef>int <parameter>x</parameter></paramdef>
<paramdef>string <parameter>s</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-mvcur">
<refnamediv>
<refname>ncurses_mvcur</refname>
<refpurpose>Move cursor immediately </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_mvcur</function></funcdef>
<paramdef>int <parameter>old_y</parameter></paramdef>
<paramdef>int <parameter>old_x</parameter></paramdef>
<paramdef>int <parameter>new_y</parameter></paramdef>
<paramdef>int <parameter>new_x</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-mvdelch">
<refnamediv>
<refname>ncurses_mvdelch</refname>
<refpurpose>Move position and delete character, shift rest of line left </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_mvdelch</function></funcdef>
<paramdef>int <parameter>y</parameter></paramdef>
<paramdef>int <parameter>x</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-mvgetch">
<refnamediv>
<refname>ncurses_mvgetch</refname>
<refpurpose>Move position and get character at new position </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_mvgetch</function></funcdef>
<paramdef>int <parameter>y</parameter></paramdef>
<paramdef>int <parameter>x</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-mvhline">
<refnamediv>
<refname>ncurses_mvhline</refname>
<refpurpose>Set new position and draw a horizontal line using an attributed character and max. n characters long </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_mvhline</function></funcdef>
<paramdef>int <parameter>y</parameter></paramdef>
<paramdef>int <parameter>x</parameter></paramdef>
<paramdef>int <parameter>attrchar</parameter></paramdef>
<paramdef>int <parameter>n</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-mvinch">
<refnamediv>
<refname>ncurses_mvinch</refname>
<refpurpose>Move position and get attributed character at new position </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_mvinch</function></funcdef>
<paramdef>int <parameter>y</parameter></paramdef>
<paramdef>int <parameter>x</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-mvvline">
<refnamediv>
<refname>ncurses_mvvline</refname>
<refpurpose>Set new position and draw a vertical line using an attributed character and max. n characters long </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_mvvline</function></funcdef>
<paramdef>int <parameter>y</parameter></paramdef>
<paramdef>int <parameter>x</parameter></paramdef>
<paramdef>int <parameter>attrchar</parameter></paramdef>
<paramdef>int <parameter>n</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-mvwaddstr">
<refnamediv>
<refname>ncurses_mvwaddstr</refname>
<refpurpose>Add string at new position in window </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_mvwaddstr</function></funcdef>
<paramdef>resource <parameter>window</parameter></paramdef>
<paramdef>int <parameter>y</parameter></paramdef>
<paramdef>int <parameter>x</parameter></paramdef>
<paramdef>string <parameter>text</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-napms">
<refnamediv>
<refname>ncurses_napms</refname>
<refpurpose>Sleep </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_napms</function></funcdef>
<paramdef>int <parameter>milliseconds</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-newwin">
<refnamediv>
<refname>ncurses_newwin</refname>
<refpurpose>Create a new window </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_newwin</function></funcdef>
<paramdef>int <parameter>rows</parameter></paramdef>
<paramdef>int <parameter>cols</parameter></paramdef>
<paramdef>int <parameter>y</parameter></paramdef>
<paramdef>int <parameter>x</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-noqiflush">
<refnamediv>
<refname>ncurses_noqiflush</refname>
<refpurpose>Do not flush on signal characters</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_noqiflush</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-putp">
<refnamediv>
<refname>ncurses_putp</refname>
<refpurpose></refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_putp</function></funcdef>
<paramdef>string <parameter>text</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-qiflush">
<refnamediv>
<refname>ncurses_qiflush</refname>
<refpurpose>Flush on signal characters </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_qiflush</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-refresh">
<refnamediv>
<refname>ncurses_refresh</refname>
<refpurpose>Refresh screen </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_refresh</function></funcdef>
<paramdef>int <parameter>ch</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-scr-dump">
<refnamediv>
<refname>ncurses_scr_dump</refname>
<refpurpose>Dump screen content to file </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_scr_dump</function></funcdef>
<paramdef>string <parameter>filename</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-scr-init">
<refnamediv>
<refname>ncurses_scr_init</refname>
<refpurpose>Initialize screen from file dump </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_scr_init</function></funcdef>
<paramdef>string <parameter>filename</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-scr-restore">
<refnamediv>
<refname>ncurses_scr_restore</refname>
<refpurpose>Restore screen from file dump </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_scr_restore</function></funcdef>
<paramdef>string <parameter>filename</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-scr-set">
<refnamediv>
<refname>ncurses_scr_set</refname>
<refpurpose>Inherit screen from file dump </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_scr_set</function></funcdef>
<paramdef>string <parameter>filename</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-scrl">
<refnamediv>
<refname>ncurses_scrl</refname>
<refpurpose>Scroll window content up or down without changing current position </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_scrl</function></funcdef>
<paramdef>int <parameter>count</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-slk-attroff">
<refnamediv>
<refname>ncurses_slk_attroff</refname>
<refpurpose></refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_slk_attroff</function></funcdef>
<paramdef>int <parameter>intarg</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-slk-attron">
<refnamediv>
<refname>ncurses_slk_attron</refname>
<refpurpose></refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_slk_attron</function></funcdef>
<paramdef>int <parameter>intarg</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-slk-attrset">
<refnamediv>
<refname>ncurses_slk_attrset</refname>
<refpurpose></refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_slk_attrset</function></funcdef>
<paramdef>int <parameter>intarg</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-slk-color">
<refnamediv>
<refname>ncurses_slk_color</refname>
<refpurpose></refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_slk_color</function></funcdef>
<paramdef>int <parameter>intarg</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-standend">
<refnamediv>
<refname>ncurses_standend</refname>
<refpurpose>Stop using 'standout' attribute </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_standend</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-standout">
<refnamediv>
<refname>ncurses_standout</refname>
<refpurpose>Start using 'standout' attribute </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_standout</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-start-color">
<refnamediv>
<refname>ncurses_start_color</refname>
<refpurpose>Start using colors </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_start_color</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-typeahead">
<refnamediv>
<refname>ncurses_typeahead</refname>
<refpurpose>Specify different filedescriptor for typeahead checking </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_typeahead</function></funcdef>
<paramdef>int <parameter>fd</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-ungetch">
<refnamediv>
<refname>ncurses_ungetch</refname>
<refpurpose>Put a character back into the input stream </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_ungetch</function></funcdef>
<paramdef>int <parameter>keycode</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-use-extended-names">
<refnamediv>
<refname>ncurses_use_extended_names</refname>
<refpurpose>Control use of extended names in terminfo descriptions </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_use_extended_names</function></funcdef>
<paramdef>bool <parameter>flag</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-vidattr">
<refnamediv>
<refname>ncurses_vidattr</refname>
<refpurpose></refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_vidattr</function></funcdef>
<paramdef>int <parameter>intarg</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-vline">
<refnamediv>
<refname>ncurses_vline</refname>
<refpurpose>Draw a vertical line at current position using an attributed character and max. n characters long </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_vline</function></funcdef>
<paramdef>int <parameter>charattr</parameter></paramdef>
<paramdef>int <parameter>n</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-wrefresh">
<refnamediv>
<refname>ncurses_wrefresh</refname>
<refpurpose>Refresh window on terminal screen </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_wrefresh</function></funcdef>
<paramdef>resource <parameter>window</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-bkgdset">
<refnamediv>
<refname>ncurses_bkgdset</refname>
<refpurpose>Control screen background </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>ncurses_bkgdset</function></funcdef>
<paramdef>int <parameter>attrchar</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-timeout">
<refnamediv>
<refname>ncurses_timeout</refname>
<refpurpose>Set timeout for special key sequences </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>ncurses_timeout</function></funcdef>
<paramdef>int <parameter>millisec</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-use-env">
<refnamediv>
<refname>ncurses_use_env</refname>
<refpurpose>Control use of environment information about terminal size </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>ncurses_use_env</function></funcdef>
<paramdef>bool <parameter>flag</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
undocumented
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-termname">
<refnamediv>
<refname>ncurses_termname</refname>
<refpurpose>Returns terminals (short)-name</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>ncurses_termname</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_termname</function> returns terminals
shortname. The shortname is truncated to 14 characters.
On error <function>ncurses_termname</function> returns NULL.
</para>
<para>
See also: <function>ncurses_longname</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-longname">
<refnamediv>
<refname>ncurses_longname</refname>
<refpurpose>Returns terminals description</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>ncurses_longname</function></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_longname</function> returns a verbose
description of the terminal. The descritpion is truncated to 128
characters.
On Error <function>ncurses_longname</function> returns NULL.
</para>
<para>
See also: <function>ncurses_termname</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-mousemask">
<refnamediv>
<refname>ncurses_mousemask</refname>
<refpurpose>Sets mouse options</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>int <function>ncurses_mousemask</function></funcdef>
<paramdef>int <parameter>newmask</parameter></paramdef>
<paramdef>int <parameter>oldmask</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
Function <function>ncurses_mousemask</function> will set mouse events
to be reported. By default no mouse events will be reported. The
function <function>ncurses_mousemask</function> will return a
mask to indicated which of the in parameter
<parameter>newmask</parameter>
specified mouse events can be reported. On complete failure, it
returns 0. In parameter <parameter>oldmask</parameter>, which is
passed by reference <function>ncurses_mousemask</function>
returns the previous value of mouse event mask.
Mouse events are represented bei NCURSES_KEY_MOUSE in the
<function>ncurses_wgetch</function> input stream. To read the
event data and pop the event of of queue, call
<function>ncurses_getmouse</function>.
</para>
<para>
As a side effect, setting a zero mousemask in
<parameter>newmask</parameter> turns off the mouse
pointer. Setting a non zero value turns mouse pointer on.
</para>
<para>
mouse mask options can be set with the following predefined
constants:
<itemizedlist>
<listitem><para>NCURSES_BUTTON1_PRESSED</para></listitem>
<listitem><para>NCURSES_BUTTON1_RELEASED</para></listitem>
<listitem><para>NCURSES_BUTTON1_CLICKED</para></listitem>
<listitem><para>NCURSES_BUTTON1_DOUBLE_CLICKED</para></listitem>
<listitem><para>NCURSES_BUTTON1_TRIPLE_CLICKED</para></listitem>
<listitem><para>NCURSES_BUTTON2_PRESSED</para></listitem>
<listitem><para>NCURSES_BUTTON2_RELEASED</para></listitem>
<listitem><para>NCURSES_BUTTON2_CLICKED</para></listitem>
<listitem><para>NCURSES_BUTTON2_DOUBLE_CLICKED</para></listitem>
<listitem><para>NCURSES_BUTTON2_TRIPLE_CLICKED</para></listitem>
<listitem><para>NCURSES_BUTTON3_PRESSED</para></listitem>
<listitem><para>NCURSES_BUTTON3_RELEASED</para></listitem>
<listitem><para>NCURSES_BUTTON3_CLICKED</para></listitem>
<listitem><para>NCURSES_BUTTON3_DOUBLE_CLICKED</para></listitem>
<listitem><para>NCURSES_BUTTON3_TRIPLE_CLICKED</para></listitem>
<listitem><para>NCURSES_BUTTON4_PRESSED</para></listitem>
<listitem><para>NCURSES_BUTTON4_RELEASED</para></listitem>
<listitem><para>NCURSES_BUTTON4_CLICKED</para></listitem>
<listitem><para>NCURSES_BUTTON4_DOUBLE_CLICKED</para></listitem>
<listitem><para>NCURSES_BUTTON4_TRIPLE_CLICKED</para></listitem>
<listitem><para>NCURSES_BUTTON_SHIFT></para></listitem>
<listitem><para>NCURSES_BUTTON_CTRL</para></listitem>
<listitem><para>NCURSES_BUTTON_ALT</para></listitem>
<listitem><para>NCURSES_ALL_MOUSE_EVENTS</para></listitem>
<listitem><para>NCURSES_REPORT_MOUSE_POSITION</para></listitem>
</itemizedlist>
</para>
<para>
See also: <function>ncurses_getmouse</function>,
<function>ncurses_ungetmouse</function>
<function>ncurese_getch</function>
</para>
<para>
<example>
<title><function>ncurses_mousemask</function> example</title>
<programlisting role="php">
<![CDATA[
$newmask = NCURSES_BUTTON1_CLICKED + NCURSES_BUTTON1_RELEASED;
$mask = ncurses_mousemask($newmask, &$oldmask);
if ($mask & $newmask){
printf ("All specified mouse options will be supported\n");
}
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-getmouse">
<refnamediv>
<refname>ncurses_getmouse</refname>
<refpurpose>Reads mouse event</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_getmouse</function></funcdef>
<paramdef>array <parameter>mevent</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_getmouse</function> reads mouse event out of
queue. Function <function>ncurses_getmouse</function> will return
;&false; if a mouse event is actually visible in the given
window, otherwise it will return &true;.
Event options will be delivered in parameter
<parameter>mevent</parameter>, which has to be an array, passed
by reference (see example below).
On success an associative array with following keys will be
delivered:
<itemizedlist>
<listitem><para>"id" : Id to distinguish multiple
devices</para></listitem>
<listitem><para>"x" : screen relative x-position in character
cells</para></listitem>
<listitem><para>"y" : screen relative y-position in character
cells</para></listitem>
<listitem><para>"z" : currently not supported</para></listitem>
<listitem><para>"mmask" : Mouse action</para></listitem>
</itemizedlist>
</para>
<para>
<example>
<title><function>ncurses_getmouse</function> example</title>
<programlisting role="php">
<![CDATA[
switch (ncurses_getch){
case NCURSES_KEY_MOUSE:
if (!ncurses_getmouse(&$mevent)){
if ($mevent["mmask"] & NCURSES_MOUSE_BUTTON1_PRESSED){
$mouse_x = $mevent["x"]; // Save mouse position
$mouse_y = $mevent["y"];
}
}
break;
default:
....
}
]]>
</programlisting>
</example>
</para>
<para>
See also: <function>ncurses_ungetmouse</function>
</para>
</refsect1>
</refentry>
<refentry id="function.ncurses-ungetmouse">
<refnamediv>
<refname>ncurses_ungetmouse</refname>
<refpurpose>Pushes mouse event to queue</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>ncurses_ungetmouse</function></funcdef>
<paramdef>array <parameter>mevent</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
<function>ncurses_getmouse</function> pushes a KEY_MOUSE event
onto the unput queue and associates with this event the given
state sata and screen-relative character cell coordinates,
specified in <parameter>mevent</parameter>.
Event options will be specified in associative array
<parameter>mevent</parameter>:
<itemizedlist>
<listitem><para>"id" : Id to distinguish multiple
devices</para></listitem>
<listitem><para>"x" : screen relative x-position in character
cells</para></listitem>
<listitem><para>"y" : screen relative y-position in character
cells</para></listitem>
<listitem><para>"z" : currently not supported</para></listitem>
<listitem><para>"mmask" : Mouse action</para></listitem>
</itemizedlist>
</para>
<para>
<function>ncurses_ungetmouse</function> returns &false; on
success, otherwise &true;.
</para>
<para>
See also: <function>ncurses_getmouse</function>
</para>
</refsect1>
</refentry>
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->